Transaction Void APIs
Void API
Void
Cancels a Reload, Package Sale, or Barcode Payment transaction that is within its funding delay window. The void request must be submitted before the fundingDelaySeconds value returned by the original transaction elapses.
Supported transaction types:
Reload—accountNumberis required;externIdandbarcodeare not required.Sale(Package Sale) —externIdis required;accountNumberis not required.BarcodePayment—barcodeis required;accountNumberis not required.
If transactionType is not provided, it defaults to Reload.
Note: Every request must include a unique
X-GD-RequestIdheader value.
Syntax:
POST {baseUrl}/transaction/void
Request
Example — Void a Reload
POST {baseUrl}/transaction/void
Authorization: Bearer {access_token}
Content-Type: application/json
X-GD-RequestId: req-20260115-vd002
{
"originalTransactionId": "req-20260115-rld001",
"accountNumber": "4111111111111234",
"externId": "",
"barcode": "",
"transactionType": "Reload",
"metadata": {
"storeId": "STORE-0042",
"merchantId": "MRC-20001",
"registerId": "REG-01",
"userId": "[email protected]",
"requestDateTime": "2026-01-15T12:05:00Z"
}
}
Example — Void a Package Sale
POST {baseUrl}/transaction/void
Authorization: Bearer {access_token}
Content-Type: application/json
X-GD-RequestId: req-20260115-vd003
{
"originalTransactionId": "req-20260115-pks001",
"externId": "7392048156302",
"transactionType": "Sale",
"metadata": {
"storeId": "STORE-0042",
"merchantId": "MRC-20001",
"registerId": "REG-01",
"userId": "[email protected]",
"requestDateTime": "2026-01-15T12:05:00Z"
}
}
Request Parameters
| Parameter | Required | Type | Pattern | Description |
|---|---|---|---|---|
X-GD-RequestId | Yes | String | Max: 50 | Unique transaction identifier generated by the retailer. Passed as HTTP header. |
requestDateTime | Yes | DateTime | YYYY-MM-DDTHH:MM:SSZ | UTC timestamp of the void request. |
storeId | Yes | String | Max: 20 | Store number for the location where the original transaction occurred. |
merchantId | Yes | String | Max: 20 | Unique merchant ID assigned by Green Dot. |
registerId | No | String | Max: 20 | Register identifier at the store. |
userId | No | String | Max: 50 | Unique ID of the user performing the void. |
originalTransactionId | Yes | String | Max: 50 | The X-GD-RequestId value from the original transaction to be voided. |
accountNumber | Conditional | String | 16-digit PAN | Card account number (PAN). Required when transactionType is Reload. |
externId | Conditional | String | Max: 30 | Last 19 digits of the package barcode. Required when transactionType is Sale. |
barcode | Conditional | String | Max: 30 | Full 30-digit barcode or last 19 digits. Required when transactionType is BarcodePayment. |
transactionType | No | Enum | Reload, Sale, BarcodePayment | Type of the original transaction being voided. Defaults to Reload if not provided. |
Response
Successful Response
HTTP/1.1 200 OK
X-GD-ResponseId: d5e6f7a8-b9c0-1234-defa-bc9876543210
{
"requestId": "req-20260115-vd002",
"responseId": "d5e6f7a8-b9c0-1234-defa-bc9876543210",
"responseCode": 0,
"responseDescription": "Success",
"responseDateTime": "2026-01-15T12:05:00.8192011Z"
}
Response Parameters
| Parameter | Required | Type | Pattern | Description |
|---|---|---|---|---|
requestId | Yes | String | Max: 50 | Echo of the X-GD-RequestId from the request header. |
responseId | Yes | String | UUID | Unique response identifier generated by Green Dot. |
responseCode | Yes | Numeric | 0–1000 | Success/failure code. See Response Codes. |
responseDescription | Yes | String | Max: 255 | Human-readable description of the response code. |
responseDateTime | Yes | DateTime | YYYY-MM-DDTHH:mm:ss.fffffffZ | UTC timestamp of the response. |
Response Codes
| Code | Code Text | Response Description | Explanation |
|---|---|---|---|
| 0 | Success | — | Void processed successfully. |
| 100 | InvalidParameter | (See description) | Invalid parameter in the request. Examples: MerchantId not supplied, StoreId not supplied. |
| 130 | InvalidMerchant | Invalid Merchant | MerchantId not found or not enabled. |
| 600 | UnableToProcessRequest | (See description) | Unable to process. Includes duplicate void detection and other downstream errors. |
| 800 | InvalidStore | Store was not found | Store not found, not associated with this partner, or does not support this operation. |
| 840 | TransactionNotFound | (See description) | No matching transaction found for the provided originalTransactionId, or the original transaction belongs to a different store or partner. |
| 841 | NotVoidableTransactionType | Unload can not be voided | Transaction type cannot be voided. Only Reload and Sale transactions are voidable. |
| 842 | TransactionAlreadyVoided | Transaction was already voided | The transaction has already been voided. |
| 843 | TransactionAlreadyPosted | Transaction was already committed | The transaction has been posted and cannot be voided. |
| 848 | TransactionAlreadyReturned | Transaction was already returned | The transaction has been returned and cannot be voided. |
| 999 | RequestTimeout | Request Timeout | Request expired or no downstream response received. |
| 1000 | GeneralFailure | GeneralFailure | Service failure. |
Updated 1 day ago
Did this page help you?
