refundPayment
Refunds a payment recorded on an invoice. Stripe card payments are refunded back to the original card. Non-card payments (cash, cheque, bank transfer, and similar) record a refund document only — no money is moved. Terminal payments cannot be refunded via the API.
refundPayment(
invoiceId: ID!
paymentId: ID!
amount: Float!
reason: RefundReason!
comment: String
): RefundPaymentPayload
Arguments
refundPayment.invoiceId ● ID! non-null scalar
refundPayment.paymentId ● ID! non-null scalar
The id of the payment to refund (Invoice.payments[].id, as returned by payInvoice).
refundPayment.amount ● Float! non-null scalar
Amount to refund. Must be greater than 0 and no more than the payment's remaining unrefunded amount.
refundPayment.reason ● RefundReason! non-null enum
The reason for the refund.
refundPayment.comment ● String scalar
Optional note stored as the refund's comment (max 500 characters).
Type
RefundPaymentPayload object
The result of refunding a payment on an invoice.