>위챗 애플릿 >미니 프로그램 개발 >WeChat Mini 프로그램 결제 프로세스

WeChat Mini 프로그램 결제 프로세스

迷茫
迷茫원래의
2017-03-25 16:19:462460검색

결제 단계 로직:

1. 미니 프로그램이 선불 요청을 시작합니다.

2. 서버가 인터페이스를 호출하여 선불 결제 정보를 시작합니다

3. WeChat 애플릿이 결제를 호출하여 결제를 완료합니다

1. 미니 프로그램에서 선불 결제를 시작합니다

WeChat Mini 프로그램 결제 프로세스

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 서명 생성 방법입니다. 프레임워크에 따라 수정이 가능합니다.

🎜>
통합주문 API 호출

 /**
     * 生成签名
     * @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를 호출하여
3. WeChat 애플릿이 결제를 호출하고 결제를 완료합니다.

참고: 결제가 성공한 후 WeChat은 서명 확인을 알리기 위해 다시 전화합니다. 필수 매개변수는 서명 필드를 제외한 모든 반환 매개변수 필드이며, 생성된 서명 = 반환된 필드의 서명(서명)


위 내용은 WeChat Mini 프로그램 결제 프로세스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.