NachoPay

Refund a NachoPay payment

Give a NachoPay charge back to the Buyer.

Refunds are always for the full amount. There is no partial refund: the Buyer gets back exactly what they were charged, and the revshare fee and the payout recorded on the original payment are reversed with it.

A payment can only be refunded once, and only while it is succeeded. A second call returns 409 with the id of the refund that already exists, so a retry is safe.

The refund is recorded on both objects in Stripe: the Refund carries type: NACHO_PAY_REFUND along with the product, subscription and reversed revenue share, and the original PaymentIntent is updated with refunded, refundId, refundedAt, refundedFrom and revshareAmountReversed. Both the Seller and the Buyer see the payment as refunded in their NachoNacho dashboard.

Money typically reaches the Buyer's card 5 to 10 business days later, depending on their bank.

post/payments/{paymentId}/refund

Path parameters

paymentIdstring required
Example:pi_3QabcDEfGhIjKlMn0PqRsTuV

The Stripe PaymentIntent ID returned by POST /payments.

Request body

reasonstring

Optional note stored on the refund explaining why it was issued. Truncated to 350 characters.

Example request

{
  "reason": "Charged by mistake"
}

Response

Refund created

refundIdstring
paymentIdstring
subscriptionIdstring nullable
statusstring

Stripe refund status. See the Stripe API documentation.

amountRefundednumber float

The full amount returned to the Buyer, in US dollars.

currencystring
revshareAmountReversednumber float nullable

The revshare fee that no longer applies because of this refund.

Example response

{
  "refundId": "re_3QabcDEfGhIjKlMn0AbCdEfG",
  "paymentId": "pi_3QabcDEfGhIjKlMn0PqRsTuV",
  "subscriptionId": "cmmcoxge20001cnsppobu1anr",
  "status": "succeeded",
  "amountRefunded": 80,
  "currency": "USD",
  "revshareAmountReversed": 30
}

Changes

No recorded changes to this endpoint across all 1 revision of this API.