Get Refund Details

📘

Buy with Prime API is now available for early access

Sign up for early access to the Buy with Prime API using the 'Sign Up' button below. The API may change as Amazon receives feedback and iterates on it.

As you process Buy with Prime refunds for an order, you can get details about all the refunds associated with the order. You then initiate the refunds and update the Buy with Prime order with the latest information. For details, see Steps to Process Refunds.

The following examples show how to get information about Buy with Prime refunds.

For an overview of refund terminology, see Synchronize Refunds. To learn how to call the Buy with Prime API, see Call the Buy with Prime API.


Get refund details for an order

After you receive a REFUND_REQUESTED event, you parse the resources array of the event to get the order ID, and then you query the associated order to get information about any refunds that are associated with the order.

The following example query gets the line item, product, and refund data for an order. The response shows that the refund is in PENDING state. The refund is associated with line item example-line-item-id. The estimated amount to be refunded is $10.

Request
// GraphQL query query order { order(orderIdentifier: { orderId: "example-order-id" }) { id refunds { details { id state aliases { aliasType aliasId } createdAt updatedAt refundTotal { totalAmount { currencyCode amount } } refundFor { orderLineItems { lineItem { id } amount { unit value } } } paymentDetails { id amount { currencyCode amount } paymentMethod { displayString type } state } } } } }
Response
{ "data": { "order": { "id": "example-order-id", "refunds": { "details": [ { "id": "example-refund-id", "state": "PENDING", "aliases": [], "createdAt": "2024-04-03T14:14:18.160Z", "updatedAt": "2024-04-03T14:14:18.410Z", "refundTotal": { "totalAmount": { "currencyCode": "USD", "amount": 10.00 } }, "refundFor": { "orderLineItems": [ { "lineItem": { "id": "example-line-item-id" }, "amount": { "unit": "ONE", "value": 1 } } ] }, "paymentDetails": [] } ] } } } }

Get the refund request reason and the refund status reason

For additional context about a refund, you can query an order to find the refund request reason and refund status reason of the refunds associated with the order. These fields are in the refunds.details object of the response.

Request
// GraphQL query query order { order(orderIdentifier: { orderId: "example-order-id" }) { id refunds { details { id state aliases { aliasType aliasId } createdAt updatedAt refundTotal { totalAmount { currencyCode amount } } refundFor { orderLineItems { lineItem { id } amount { unit value } } } paymentDetails { id amount { currencyCode amount } paymentMethod { displayString type } state } refundRequestReason refundStatusReason } } } }
Response
{ "data": { "order": { "id": "example-order-id", "refunds": { "details": [ { "id": "example-refund-id", "state": "REJECTED", "aliases": [], "createdAt": "2024-04-03T14:14:18.160Z", "updatedAt": "2024-04-03T14:14:18.410Z", "refundTotal": { "totalAmount": { "currencyCode": "USD", "amount": 10.00 } }, "refundFor": { "orderLineItems": [ { "lineItem": { "id": "example-line-item-id" }, "amount": { "unit": "ONE", "value": 1 } } ] }, "paymentDetails": [], "refundRequestReason": "CUSTOMER_NOT_SATISFIED_WITH_SERVICE", "refundStatusReason": "FRAUDULENT_RETURN_ATTEMPT" } ] } } } }

Related topics


Did this page help you?