SANDBOXシミュレーション
Amazon Payは、シミュレーション指定した支払シナリオを利用することができます。これらのシミュレーションは運用ルールをテストするためのレスポンスを生成できます。次の表はレスポンスと状態遷移をシミュレートすることができることを説明します。
状態と理由コードの詳しい情報は、Amazon Pay APIリファレンスの状態と理由コードを参照してください。
注意 :状態と理由コード はシミュレーション文字列で利用でき、希望した状態と理由コードをAmazon Pay APIセクション処理での呼び出しで指定しなければなりません。不正な組み合わせは InvalidSandboxSimulationSpecifiedエラーが返されます。
Order Referenceオブジェクト | |||
状態 | 理由コード | シミュレーション文字列 | SANDBOXでのシミュレート方法 |
Draft | N/A | SANDBOXのAmazonアカウントでお支払いボタンをクリックしテストアカウントでログインして認証します。Order Referenceオブジェクトは Draft状態で生成します。 | |
Open | N/A | Draft のOrder ReferenceオブジェクトをConfirmOrderReference処理を呼び出して確認します。 | |
Suspended | InvalidPaymentMethod | N/A | オーソリオブジェクトがInvalidPaymentMethodの理由コードでDeclined状態に遷移した時に、Order Referenceオブジェクトは Suspended状態に遷移します。 |
Canceled | SellerCanceled | N/A | Open またはSuspendedのOrder ReferenceオブジェクトにCancelOrderReference処理を呼び出してキャンセルします。 |
Stale | N/A | Draft のOrder Referenceオブジェクトが生成されてから3時間以内に確認されなかった。Order ReferenceオブジェクトはStale状態に遷移します。 | |
AmazonCanceled | N/A | シミュレートできません。 | |
Closed | Expired | N/A | CloseまたはCancelされなかったOrder Referenceオブジェクトです。 OpenまたはSuspendedのOrder Referenceオブジェクトは生成されてから180日後に理由コードと一緒にAmazonによって Closedにされます。 |
MaxAmountCharged | N/A | Order Referenceオブジェクトに15%か8,400円以上の売上請求(Capture)処理を呼び出した場合です。 | |
MaxAuthorizationsCaptured | N/A | Open のOrder Referenceオブジェクトに対して完全または部分的に10個のオーソリに対して売上請求しました。 | |
AmazonClosed | {"SandboxSimulation": {"State":"Closed", "ReasonCode":"AmazonClosed"}} | Open のOrder ReferenceオブジェクトにClosureReason リクエストパラメータに値を指定してCloseOrderReference処理を要求します。 | |
SellerClosed | N/A | AmazonClosed 理由コードのシミュレーション文字列を指定せずにCloseOrderReference処理を OpenのOrder Referenceオブジェクトに呼び出してCloseにします。 |
Authorizationオブジェクト | |||
状態 | 理由コード | シミュレーション文字列 | SANDBOXでのシミュレート方法 |
Pending | N/A | 非同期モードでオーソリ(Authorize)処理で呼び出してリクエストします。全てのオーソリオブジェクトはオーソリリクエストが実行されてから30秒間は Pending状態です。同期モードではシミュレートできません。 | |
Open | N/A | オーソリ(Authorize)処理を呼び出してリクエストします。非同期モードでは、オーソリオブジェクトは30秒間 Pending状態になってからOpen 状態に遷移します。同期モードでは、オーソリオブジェクトはすぐにOpen 状態に遷移します。 | |
Declined | InvalidPaymentMethod |
{"SandboxSimulation": {"State":"Declined", "ReasonCode":"InvalidPaymentMethod", "PaymentMethodUpdateTimeInMins":5}}
Or {"SandboxSimulation": {"State":"Declined", "ReasonCode":"InvalidPayment Method", "PaymentMethodUpdateTimeInMins":5, "SoftDecline":"true"}} |
オーソリ(Authorize)処理でSellerAuthorizationNoteリクエストパラメータにこの値を指定します。Order Referenceはuspended状態からOpen 状態に遷移するための時間(1分から240分)をPaymentMethodUpdateTimeInMinsパラメータを指定することができます。これは購入者が無効な支払方法を更新することをシミュレートし、OrderReferenceオブジェクトをOpen状態に戻します。
Soft Declineの再処理をシミュレートするためには、シミュレーション文字列に"SoftDecline":"True"を利用します。 SuspendedのOrder ReferenceオブジェクトにConfirmOrderReference処理を呼び出して、Open状態に遷移することができます。これは販売事業者が SuspendedのOrder Referenceオブジェクトをシミュレートし、オーソリ(Authorize)処理をリトライしてOpen 状態に戻すことができます。 |
AmazonRejected | {"SandboxSimulation": {"State":"Declined", "ReasonCode":"AmazonRejected"}} | オーソリ(Authorize)処理のSellerAuthorizationNote リクエストパラメータにこの値を指定します。 | |
ProcessingFaiure | N/A | シミュレートできません。 | |
TransactionTimedOut | {"SandboxSimulation": {"State":"Declined", "ReasonCode":"TransactionTimedOut"}} | オーソリ(Authorize)処理のSellerAuthorizationNote リクエストパラメータにこの値を指定します。 | |
Closed | ExpiredUnused | {"SandboxSimulation": {"State":"Closed", "ReasonCode":"ExpiredUnused", "ExpirationTimeInMins":1}} | オーソリ(Authorize)処理のSellerAuthorizationNote リクエストパラメータにこの値を指定します。オーソリオブジェクトが Closed になるために、ExpirationTimeInMins パラメータに時間(1分から60分)を指定して利用できます。 |
MaxCapturesProcessed | N/A | Open のオーソリオブジェクトに売上請求(Capture)処理を呼び出して売上請求します。 | |
AmazonClosed | {"SandboxSimulation": {"State":"Closed", "ReasonCode":"AmazonClosed"}} | オーソリ(Authorize)処理のSellerAuthorizationNote リクエストパラメータにこの値を指定します。 | |
OrderReferenceCanceld | N/A | CancelOrderReference処理を呼び出してOrder Referenceオブジェクトに関連したオーソリオブジェクトをキャンセルします。 | |
SellerClosed | N/A | CloseAuthorization処理を呼び出してOpen のオーソリオブジェクトをCloseします。 |
Captureオブジェクト | |||
状態 | 理由コード | シミュレーション文字列 | SANDBOXでのシミュレート方法 |
Pending | {"SandboxSimulation": {"State":"Pending"}} | 売上請求(Capture)処理のSellerCaptureNote リクエストパラメータにこの値を指定します。売上請求オブジェクトはそれから30秒間は Pending状態です。 | |
Declined | AmazonRejected | {"SandboxSimulation": {"State":"Declined", "ReasonCode":"AmazonRejected"}} | 売上請求(Capture)処理のSellerCaptureNote リクエストパラメータにこの値を指定します。 |
ProcesseingFailure | N/A | シミュレートできません。 | |
Completed | N/A | 売上請求(Capture)処理を呼び出してOpenのオーソリオブジェクトに対して売上請求します。 | |
Closed | MaxAmountRefunded | N/A | 返金(Refund)処理を呼び出して、売上請求額の15%か8,400円以上の返金を行います。 |
MaxRefundsProcessed | N/A | Completed の売上請求オブジェクトに対して返金(Refund)処理を10回発行します。 | |
AmazonClosed | {"SandboxSimulation": {"State":"Closed", "ReasonCode":"AmazonClosed"}} | 売上請求(Capture)処理のSellerCaptureNote リクエストパラメータにこの値を指定します。 |
Refundオブジェクト | |||
状態 | 理由コード | シミュレーション文字列 | SANDBOXでのシミュレート方法 |
Pending | N/A | 返金(Refund)処理を呼び出して返金をリクエストします。すべての返金オブジェクトは返金要求されてから30秒間は Pending状態になります。 | |
Declined | AmazonRejected | {"SandboxSimulation": {"State":"Declined", "ReasonCode":"AmazonRejected"}} | 返金(Refund)処理のSellerRefundNoteリクエストパラメータにこの値を指定します。 |
ProcessingFailure | N/A | シミュレートできません。 | |
Completed | N/A | 返金(Refund)処理をCompletedの売上請求オブジェクトに対して返金します。 |
次のサンプルコードは、SellerAuthorizationNoteリクエストパラメータを利用して、 InvalidPaymentMethodの理由コードでオーソリがDeclined 状態をシミュレートする方法です。
https://mws.amazonservices.com/OffAmazonPayments_Sandbox/2013-01-01
?AWSAccessKeyId=AKIAFBM3LG5JEEXAMPLE
&Action=Authorize
&AmazonOrderReferenceId=S23-1234567-1234567
&AuthorizationAmount.Amount=50
&AuthorizationAmount.CurrencyCode=USD
&AuthorizationReferenceId=test_authorize_1
&SellerAuthorizationNote=
%7B%22SandboxSimulation%22%3A%7B%22State%22%3A%22Declined%22%2C
%22ReasonCode%22%3A%22InvalidPaymentMethod%22%7D%7D
&SellerId=YOUR_SELLER_ID_HERE
&SignatureMethod=HmacSHA256
&SignatureVersion=2
&Timestamp=2013-10-03T19%3A01%3A11Z
&TransactionTimeout=60
&Version=2013-01-01
&Signature=WlQ708aqyHXMkoUBk69Hjxj8qdh3aDcqpY71hVgEXAMPLE