Amazon Pay FAQ

[SaaS型SP開発者向け] V2AuthTokenを利用してAmazon Payで決済する方法を教えてください。

認証情報自動連携について

  • V2では、SaaS型SP(Service Provider:以降、SP)に限り、事業者が利用する SPの管理画面を起点に、認証情報発行およびSPへ自動連携する機能を追加することができるようになります。
  • この機能により、事業者の作業負担が減り、キー発行後すぐAmazon Payをご利用いただけるだけでなく、事業者からSPへの問い合わせの削減も見込めます。
  • また、事業者からシークレットキー(PrivateKey)を共有いただく必要もなくなるため、セキュリティの向上も期待できます。(PrivateKeyの代わりに、V2AuthTokenを利用します)
  • 詳細は、認証情報自動連携機能をご覧ください。

Amazon Payボタンを表示する際の注意点

1.Payloadを作成する

    {
        "webCheckoutDetails": {
            "checkoutReviewReturnUrl": "https://a.com/merchant-review-page"
        },
        "storeId": "amzn1.application-oa2-client.8b5e45312b5248b69eeaStoreId", //加盟店のstoreIdを利用する
        .....
    } 

2.1.のPayloadを利用して、Signatureを生成する

  • Sign the payloadに従い、1.で作成したPayloadからSignatureを作成してください。
  • YOUR_PUBLIC_KEY_IDとYOUR_PRIVATE_KEY_STRINGにはSPのPrivateKeyやPublicKeyIdを設定してください。※以下の例はJavaでSignatureを生成する例です。
    .setPublicKeyId("YOUR_PUBLIC_KEY_ID") //SPのPublicKeyIdを利用する
    ...
    .setPrivateKey("YOUR_PRIVATE_KEY_STRING") //SPのPrivteKeyを利用する

3.1.で作成したPayloadと2.で生成したSignatureを使い、Amazon Payボタンを生成する

Amazon Pay APIを実行する際の注意点

  • APIを実行する際には、headerにx-amz-pay-authtokenを追加するのみです。
  • それ以外は、PrivateKeyを利用した実行方法と変わりません。

headerへの設定方法

  • API実行時のheaderに、x-amz-pay-authtoken(V2AuthToken)を指定してください。
  • Clientを生成する際に設定する、PrivateKeyやPublicKeyIdについては、SPのPrivateKeyとPublicKeyIdをご利用ください。
    //PHPでGetCheckoutSession APIを実行する場合の例
    $headers = array('x-amz-pay-authtoken' => $amz_pay_authToken);
        
    try {
        $client = new Amazon\Pay\API\Client($amazonpay_config);
        $result = $client->getCheckoutSession($checkout_session_id, $headers);
        $response = '{"status":' . $result['status'] . ',"response":' . $result['response'] . '}';
        echo($response);

    } catch (\Exception $e) {
        // handle the exception
        echo $e . "\n";
    }