WeChat Payment APIv3 Postman リクエストの事前リクエスト スクリプト (Pre-Request Script)。
マーチャント開発者が迅速に開始できるように、スクリプトを Postman クラウド ワークベンチ WeChat Pay パブリック ワークスペースにデプロイします。スクリプトを手動でインポートする必要はなく、コレクション「WeChat Payment APIv3」をワークベンチにフォークするだけで、Postman 上で WeChat Payment APIv3 リクエストを簡単に構築して送信できます。
以下に示すように、ボタンをクリックしてウィザードに入ります。
Fork Collection
をクリックして次のステップに進み、ラベルFork Label
を入力して、宛先ワークWorkspace
ワークスペース] を選択します。通常の状況では、個人用ワークベンチ「My Workspace」をインポートするだけで十分です。
Fork Collection
クリックしてインポートを完了します。指定したワークスペースで「WeChat Payment APIv3」を確認できます。
スクリプトをローカルにインポートすることもできます。
環境は変数の集合です。 スクリプトは環境から変数を読み取り、それらを使用してリクエストの署名を計算します。
「WeChat Payment APIv3」が提供するマーチャントパラメータテンプレートから空の環境を独自のワークベンチにフォークできます。
次に、ワークベンチの「環境」で新しく作成した環境を見つけ、 Add a new varialbe
を追加します。
mchid
: 必須、販売者番号。merchant_serial_no
: 必須、販売者 API 証明書のシリアル番号。apiclient_key.pem
: 必須、PEM 形式のマーチャント API 秘密キー。警告安全のため、安全上の注意をよくお読みください。
一般的な構成セットを以下に示します。
注:リクエストの送信にはデスクトップ Postman アプリを使用することをお勧めします。これにより、より高速でエクスペリエンスが向上します。
次に、ワークベンチに戻り、「WeChat Payment APIv3」コレクションを入力し、送信するリクエストを選択します。
次に、リクエストパラメータを入力し、コメントに従って本文のパラメータを変更します。
最後に、以前に構成した環境を選択し、アドレス バーの右側にあるSend
ボタンをクリックしてリクエストを送信します。
Pre-Request Script
Javascript スクリプトです。 Postman はリクエストを送信する前にこのスクリプトを実行します。スクリプトは次のことを行います。
Authorization
設定注: Postman スクリプトの詳細については、「Postman のスクリプト」を参照してください。
変数名 | 必要ですか? | 説明する | 述べる |
---|---|---|---|
マチド | はい | 販売者番号 | |
販売者のシリアル番号 | はい | マーチャント API 証明書の証明書シリアル番号 | |
apiclient_key.pem | はい | PEM 形式のマーチャント API 秘密キー | |
オープンID | いいえ | テストリクエスト内のユーザーの OpenID、{{openid}} | |
アプリケーション | いいえ | パブリックアカウントまたはミニプログラムのAppID | |
シャンミ | いいえ | 値がtrue の場合は商業秘密署名を使用します | デフォルト値は空です。これは、RSA 署名を使用することを意味します。 |
公開鍵.pem | 国家機密で署名する場合に必須 | PEM 形式の Merchant API 公開キー | 秘密キー PEM に公開キーが含まれている場合、この変数に値を入力する必要はありません。 |
サーバーURL | いいえ | サーバーアドレス | デフォルト設定はhttps://api.mch.weixin.qq.com です。 |
スクリプトは以下を直接使用します。
リクエストごとに依存ライブラリをダウンロードすることを避けるために、2 つのライブラリはソース コードとしてコレクション変数に保存されます。これにより、Web バージョンの Postman を使用してリクエストを送信するときにかかる時間が大幅に短縮されます。
Merchant API 秘密キーは非常に機密情報です。このコードを使用するときは、次の点に留意する必要があります。
Personal
またはPrivate
に設定し、 Public
には設定しないでください。secret
に設定されます。変数値はマスクの形で画面に表示されます。Current Value
には秘密鍵の変数値が設定されます。 Current Value
はローカル セッションにのみ保存され、Postman サーバーには送信されません。注: Postman のセキュリティ メカニズムについては、「Postman セキュリティ」を参照してください。
National Secret-Merchant パラメーター テンプレートを使用し、環境変数に設定します。
shangmi
: 値はtrue
です。mchid
: 必須、販売者番号。merchant_serial_no
: 必須、販売者 API 証明書のシリアル番号。apiclient_key.pem
: 必須、PEM 形式のマーチャント API 秘密キー。pubkey.pem
: 必須、PEM 形式の販売者 API 国家秘密公開キー。このように、スクリプトは国家機密 SM2 を使用して署名を計算し、国家機密リクエストを送信します。
注:スクリプトをローカルにインポートすることはお勧めできません。面倒でエラーが発生しやすく、上流の変更を同期できません。
Fork Collection のインポートには、Postman アカウントの登録が必要です。登録したくない場合は、スクリプトをローカルにインポートできます。
まず、WeChatPay APIv3 コレクションを開き、オプションを展開して [エクスポート] をクリックします。
wechatpay-apiv3.postman_collection.json
ファイルをローカルにダウンロードして保存します。次に、JSON ファイルをローカルにインポートするには 2 つの方法があります。
Import
ボタンFile
> Import
でインポートが開始されますローカルのwechatpay-apiv3.postman_collection.json
選択し、「確認」をクリックしてインポートを完了します。
「WeChatPay APIv3」という名前の新しいリクエストのセットがワークベンチのコレクションに追加されていることがわかります。環境を構成した後、リクエストを送信できます。
新しいインターフェイスを徐々に追加し、既存のインターフェイスを更新しますが、ワークベンチにフォークしたコレクション ブランチは、アップストリームの変更を自動的に同期しません。アップストリームの変更が行われたときに郵便配達員から通知を受け取ることができるように、パブリック ワークスペースwatch
をお勧めします。
現時点では、 pull changes
使用して上流の変更をプルできます。
Postman のpull changes
完了するまでに時間がかかる場合があります。問題が発生した場合は、再フォークすることも良い考えです。
これは通常、環境で構成された変数merchantPrivateKey
を誤って入力することが原因で発生します。スクリプトが受け取る秘密キーは-----BEGIN PRIVATEKEY-----
で始まり-----END PRIVATE KEY-----
で終わる文字列です。
Web バージョンの Postman を使用している場合は、デスクトップ Postman アプリを使用してください。ブラウザーのクロスオリジン リソース共有 (CORS) の制限により、Web バージョンによって送信されたリクエストはバックグラウンドで Postman によって転送されます。
または、Postman デスクトップ エージェントを使用します。詳細については、Postman 関連のブログを参照してください。
ご質問がある場合は、開発者コミュニティにアクセスしてフィードバックを求めてください。
あらゆる種類の問題やマージ リクエストも歓迎します:-)