Skip to main content

Issue Refund

POST 

/api/stripe/invoices/:id/refunds

Issues a partial or full refund against the charge backing a paid Stripe Invoice. Requires admin or power-user privileges. Throttled to 20 requests/minute.

Not yet available to API tokens

This endpoint currently requires session authentication; Personal Access Token scope support is in progress.

Fields:

  • amount_in_cents (optional, integer, min 1) — refund amount in the currency's smallest unit; if omitted, refunds the full remaining refundable amount
  • reason (optional, enum) — one of duplicate, fraudulent, requested_by_customer

Returns 422 when the refund is refused: the invoice has not been paid, it is already fully refunded, the amount is more than what is left to refund, or the Stripe integration is no longer available.

amount_in_cents is in the currency's smallest unit, as Stripe expects it: cents for USD/EUR (2-decimal currencies), whole units for zero-decimal currencies (¥1,000 → 1000 for JPY, also KRW, VND, CLP…), thousandths for three-decimal currencies (KWD, BHD, JOD, OMR, TND: 1.500 KWD → 1500). The default (outstanding balance / remaining refundable amount) is computed the same way.

Request​

Responses​

Created

Response Headers
    Content-Type