Create a Refund
When you create a new refund, you must specify a Payment or a PaymentIntent object on which to create it. Creating a new refund will refund a charge that has previously been created but not yet refunded. Funds will be refunded to the credit or debit card that was originally charged. You can optionally refund only part of a charge. You can do so multiple times, until the entire charge has been refunded. Once entirely refunded, a payment can't be refunded again. This method will raise an error when called on an already-refunded charge, or when trying to refund more money than is left on a charge.
Request parameters for creating a new refund.
- Type: object · RefundBase
Refund objects allow you to refund a previously created payment that isn't refunded yet. Funds are refunded to the credit or debit card that's initially charged.
- application/json
- application/json
- application/json
- application/json
- application/json
curl https://api.paypercut.io/v1/refunds \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '{
"amount": 100,
"payment": "01K755J9SV2364REVHB915Z2FW",
"payment_intent": "01K755J9SV2364REVHB915Z2FW",
"reason": "duplicate"
}'
{
"amount": 100,
"payment": "01K755J9SV2364REVHB915Z2FW",
"payment_intent": "01K755J9SY55CS04SQ3JX1NX36",
"reason": "duplicate",
"id": "01K755J9SV2364REVHB915Z2FW",
"currency": {
"iso": "usd",
"scale": 2
},
"destination_details": {
"type": "string",
"card": {
"reference": "string",
"reference_status": "string",
"reference_type": "string",
"type": "pending"
}
},
"failure_reason": "string",
"pending_reason": "charge_pending",
"status": null,
"created": "2026-04-03T12:46:07.666Z",
"updated": "2026-04-03T12:46:07.666Z"
}
