Refund vs reversal
| Refund | Reversal | |
|---|---|---|
| Customer visibility | Appears on the customer’s EBT account as a credit | Doesn’t appear on the customer’s account |
| Use case | Customer returns, order modifications, partial refunds | Same-day voids, error correction, duplicate charges |
| Partial amounts | Supported | Not supported (full transaction only) |
| API | POST /v1/payment/refund | POST /v1/payment/reverse |
Refund a payment
CallPOST /v1/payment/refund to credit funds back to the customer’s EBT account. You can refund
the full amount or a partial amount.
Request
| Field | Type | Required | Description |
|---|---|---|---|
amount | integer | Yes | Refund amount in cents. |
paymentType | string | Yes | SNAP or EBT_CASH. |
paymentMethodId | string | Yes | The payment method used in the original payment. |
paymentIntentId | string | No | The payment intent to refund. |
orderId | string | No | Your identifier for the order. |
Response
| Field | Type | Description |
|---|---|---|
refundIntentId | string | A unique identifier for the refund. |
Idempotency
Pass anIdempotency-Key header to safely retry refund requests without processing the same refund
twice. If the API has already processed a request with the same key, it returns the original
response.
- Node.js
- Python
- Kotlin
- Java
Reverse a payment
CallPOST /v1/payment/reverse to void a transaction. The reversal doesn’t appear on the
customer’s EBT account. You can reverse a payment or a refund by providing the corresponding ID.
Request
Provide one of the following:| Field | Type | Required | Description |
|---|---|---|---|
paymentIntentId | string | No | The payment intent to reverse. |
refundIntentId | string | No | The refund to reverse. |
Response
| Field | Type | Description |
|---|---|---|
retrievalReferenceNumber | string | A reference number for the reversal. |
- Node.js
- Python
- Kotlin
- Java