You can use the Refund operation to issue refunds for any transaction that you execute. This operation requires you to pass a refund sender token, which authorizes Amazon FPS to refund the transaction. Making calls to the Refund operation and handling responses is similar to a Pay operation. See the Handling Synchronous Responses section for more on how to handle responses.
If you are the recipient as well as the caller, then you need to install a refund token with following rules:
MyRole == 'Sender'; OperationType = 'Refund';
In a market place application, where you are a caller, you must get a refund sender token from the recipient. Amazon FPS returns the refund token as an output to the recipient token installation pipeline. Using the co-branded pipeline, recipients can give you the refund token that authorizes you to refund senders on their behalf.
These rules apply to a refund transaction.
You can choose to refund the total or partial amount of the refund transaction. You cannot refund more than the original transaction amount.
You can make multiple refunds on a single transaction, but the sum of all the refund amounts cannot exceed the original transaction amount.
If you have executed a transaction, only you are allowed to refund the transaction.
If the payment method used in the original transaction was a credit card, the refund will only be made to the credit card used in the transaction.
If the payment method used in the original transaction was a bank account or account balance transfer, the refund will be made to the account balance of the original transaction sender.
The fee paid to Amazon FPS will be refunded to the participant that paid the fee in the original transaction. The percentage of fee transferred is equal to the percentage of the amount refunded. For example, if the refund amount is 30% of the original transaction amount, then the fee refunded is 30% of the original fee.
A refund transaction where the payment method used in the original transaction was a bank account or account balance is a synchronous operation, whereas a refund transaction using a credit card is an asynchronous transaction.
Making calls using the Refund operation and handling responses is similar to a Pay operation. Refer to the Handling Synchronous Responses section for more on how to handle the synchronous responses.