결제 단계 로직:
1. 미니 프로그램이 선불 요청을 시작합니다.
2. 서버가 인터페이스를 호출하여 선불 결제 정보를 시작합니다
3. WeChat 애플릿이 결제를 호출하여 결제를 완료합니다
1. 미니 프로그램에서 선불 결제를 시작합니다
2. 서버는 선불 정보를 시작하기 위해 인터페이스를 호출합니다
요청을 받은 후 서버는 호출이 성공하면 prepay_id를 WeChat API 인터페이스로 호출합니다. 이는 미니 프로그램의 선불 ID 프로세스와 동일하며, 공식 문서의 인스턴스 매개변수에 따라 생성하면 됩니다. , 그런 다음 API에 XML을 보냅니다
<xml> <appid>wx2421b1c4370ec43b</appid> <attach>支付测试</attach> <body>JSAPI支付测试</body> <mch_id>10000100</mch_id> <detail><![CDATA[{ "goods_detail":[ { "goods_id":"iphone6s_16G", "wxpay_goods_id":"1001", "goods_name":"iPhone6s 16G", "quantity":1, "price":528800, "goods_category":"123456", "body":"苹果手机" }, { "goods_id":"iphone6s_32G", "wxpay_goods_id":"1002", "goods_name":"iPhone6s 32G", "quantity":1, "price":608800, "goods_category":"123789", "body":"苹果手机" } ] }]]></detail> <nonce_str>1add1a30ac87aa2db72f57a2375d8fec</nonce_str> <notify_url>[url]http://wxpay.wxutil.com/pub_v2/pay/notify.v2.php</notify_url>[/url] <openid>oUpF8uMuAJO_M2pxb1Q9zNjWeS6o</openid> <out_trade_no>1415659990</out_trade_no> <spbill_create_ip>14.23.150.211</spbill_create_ip> <total_fee>1</total_fee> <trade_type>JSAPI</trade_type> <sign>0CB01533B8C1EF103065174F50BCA001</sign> </xml>
주의할 점은 사인 생성 방식은 공용 계정 생성 방식과 동일하다는 것입니다. 다음은 PHP 서명 생성 방법입니다. 프레임워크에 따라 수정이 가능합니다.
/** * 生成签名 * @return 签名,本函数不覆盖sign成员变量,如要设置签名需要调用SetSign方法赋值 */ public function MakeSign() { //签名步骤一:按字典序排序参数 ksort($this->_prepay); $string = $this->ToUrlParams(); //签名步骤二:在string后加入KEY $string = $string . "&key=".WxPayConfig::KEY; //签名步骤三:MD5加密 $string = md5($string); //签名步骤四:所有字符转为大写 $result = strtoupper($string); return $result; } /** * 格式化参数格式化成url参数 */ public function ToUrlParams() { $buff = ""; foreach ($this->values as $k => $v) { if($k != "sign" && $v != "" && !is_array($v)){ $buff .= $k . "=" . $v . "&"; } } $buff = trim($buff, "&"); return $buff; }
참고: 애플릿 서명을 반환하는 서명 생성과 관련된 필드는 아래와 같습니다. 키를 연결하고 반환된 값을 사용하세요. API를 호출하여
참고: 결제가 성공한 후 WeChat은 서명 확인을 알리기 위해 다시 전화합니다. 필수 매개변수는 서명 필드를 제외한 모든 반환 매개변수 필드이며, 생성된 서명 = 반환된 필드의 서명(서명)
위 내용은 WeChat Mini 프로그램 결제 프로세스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!