Step 9:返金のリクエスト
既に成功している売上請求金額に対して、全部または一部の返金を行うことができます。
注意 :返金が呼び出しされた場合は、もはや資金はオーソリや売上請求できません。
返金処理が成功した場合は、返金(Refund)オブジェクトはCompleted 状態になり、購入者に返金通知メールが送信されます。
Amazonによって返金が失敗した場合は、返金オブジェクトはDeclined 状態になります。
返金するための期限はありません。しかしながら、購入から長い時間が経った返金要求は無効になったり、失敗する場合があります。
注意 :めったに返金することがない場合は、ワークフロー内で返金(Refund) APIを呼び出す代わりにセラーセントラル経由で返金を手動で呼び出すことができます。
処理内容
次の内容の通りに返金をリクエストします。
-
返金(Refund) APIの呼び出しを行います。次の値を返金リクエスト内にセットすることで、購入者への返金通知メールとアカウントステータスに表示され、決済とトランザクションレポートにも表示されます。
- Refund Reference ID(返金用Reference ID)
- Refund amount(返金金額)
- Seller Refund Note(販売事業者用の返金メモ)
- Amazonから返される返金のIPNメッセージを確認します。返金リクエストはリアルタイムで処理されず、最初の RefundStatusは常にPending です。処理時間は変動し、数時間かかります。Amazonは処理ステータスをIPNメッセージ経由で通知します。
- 返金詳細を取得します。返金のIPNメッセージから返されたAmazonRefundId を利用してGetRefundDetails APIを呼び出して、返金オブジェクトの詳細を問い合わせできます。
-
エラーか失敗のレスポンスがないか確認します。API呼び出しで発生するかもしれないエラーについてハンドリングが必要であり、 Declined状態にの返金について管理が必要です。
返金がDeclinedの場合は、レスポンス内に次の理由コードを参照できます。
AmazonRejected
Amazonによって返金処理が失敗になったことを示します。このケースでは、テクニカルサポートにお問合せください。
ProcessingFailure
Amazonは次の理由によりトランザクションを処理できませんでした。- 内部処理エラーによりトランザクションを処理できませんでした。
- Amazonマーケットプレイス保証、または、チャージバックが既に発行されている。
詳しい情報はAmazon Pay API呼び出しのエラーハンドリングを参照してください。
Pythonのサンプルコード(US)
from pay_with_amazon.client import PayWithAmazonClient
client = PayWithAmazonClient(
mws_access_key='YOUR_ACCESS_KEY',
mws_secret_key='YOUR_SECRET_KEY',
merchant_id='YOUR_MERCHANT_ID',
region='na',
currency_code='USD')
response = client.refund(
amazon_capture_id='AMAZON_CAPTURE_ID',
refund_reference_id='REFUND_REFERENCE_ID',
refund_amount='1.00',
seller_refund_note='Test order.')
Rubyのサンプルコード(US)
# Refund
require 'pay_with_amazon'
merchant_id = 'YOUR_MERCHANT_ID'
access_key = 'YOUR_ACCESS_KEY'
secret_key = 'YOUR_SECRET_KEY'
client = PayWithAmazon::Client.new(
merchant_id,
access_key,
secret_key,
sandbox: true,
currency_code: :usd,
region: :na
)
amazon_capture_id = 'S23-1234567-1234567-0000002'
refund_reference_id = 'test_refund_1'
amount = 106
client.refund(
amazon_capture_id,
refund_reference_id,
amount,
seller_refund_note: 'Lorem ipsum dolor',
mws_auth_token: 'amzn.mws.4ea38b7b-f563-7709-4bae-87aeaEXAMPLE'
)
その他のサンプルコード(US)
https://mws.amazonservices.com/OffAmazonPayments_Sandbox/2013-01-01
?AWSAccessKeyId=AKIAFBM3LG5JEEXAMPLE
&Action=Refund
&AmazonCaptureId=S23-1234567-1234567-0000002
&RefundAmount.Amount=199.00
&RefundAmount.CurrencyCode=USD
&RefundReferenceId=test_refund_1
&SellerRefundNote=For%20your%20returned%20item%2C%20Casad%20%272Jours%20Bonheur%27%20Satchel%20in%20Sandstorm
&SellerId=YOUR_SELLER_ID_HERE
&SignatureMethod=HmacSHA256
&SignatureVersion=2
&Timestamp=2013-11-27T19%3A01%3A11Z
&Version=2013-01-01
&Signature=WlQ708aqyHXMkoUBk69Hjxj8qdh3aDcqpY71hVgEXAMPLE