WeChat에서는 WeChat 결제 호출을 위해 JS SDK를 제공하여 WeChat에서 WeChat 결제 호출 기능을 구현하는 데 도움을 줍니다. 구체적인 구현 단계는 다음과 같습니다.
첫 번째 단계는 WeChat 결제를 구현하는 데 필요한 패키지를 설치하는 것입니다.
우리는 여전히 Omnipay Wechat을 사용합니다. Pay Bao Lai는 WeChat 결제를 구현하는 데 도움을 줍니다. 실제로 이전 기본 스캔 코드 결제 방법과 유사하지만 사용되는 인터페이스가 다릅니다. 다음은 제가 개발한 WeChat 웹사이트에서 사용된 라이브러리입니다. 말할 필요도 없이 처음 두 개는 WeChat 결제에 사용되는 Omnipay 라이브러리입니다. WordPress Dispatcher는 사용자 정의 URL을 구현하는 데 사용되는 WordPress 라우터 시스템입니다. Valitron은 주로 사용자가 제출한 데이터를 확인하는 데 사용됩니다.
"require": { "omnipay/omnipay": "~2.0", "lokielse/omnipay-wechatpay": "^1.0", "thefold/wordpress-dispatcher": "^1.0", "vlucas/valitron": "^1.2", },
작성기 설치 명령을 실행하세요. 설치가 완료되면 자동 로딩 파일을 테마나 플러그인에 추가하세요.
require_once( get_template_directory() . '/vendor/autoload.php' );
프런트 엔드 구현: WeChat JS SDK 구성 및 WeChat 결제 구현
여기에 있는 jssdk.php는 WeChat 공식에서 제공하며 다음과 같습니다. WeChat JS SDK 초기화를 위한 서명 패키지를 제공하기 위해 구현되었습니다. 위챗 결제를 구현해야 하는 페이지에 이 파일을 삽입한 후 JSSDK 클래스를 초기화합니다.
require_once( get_template_directory() . '/inc/jssdk.php' ); $jssdk = new JSSDK( "xxxxx", "xxxxxxxxxxxxxxxx" ); $signPackage = $jssdk->GetSignPackage();
WeChat JS SDK 초기화, WeChat 결제 수단을 호출하여 WeChat 결제 구현
우선 WeChat JS SDK가 페이지 JavaScript 파일 jweixin-1.0.0.js의 헤드에 있습니다. 위에서 얻은 $signPackage를 기반으로 아래 코드에서 다음 작업을 완료했습니다.
wx.config를 사용하여 js SDK를 초기화하고 wx.ready를 사용하여 js SDK가 성공적으로 초기화되었는지 확인하면 WeChat js SDK에서 제공하는 인터페이스를 사용하여 작동할 수 있습니다. 결제 버튼을 클릭하면 Ajax 요청이 서버로 전송되어 WeChat 주문을 받은 다음 wx.chooseWXPay를 사용하여 WeChat 비밀번호를 입력하기 위해 WeChat에서 볼 수 있는 팝업 인터페이스인 WeChat 결제를 시작합니다.
jQuery(document).ready(function ($) { // 配置 js sdk wx.config({ debug: false, appId: '<?php echo $signPackage[ "appId" ];?>', timestamp: <?php echo $signPackage[ "timestamp" ];?>, nonceStr: '<?php echo $signPackage[ "nonceStr" ];?>', signature: '<?php echo $signPackage[ "signature" ];?>', jsApiList: ['chooseWXPay'] // 这里的 jsApiList 需要什么就填写什么 }); // 一定要检查 js sdk 是否已经准备好了 wx.ready(function () { $("#topay").click(function () { $.ajax({ url: '/order/', type: 'POST', dataType: 'json', data: $("#wepay").serialize(), success: function (order) { var params = { 'timestamp': order.timeStamp, 'nonceStr': order.nonceStr, 'package': order.package, 'signType': order.signType, 'paySign': order.paySign }; wx.chooseWXPay(params); }, error: function (order) { c-alert(order.message); } }); return false; }); });});
다음 상황에서는 결제창이 깜박였다가 사라집니다
위챗에서 위챗 결제를 테스트하다 보면 위챗 결제가 자주 발생합니다 창이 깜박입니다 가 사라지며, 결제 비밀번호 입력 인터페이스가 보이지 않는 경우, 가능한 이유는 다음과 같으니 주의 깊게 확인해 주시기 바랍니다.
jssdk가 구성되지 않았습니다. 위 코드에서 wx.config 및 wx.readyAjax가 반환한 데이터가 잘못된지 확인하세요. Ajax 요청의 반환 데이터에 잘못된 도메인 이름 보안 설정이 있는지 확인하세요. WeChat 관리 백그라운드에서 보안 도메인 이름이 올바르게 설정되었는지 확인하십시오. 테스트 도메인 이름이 보안 도메인 이름에 추가되었습니다
백엔드 구현: 주문 데이터 확인 및 전송 # 🎜🎜#
백엔드 구현은 매우 간단합니다. 위의 Ajax를 받기만 하면 됩니다. 제출된 데이터는 WeChat 결제에 필요한 Json 데이터에 대해 처리되고 주문은 사이트 데이터베이스에 저장됩니다. 후속 쿼리 및 후속 알림 콜백.// 获取微信支付网关的函数function get_wechat_gateway() { $gateway = Omnipay::create( 'WechatPay_Js' ); $gateway->setAppId( ' xxxxxxxx' ); $gateway->setMchId( 'xxxxxxxx' ); $gateway->setApiKey( 'xxxxxxxx' ); //注意这里的 ApiKey 是我们在微信商户后台设置的一个32位的随机字符串,和微信公众号里面的 App Secrit 不是一回事。 return $gateway;}/** * 处理订单信息, 跳转到微信支付 */new Dispatch( [ 'wepay/order' => function ( $request ) { // 检查用户提交的数据是否有错,如果有错误,返回错误信息 $v = new Validator( $_POST ); $v->rule( 'required', [ 'count', 'buyer_name', 'buyer_phone', 'buyer_address' ] ); if ( ! $v->validate() ) { $msg = [ 'success' => '0', 'message' => '下单失败, 请检查所有必填项。', ]; wp_send_json( $msg ); } $user = wp_get_current_user(); $req = Request::createFromGlobals(); $pid = $req->get( 'pid' ); $count = $req->get( 'count' ); $open_id = $req->cookies->get( 'open_id' ); $prod = get_post( $pid ); $price = get_post_meta( $pid, '_prod_price', true ); $total_fee = $price * $count * 100; $tn = date( 'YmdHis' ) . mt_rand( 1000, 9999 ); // 在实际开发过程中,我们需要把用户提交的订单数据保存到数据库一份 // 订单参数 $order = [ 'body' => $prod->post_title', 'out_trade_no' => $tn, 'total_fee' => $total_fee, 'spbill_create_ip' => wizhi_get_real_ip(), 'fee_type' => 'CNY', 'open_id' => $open_id, ]; // 发送支付请求到微信并获取返回信息 $gateway = get_wechat_gateway(); $gateway->setNotifyUrl( 'https://www.wpzhiku.com/order/return' ); $response = $gateway->purchase( $order )->send(); $wechat_return = $response->getJsOrderData(); wp_send_json( $wechat_return ); },] );WeChat 결제 성공 알림을 수락하면 자동으로 주문이 완료되거나 자동으로 충전됩니다. 결제가 완료되면 WeChat에서 제공한 알림 URL로 결제 성공 알림이 전송됩니다. 자동으로 주문을 완료하거나 반환된 콘텐츠에 따라 자동으로 충전할 수 있습니다. 여기서 주목해야 할 두 가지 사항이 있습니다. 알림 URL에 액세스할 수 있어야 합니다. 액세스할 수 없는 경우 WeChat은 알림을 보내지 않습니다. 결제 URL 과 동일한 디렉토리에 있어야 합니다. 위챗 공식에서 제공하는 SDK 및 인터페이스 데이터는 매우 비표준적이므로 코드의 대문자 사용에 주의해야 합니다. 문제가 있는 경우, 제공된 WeChat 공식 담당자에게 문의하시기 바랍니다. 개발 문서와 비교하여, 귀하가 사용하는 언어 또는 개발 프레임워크가 WeChat 개발에 사용되는 라이브러리를 제공하는 경우 이러한 라이브러리를 개발에 직접 사용하는 것이 좋습니다. WeChat이 우리를 위해 파놓은 크고 작은 다양한 구덩이를 통해 디버깅의 어려움을 줄이고 개발 속도를 높일 수 있습니다. 더 많은 WordPress 관련 기술 기사를 보려면
wordpress tutorial 열을 방문하여 알아보세요!
위 내용은 WordPress에서 WeChat 결제를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

WordPress 웹 사이트에서 "데이터베이스 연결 설정 오류"오류 페이지를 보셨습니까? 이 메시지를 표시하는 데는 몇 가지 이유가 있지만 매력적이지 않으며 방문자를 혼동 할 수 있습니다. 또한 웹 사이트를 방문하여 메시지를 볼 때까지 웹 사이트가 닫혀 있음을 알지 못할 것입니다. 이 기사에서는 WordPress에서 데이터베이스 오류 페이지를 사용자 정의하는 방법을 보여줍니다. 또한 데이터베이스 오류로 인해 웹 사이트가 닫힐 때마다 알림을 설정하는 방법도 보여줍니다. 데이터베이스 연결을 설정하는 데 오류가 발생한 이유는 무엇입니까? "데이터베이스 연결을 설정하는 오류"는 가장 일반적인 WordPress 오류 중 하나입니다.

WordPress Post가 사이트에서 404 오류를 반환 했습니까? 이 오류는 WordPress Admin 영역 및 블로그에 액세스 할 때 발생하지만 게시물을 열려고하면 "404를 찾을 수 없습니다"가 표시됩니다. 이 기사에서는 404 오류를 반환하는 WordPress 게시물을 수정하는 방법을 보여줍니다. WordPress 게시물이 404 오류를 반환하게하는 원인은 무엇입니까? WordPress는 강력한 컨텐츠 관리 시스템 (CMS)이지만 사소한 변경 사항은 때때로 WordPress로 이어질 수 있습니다.

2025 년에는 완벽한 WordPress 테마를 선택하는 것이 더 이상 우선 순위가 아닙니다. 진정한 과제는 현재 프로젝트의 요구를 충족시키고 미래의 요구의 진화에 적응할 수있을만큼 유연한 주제를 선택하는 것입니다. 좋은 소식은 처음부터 시작할 필요가 없다는 것입니다. 고객을위한 웹 사이트를 구축하든 자신의 디지털 제품을 확장하든, 다음 주제는 설계 자유, 기술 성능 및 장기 신뢰성 사이의 이상적인 균형을 유지합니다. 이 주제는 정기적 인 업데이트, 청정 코드, 모바일 우선 응답 디자인 및 Elementor, Gutenberg 및 WooCommerce와 같은 이미 사용하는 도구와의 호환성과 같은 중요한 요소를 이해하는 개발자에 의해 구축됩니다. 이 검토에서 우리는 범위를 9로 좁혔습니다.

블로그는 사람들이 자신의 의견, 의견 및 의견을 온라인으로 표현할 수있는 이상적인 플랫폼입니다. 많은 초보자들은 자체 웹 사이트를 구축하기를 간절히 원하지만 기술적 장벽이나 비용 문제에 대해 걱정하는 것을 주저합니다. 그러나 플랫폼이 초보자의 기능과 요구를 충족시키기 위해 계속 발전함에 따라 이제 그 어느 때보 다 쉬워지기 시작했습니다. 이 기사에서는 테마 선택에서 플러그인 사용, 보안 및 성능 향상에 이르기까지 WordPress 블로그를 작성하는 방법을 단계별로 안내하여 자신의 웹 사이트를 쉽게 만들 수 있습니다. 블로그 주제와 방향을 선택하십시오 도메인 이름을 구매하거나 호스트를 등록하기 전에 다루려는 주제를 식별하는 것이 가장 좋습니다. 개인 웹 사이트는 여행, 요리, 제품 리뷰, 음악 또는 귀하의 관심사를 불러 일으키는 취미와 관련하여 회전 할 수 있습니다. 진정으로 관심이있는 영역에 중점을두면 지속적인 글쓰기를 장려 할 수 있습니다.

3 일 이내에 WordPress를 배울 수 있습니다. 1. 테마, 플러그인 등과 같은 마스터 기본 지식 2. 설치 및 작업 원칙을 포함한 핵심 기능을 이해하십시오. 3. 예제를 통해 기본 및 고급 사용법을 배우십시오. 4. 디버깅 기술 및 성능 최적화 제안을 이해하십시오.

WordPress는 CMS (Content Management System)입니다. 웹 사이트 콘텐츠의 생성 및 관리를 지원하기 위해 컨텐츠 관리, 사용자 관리, 테마 및 플러그인 기능을 제공합니다. 작업 원칙에는 데이터베이스 관리, 템플릿 시스템 및 플러그인 아키텍처가 포함되며 블로그에서 회사 웹 사이트에 이르기까지 다양한 요구에 적합합니다.

WordPressIsGoodForVirtSallyWebProjectDueToitsAcms.itexcelsin : 1) 사용자 친화적 인, easywebsiteseSetup; 2) 유연성 및 커스텀 화를 허용합니다

WIX는 프로그래밍 경험이없는 사용자에게 적합하며 WordPress는 더 많은 제어 및 확장 기능을 원하는 사용자에게 적합합니다. 1) Wix는 드래그 앤 드롭 편집자와 풍부한 템플릿을 제공하여 웹 사이트를 신속하게 구축 할 수 있습니다. 2) 오픈 소스 CMS로서 WordPress는 거대한 커뮤니티 및 플러그인 생태계를 보유하고 있으며 심층적 인 사용자 정의 및 확장을 지원합니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구
