Key points
- Rye automatically issues refunds in cases where we fail to place an order with the merchant.
- Refunds can also be initiated for Amazon orders via
cancelOrder
, provided the order has not been shipped.- For returning orders after they have shipped (both Amazon and Shopify), see our returns guide.
- Webhooks are fired throughout the refund process, to keep you informed.
Automated refunds
Rye’s checkout process is asynchronous and has two phases.- Rye first debits your Developer Account for the cost of the cart.
- Rye then purchases the goods from the merchant.
ORDER_FAILED
webhook in this case which you can use to identify these failures. The refund
property on this event contains the details necessary for you to refund the shopper.
Below is a diagram which shows how this works. Note that since developers are responsible for capturing funds from the customer, it would be the developer’s responsibility to refund customers in response to receiving the ORDER_FAILED
webhook.
Checkout is also a “best effort” process. If a cart contains items from multiple stores, and some stores successfully place the order while others fail then we only refund the charges for those failed orders and keep the successful orders.
Developer-initiated refunds
Developers may also cancel Amazon orders using thecancelOrder
mutation, provided the order has not been shipped yet. If you want to refund an order that has already shipped, then see our returns guide for information on that process.
This mutation creates a cancellation request in our system which we will try to process. If the cancellation is successful, Rye will refund your Developer Account and cancel the order with the merchant.
We emit webhooks throughout the cancellation process so you can react and notify shoppers accordingly. The following diagram shows the case where a developer requests cancellation of an order that has not yet shipped:
In cases where the order has already shipped, we generally are able to return that failure synchronously from the cancelOrder
mutation. You can identify this error by looking for a ORDER_ALREADY_SHIPPED
error code on the response from cancelOrder
.