ホームページ >WeChat アプレット >ミニプログラム開発 >WeChat ミニ プログラムの支払いプロセス

WeChat ミニ プログラムの支払いプロセス

迷茫
迷茫オリジナル
2017-03-25 16:19:462460ブラウズ

支払いステップロジック:

1. ミニプログラムは前払いのリクエストを開始します

2. サーバーは前払い情報を開始するインターフェースを呼び出します

3.支払いを完了するための支払い

1. ミニプログラムは前払いのリクエストを開始します

WeChat ミニ プログラムの支払いプロセス

受信後、サーバーはインターフェースを呼び出します。リクエストにより、サーバーは WeChat API インターフェイスを呼び出し、呼び出しが成功すると、ミニ プログラムの前払い ID に相当する prepay_id を取得します。署名はプロセス中に生成されます。公式ドキュメントのインスタンスパラメータが必要ない場合は、入力しないことを選択して、API に XML を送信できます。

署名生成方法はパブリックアカウント生成方法と同じであることに注意してください。以下は、署名を生成するためのPHPメソッドです。キーを変更することを忘れないでください。

<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>

統合注文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 コールバック通知の署名が検証され、必要なパラメータは次のとおりです。 all 返されたパラメーター フィールドは、署名フィールドを削除し、返されたフィールドの署名 = 署名を生成します


以上がWeChat ミニ プログラムの支払いプロセスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。