Overview
You can issue refunds for completed payments. Refunds are sent back to the customer’s Stellar wallet address that was used for the original payment.Creating a Refund
To refund a payment, callPOST /payments/{id}/refunds with the amount and asset:
Refund Rules
- The payment must be in
paidorunderpaid_acceptedstatus - Refund amount cannot exceed the
amount_paidon the payment - Only one refund can be in progress per payment at a time
- The refund is sent to
sender_account(the original payer)
Refund Statuses
| Status | Description |
|---|---|
open | Refund created, pending submission |
processing | Refund transaction submitted to Stellar |
refunded | Refund completed successfully |
Non-Custodial Flow
For non-custodial merchant accounts, the refund flow is two steps:- Create refund —
POST /payments/{id}/refundsreturns an unsigned XDR transaction - Sign and submit — sign the XDR with your Stellar key, then call
POST /refunds/{refund_id}/send