Step6:オーソリのリクエスト | Amazon Pay Japan

Step6:オーソリのリクエスト

Billing Agreementオブジェクトを承認しOpen状態である場合は、支払処理を開始できます。支払を処理するためには、AuthorizeOnBillingAgreement処理を呼び出して注文処理中に選択した支払方法のオーソリを取得しなければなりません。オーソリはOrder Referenceに常に結びつけられます。AuthorizeOnBillingAgreement処理はOrder Referenceを生成し、それから、オーソリを確定させる便利な処理です。Order ReferenceはBilling Agreementから支払方法と配送先住所情報を受け継ぎます。Order ReferenceはAmazon PayのWebサイトの中で購入者のための一般情報として現れます。

次のサンプルはAuthorizeOnBillingAgreement処理を呼び出す方法を表します。

 
https://mws.amazonservices.com/OffAmazonPayments_Sandbox/2013-01-01 ?AWSAccessKeyId=AKIAJKYFSJU7PEXAMPLE  
&Action=AuthorizeOnBillingAgreement  
&AmazonBillingAgreementId=C01-1234567-1234567  
&AuthorizationAmount.Amount=10  
&AuthorizationAmount.CurrencyCode=USD  
&AuthorizationReferenceId=test_authorize_1  
&MWSAuthToken=amzn.mws.4ea38b7b-f563-7709-4bae-87aeaEXAMPLE  
&SellerId=YOUR_SELLER_ID_HERE  
&SellerAuthorizationNote=ForNovemberOrder  
&SellerOrderAttributes.SellerOrderId=testSellerOrderId  
&SellerOrderAttributes.StoreName=testStore  
&SellerOrderAttributes.CustomInformation=ExampleInformation  
&InheritShippingAddress=true  
&SignatureMethod=HmacSHA256  
&SignatureVersion=2  
&Timestamp=2012-10-03T19%3A01%3A11Z  
&TransactionTimeout=60  
&Version=2013-01-01  
&Signature=WlQ708aqyHXMkoUBk69Hjxj8qdh3aDcqpY71hVgEXAMPLE

AuthorizeOnBillingAgreement処理のリクエストパラメータに含める、または、レスポンス要素の詳しい情報は、Amazon Pay APIリファレンスガイドのAuthorizeを参照してください。

オーソリオブジェクト

  • Amazon PayでのオーソリオブジェクトはBilling Agreementオブジェクトに関連した支払方法の資金を確保するものです。オーソリオブジェクトは次の4つステータスのどれかになります。
  • Pending -AuthorizeOnBillingAgreement処理は2つのモードである同期と非同期で働きます。Pendingステータスは非同期モードを選択している場合にのみ適用します。詳しい情報は「AuthorizeOnBillingAgreement処理の同期と非同期モード」を参照してください。非同期モードでは、Amazon Payはリアルタイムでオーソリを処理しません。オーソリオブジェクトは最初にオーソリリクエストを確定した時は常にPending状態です。AuthorizeOnBillingAgreement処理からこのステータスで示す同期レスポンスを受け取ります。オーソリオブジェクトはAmazonによって処理されまでPending状態で存続します。処理時間は1分程度で変更します。処理後は完了し、Amazonは最終の処理ステータスを通知します。最終のオーソリステータスを受け取る方法の詳しい情報は、下記「オーソリステータスの取得」を参照してください。
  • Open -オーソリオブジェクトは支払方法のオーソリに成功すればすぐにOpen状態になります。オープン状態になってから30日までにこのオーソリに対する売上請求をリクエストすることができます。
  • Declined -オーソリオブジェクトはAmazonがオーソリリクエストを断った場合にDeclined状態になります。詳しい情報は「Step7:支払失敗のハンドリング」を参照してください。
  • Closed -オーソリオブジェクトは様々な理由でこの状態になることができます。
    • オブジェクトは本番環境モードでは30日間、Sandboxモードでは2日間はOpen状態です。
    • Openのオーソリに対してすべて、または、部分的な金額の売上請求が完了しました。Amazonは1つのオーソリに対して1つの売上請求のみ許可しています。オーソリは売上請求リクエストが成功した後にすぐにClosedになります。
    • オーソリをClosedにした。
    • Billing AgreementオブジェクトをCanceledにした。
    • AmazonがオーソリをClosedにした。

オーソリステータスの取得

注意:このステップはAuthorizeOnBillingAgreement処理で非同期モード処理を利用する場合に必要です。

AuthorizeOnBillingAgreement呼び出しのレスポンスは、AuthorizationStatusレスポンス要素を含みます。非同期モードの処理を選択している場合はPendingが常にセットされ、Amazon Pay経由のインスタント支払通知(IPN)サービスからオーソリリクエストの最後のステータス(例、OpenDeclined)を後で受け取ります。インスタント支払通知(IPN)サービスについての詳しい情報は、「システムとAmazon Payの同期」を参照してください。

それから追加でオーソリのレスポンスで返されたAmazonAuthorizationIdを利用してGetAuthorizationDetails処理を呼び出すことで、オーソリオブジェクトの詳細を問合せることができます。このユニークな識別子をオーソリ成功した資金の売上請求を行うためにも必要になります。詳しい情報は、Amazon Pay APIレファレンスガイドのGetAuthorizationDetailsを参照してください。

オーソリの保持期間

AuthorizeOnBillingAgreement処理の提示に成功した後、本番環境モードでは、オーソリに対して売上請求可能な期間は30日間あります。30日を過ぎると自動的にClosedになります。SANDBOX環境モードでは2日間になります。

オーソリ処理を待たせたい場合は、最大時間を指定するためにAuthorizeOnBillingAgreementリクエストのTransactionTimeoutパラメータを利用することができます。この時間内では処理されなかった(Pending状態で残っている)多くのオーソリはAmazon PayによってDeclinedになります。インスタント支払通知(IPN)サービス経由でTransactionTimedOutの理由コードとともにDeclinedのメッセージを受け取ります。

TransactionTimeoutに0をセットした場合は、オーソリがOpenDeclinedステータスを常に返します。この場合は、TransactionTimedOutの理由コードとともにDeclinedになり、オーソリは同期処理することができません。詳しい情報は、「AuthorizeOnBillingAgreement処理の同期と非同期モード」を参照してください。