TABLE OF CONTENTS
Voiding and Refunding Common Questions
Any payment processed through Exact can be either voided, or refunded, either fully or partially.
- Customers may not receive their funds for 5–10 days after the refunds depending on their bank.
- More than one refund can be processed against a charge. However, you can’t reimburse a total greater than the original charge amount.
- Can pre-authorizations be voided?
- yes, unless there has already been a completion against it.
- yes, unless there has already been a completion against it.
- When to use a void rather than a refund?
- Merchants should run a List Transactions request to determine the transaction status. If the transaction is approved but not yet settled it should be voided. If it is approved and settled, then a refund must be used.
- Merchants should run a List Transactions request to determine the transaction status. If the transaction is approved but not yet settled it should be voided. If it is approved and settled, then a refund must be used.
- Can a Refund be voided?
- Refunds can be voided until settled.
- Refunds can be voided until settled.
- Can transactions be voided or refunded through the PayFac Dashboard?
- This is currently unavailable.
- This is currently unavailable.
- What about reversing ACH transactions?
- ACH transactions can be voided, but not refunded.
- ACH transactions can be voided, but not refunded.
- Can transactions be voided or refunded through the PayFac Dashboard?
- This is currently unavailable.
Processing a Void via the API
Void a specific payment for a given account
1. Start by identifying if the transaction is approved but yet to be settled using the Get Payments for a given account request:
"id": "6463c477950e05978407ae32", "paymentId": "6463c477950e05978407ae32", "terminalId": "64625a01c816a98a00fdd995", "merchantId": "64625a002e31011546388b0c", "accountId": "64625a000b46cb07fd21d1d5", "type": "payment", "status": "completed", "approved": true, "captured": true, "voided": false, "refunded": false, "settled": false, "authorization": "ET197482", "amount": 10000, "sentToBank": true, "createdAt": "2023-05-16T17:59:19.465Z", "funded": false, "customerId": "64625ab2bcfcc51e1ffa1341", "reference": { "customerRef": "customerTokenTest", "referenceNo": "96381504" }, "currencyCode": "USD", "bankResponse": { "code": "AA", "message": "Approved Transaction"
2. Take the paymentId and authorization and use it for the Void a specific payment for a given account request:
Note: A void must be for the full amount otherwise an Invalid paymentId message will be returned!
{ "amount": 10000, "authorization": "ET197482" }
3. The response will show "type": "void" and if successful, "status": "completed".
{ "id": "64779162264c131d94006319", "paymentId": "64779162264c131d94006319", "terminalId": "64625a01c816a98a00fdd995", "merchantId": "64625a002e31011546388b0c", "accountId": "64625a000b46cb07fd21d1d5", "type": "void", "status": "completed", "approved": true, "captured": false, "voided": false, "refunded": false, "settled": false, "authorization": "ET138304", "amount": 10000, "sentToBank": true, "createdAt": "2023-05-31T18:26:42.339Z", "funded": false, "currencyCode": "USD", "bankResponse": { "code": "AA", "message": "Approved Transaction"
Processing a Refund via the API
Refund a specific payment for a given account
1. Start by identifying if the transaction is approved and settled using the Get Payments for a given account request:
"id": "6466973779ec21386cc513d4", "paymentId": "6466973779ec21386cc513d4", "terminalId": "64625a01c816a98a00fdd995", "merchantId": "64625a002e31011546388b0c", "accountId": "64625a000b46cb07fd21d1d5", "type": "payment", "status": "completed", "approved": true, "captured": true, "voided": false, "refunded": false, "settled": false, "authorization": "ET116539", "amount": 100, "sentToBank": true, "createdAt": "2023-05-18T21:23:03.114Z", "funded": false, "customerId": "64668e4090fd7871007e8ff4", "reference": { "customerRef": "iancallaghan", "referenceNo": "123456" }, "currencyCode": "USD", "bankResponse": { "code": "AA", "message": "Approved Transaction"
2. Take the paymentId and authorization and use it for the Refund a specific payment for a given account request:
Note: A refund can be for any amount less than the total captured by the original payment.
{ "amount": 100, "authorization": "ET116539" }
3. The response will show "type": "refund" and if successful, "status": "completed".
"id": "6477a119595fde82ee8223f9", "paymentId": "6477a119595fde82ee8223f9", "terminalId": "64625a01c816a98a00fdd995", "merchantId": "64625a002e31011546388b0c", "accountId": "64625a000b46cb07fd21d1d5", "type": "refund", "status": "completed", "approved": true, "captured": false, "voided": false, "refunded": false, "settled": false, "authorization": "RETURN", "amount": 100, "sentToBank": true, "createdAt": "2023-05-31T19:33:45.538Z", "funded": false, "currencyCode": "USD", "bankResponse": { "code": "AA", "message": "Approved Transaction"
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article