Refunds
You can refund your customers directly by using the Paystack Refund API
Creating a refund
You'll just need to send a POST request to the Create RefundAPI endpoint and pass the transaction ID or reference in the transaction
field.
To initiate a partial refund, you enter the amount you want to refund in the amount
field.
Maximum refund amount
The refund amount must not be more than the original transaction amount.
1curl https://api.paystack.co/refund2 -H 'authorization: Bearer YOUR_SECRET_KEY'3 -H 'cache-control: no-cache'4 -H 'content-type: application/json'5 -d '{ "transaction":"qufywna9w9a5d8v", "amount":"10000" }6 -X POST7
1{2 "status": true,3 "message": "Refund has been queued for processing",4 "data": {5 "transaction": {6 "id": 627178582,7 "reference": "qufywna9w9a5d8v",8 "amount": 20000,9 "paid_at": "2020-04-17T14:41:37.000Z",10 "channel": "card",11 "currency": "NGN",12 "authorization": {13 "exp_month": null,14 "exp_year": null,15 "account_name": null16 },17 "customer": {},18 "plan": {},19 "subaccount": {},20 "order_id": null,21 "paidAt": "2020-04-17T14:41:37.000Z"22 },23 "integration": 428626,24 "deducted_amount": 0,25 "channel": null,27 "customer_note": "Refund for transaction qufywna9w9a5d8v",28 "status": "pending",30 "expected_at": "2020-05-28T11:12:17.606Z",31 "currency": "NGN",32 "domain": "test",33 "amount": 10000,34 "fully_deducted": false,35 "id": 747680,36 "createdAt": "2020-05-19T11:12:17.756Z",37 "updatedAt": "2020-05-19T11:12:17.756Z"38 }39}
List Refunds
To pull a list of your refunds, you can use the List RefundsAPI endpoint.
1curl https://api.paystack.co/refund2-H 'authorization: Bearer YOUR_SECRET_KEY'3-H 'cache-control: no-cache'4-H 'content-type: application/json'5-X GET
1{2 "status": true,3 "message": "Refunds retrieved",4 "data": [5 {6 "integration": 428626,7 "transaction": 627178582,8 "dispute": null,9 "settlement": null,10 "id": 747680,11 "domain": "test",12 "currency": "NGN",13 "amount": 10000,14 "status": "processed",15 "refunded_at": null,17 "customer_note": "Refund for transaction qufywna9w9a5d8v",19 "deducted_amount": 10000,20 "fully_deducted": true,21 "createdAt": "2020-05-19T11:12:17.000Z"22 },23 {24 "integration": 428626,25 "transaction": 640672957,26 "dispute": null,27 "settlement": null,28 "id": 742609,29 "domain": "test",30 "currency": "NGN",31 "amount": 20000,32 "status": "processed",33 "refunded_at": null,35 "customer_note": "blah blah",36 "merchant_note": "yada yada",37 "deducted_amount": 20000,38 "fully_deducted": true,39 "createdAt": "2020-04-30T10:43:47.000Z"40 }41 ],42 "meta": {43 "total": 2,44 "skipped": 0,45 "perPage": 50,46 "page": 1,47 "pageCount": 148 }49}