Refund a payment
Refund a collected direct receive Payment to the verified payer.
amount or an amountAtomic (never both), with a reasonCode (customer_request or operational) and a reason. Stableyard derives the destination from independently verified payer evidence; you cannot choose or override it.
Provider-funded and multi-payer Payments go through the provider or manual recovery workflow instead, and failed external-payout treasury recovery is an operations workflow that this endpoint cannot request. Idempotency-Key is required; reuse it only with the identical refund request. The refund is returned with 202 Accepted.
See Reconciliation for telling a refund from a recovery.Authorizations
HTTP Basic auth. Username is the Stableyard app ID. Password is the app secret. The optional Stableyard-Version request header must match the environment pin.
Headers
Required retry key. Reuse only with the identical refund request.
"payment-request-001"
Optional contract-version assertion. Omit it to use the app environment's pinned version. A different supported version is accepted only after that environment is explicitly migrated.
2026-09-09 Path Parameters
Canonical payment_* identifier. Internal execution identifiers are never accepted by Partner Payment routes.
^payment_[A-Za-z0-9_-]+$"payment_123"
Body
- Create refund request
- Create refund request
Refund exactly one decimal or atomic amount from a supported accepted direct receive Payment. Stableyard derives the payer destination from verified receipt evidence. Failed external-payout treasury recovery is an operations workflow and cannot be requested through this body.
1 - 100^(0|[1-9][0-9]*)(\.[0-9]{1,18})?$"5.00"
customer_request, operational 1 - 5001 - 80^[1-9][0-9]*$"5000000"
Response
Refund accepted