1. シミュレーション テスト システム
加盟店のテストの敷居を下げるために、WeChat 決済チームは独立したシミュレーション テスト システムを開発しました。システムは、正常機能テスト、セキュリティ/異常テスト、パフォーマンステストなど、加盟店のニーズを満たすために、受け入れユースケースの量に基づいて異なる応答メッセージを返します。
図 1 WeChat 支払いシミュレーション テスト システム
図 1 は、WeChat 支払いシミュレーション テスト システム (以下、シミュレーション システムと呼びます) の概略図です。シミュレーションシステムのAPIプロトコルは公式APIと全く同じです。マーチャント開発者は、正式な API 呼び出し URL にサンドボックス新しいパスを追加するだけで、シミュレーション システムに接続できます。
たとえば、クレジット カード支払い URL: api.mch.weixin.qq.com/pay/micropay
は、api.mch.weixin.qq.com/sandboxnew/pay/micropay に変更されます。
シミュレーション システムは、ストレージ レイヤーを含む運用環境から完全に独立しています。シミュレーション システムで販売者によって行われたすべての取引 (注文、支払い、クエリなど) は資金の流れのない偽のデータです。つまり、ユーザーは実際の控除を行う必要がなく、販売者は自分のアカウントに資金を入金することはできません。 。サンドボックス環境では、販売者は実際にバウチャーを作成して発行する必要がなく、実質的な控除はありません。受け入れシミュレーションテストシステムの API 検証キーは API から取得する必要があります:
検証キー API を取得:
Request Url: | api.mch.weixin.qq.com/sandboxnew/pay /getsignkey |
---|---|
証明書は必要ですか | いいえ |
リクエストメソッド | POST |
フィールド | 必須 | 値の例 | タイプ | 説明 | |
---|---|---|---|---|---|
mch_id | は | 1305638280 | 文字列です(32) | WeChat 決済によって割り当てられた WeChat 販売者番号 | |
文字列 | nonce_strは | 5K8264ILTKCH16CQ2502SI8ZNMTM67VS | 文字列(32) | ランダムな文字列、32 文字以内 | |
sign | は | 5K8264ILTKCH16CQ2502SI8ZNMTM67VS | String(32) | 署名値 |
フィールド名 | フィールド | 必須 | 値の例 | タイプ | 説明 |
---|---|---|---|---|---|
戻り値ステータスコード | return_code | は | 成功 | String(16) | SUCCESS/FAIL このフィールドはトランザクション識別子ではなく通信識別子です |
情報を返す | return_msg | No | 署名が失敗しました | String(128) | 空でない場合は情報を返します, エラーの理由は、署名が失敗し、パラメーター形式の検証が間違っていたためです |
return_code が SUCCESS の場合、次のフィールドが返されます。
フィールド名 | フィールド | 必須 | 値の例 | タイプ | 説明 |
---|---|---|---|---|---|
販売者番号 | mch_id | は | 13056 38280 | String(32) | WeChat 支払い分布WeChat 販売アカウント |
サンドボックス キー | sandbox_signkey | No | 013467007045764 | String(32) | 返されたサンドボックス キー |
販売者がシミュレーション システムにアクセスするための対話プロセスの例:
1. 販売者はカード支払いリクエストを開始し、POST メソッドを使用して api.mch.weixin.qq.com/sandboxnew/pay/micropay を呼び出します
2. https with sandboxnew リクエストは nginx によってシミュレーション システムにルーティングされます。シミュレーション システムは、支払い金額 (total_fee フィールド) に基づいて、予想されるメッセージを販売者に返します。同時に、リクエスト データが受信されます。
3. 販売者は注文クエリを開始し、api.mch.weixin.qq.com/sandboxnew/pay/orderquery を呼び出し、WeChat 注文番号 (transaction_id) を送信します。販売者の内部注文番号 (out_trade_no )
4. 注文確認リクエストを受信した後、販売者は注文番号と金額に基づいて予想される注文確認結果を販売者に返します。 .mch.weixin.qq.com/
sandboxnew /pay/downloadbill、シミュレーション システムは固定の請求書形式を販売者に返します。注: 請求書の内容は、販売者がシミュレーション システムで生成したトランザクションとまったく同じである必要はありません。
インターフェースクラスを使用すると、数行のコードを実装できます
//1.5 沙箱密钥$obj = array();$obj['mch_id'] = MCHID;$url = 'https://api.mch.weixin.qq.com/sandboxnew/pay/getsignkey';$wxHongBaoHelper = new WxPay();$data = $wxHongBaoHelper->wxpay($url, $obj, false);$res = $wxHongBaoHelper->xmlToArray($data);
array(3) { ["return_code"]=> string(7) "SUCCESS" ["return_msg"]=> string(2) "ok" ["sandbox_signkey"]=> string(32) "4d827419cb511d8f6ccc35d574ff1f7b"}
WeChatパブリックアカウントプラットフォームソースコードダウンロード
2.以上がWeChat 決済開発のためのサンドボックスの主要な手順の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。