Barcode Payment
Barcode Payment API Method
This method is used to deposit cash to a Green Dot or Green Dot Partner Card, or make a cash payment towards an eCommerce order, utility bill, loan, rent etc. using a barcode.
Every request triggered should have a unique X-GD-RequestId value in the header
Syntax
POST {baseUrl}/barcode/payment
Example Request
Success Request
POST {baseUrl}/barcode/payment
Authorization: bearer {token}
Content-Type: application/json
X-GD-RequestId: 123456789
{
"metadata": {
"merchantId": "FSCC0342",
"registerId": "01001",
"requestDateTime": "2013-09-18T10:53:00Z",
"storeId": "CC970",
"userId": "[email protected]"
},
"barcode": "1234567890123456",
"paymentProgramType": "Regular",
"transactionAmount": 50.00
}
Request Parameters
Parameter | Required(Y/N) | Format/Data Type | Pattern | Description |
---|---|---|---|---|
X-GD-RequestId | Yes | String | MaxLength:50 | It is a unique transaction identifier that is generated by the retailer. |
requestDateTime | Yes | DateTime | 2023-08-08T12:34:56Z | Time stamp at which transaction occurred. |
registerId | No | String | MaxLength: 20 | Register where the transaction occurred. |
userId | No | String | MaxLength:50 | The unique ID of the user generating the transaction. |
storeId | Yes | String | MaxLength: 20 | The store number associated with the retailer that sold the package. |
merchantId | Yes | String | MaxLength: 20 | The unique merchant Id. Defined by Green Dot – Merchant corresponding with Retailer. |
barcode | Yes | String | Max: 30 | Barcode is 30 digits. The client can pass the full 30 digits or the last 19 digits of the barcode. |
transactionAmount | Yes | Decimal | 500.00 | Amount of money to be reloaded. Must be greater than zero. |
paymentProgramType | Yes | Enum | Regular, | Type of payment option that customer selects. |
Example Response
Success Response
HTTP/1.1 200 OK
Content-Type: application/json
X-GD-RequestId: 201309181254
X-GD-ResponseId: 873e01e2-76fe-4fd1-8b18-2ccf5f2d5af9
X-GD-ResponseCode: 1
{
"metadata": {
"requestId": "201309181254",
"responseCode": 1,
"responseDescription": "SuccessFundingDelay",
"responseDateTime": "2013-09-18T10:53:10.2543261Z",
"responseId": "873e01e2-76fe-4fd1-8b18-2ccf5f2d5af9"
},
"pendingBalance": "100.00",
"fundingDelaySeconds": "60"
"receiptText":"Keep your receipt as proof of your reload. Check with your card provider for your updated account balance. Stores cannot provide refunds or exchanges."
}
Response Parameters
Parameter | Required(Y/N) | Format/Data Type | Pattern | Description |
---|---|---|---|---|
requestId | Yes | String | MaxLength:50 | The unique request ID from request. |
responseId | Yes | String | MaxLength:50 | The unique response identifier (generated by GreenDot). |
responseDateTime | Yes | DateTime | 2023-09-07T16:12:23.4541445+08:00 | Time stamp at which transaction occurred. |
responseCode | Yes | Numeric | MaxLength:4 | Indicates success and failure of the response codes. It is in the numeric format. |
responseDescription | Yes | String | MaxLength:255 | Describes the Response Code in more detail. It is in the String format. |
pendingBalance | Yes | String | “1500.00” | Transaction amount + card balance will be returned as PendingBalance in successful response. Only successful reload will have pendingBalance value. |
fundingDelaySeconds | Yes | String | “60” | The length of the funding delay in seconds. The transaction may be voided immediately after it had succeeded and up to FundingDelaySeconds. Please note that the actual delay the funds will be usable may be up to 2 minutes longer that this value due to some asynchronous processing in the backend system. Only successful reload will have fundingDelaySeconds value. |
receiptText | No | String | Max 1000 | Describes the receipt text. |
Response Cases
Code | CodeText | Response Description | Explanation of the Response Code |
---|---|---|---|
1 | SuccessFundingDelay | SuccessFundingDelay | Success with funding delay. For transactions that have funding delay. |
100 | InvalidParameter | • Either AccountNumber or AccountIdentifier is required | Invalid parameter when validating request. |
460 | OperationNotAllowed | Invalid Initial Load Request | Invalid Initial load. Initial load can only be done once. This response code will be used if card already had initial load |
130 | InvalidMerchant | InvalidMerchant | MerchantId in request has not been found/enabled in the system. |
800 | InvalidStore | • Store was not found | Store is not found; store is not for the partner or store does not support this operation. |
801 | StoreBlocked | The store is blocked | Store is blocked by store blocker rule. |
700 | LoadLimitValidationFailed | • Load amount should be between XX and XXX | Per transaction, account balance or daily account reload limit reached |
110 | InvalidAccountNumber | • AccountNotFound | Account is not found; account status is not valid, or account is not reloadable for current partner |
600 | UnableToProcessRequest | Duplicate transaction detected. | Unable to process request due to duplicate transaction and downstream error. The duplicate reload request is a request with same partner, retail chain, store, user, card number and amount within 3 minutes. |
842 | TransactionAlreadyVoided | Transaction was already voided | Void request has been received before reload. |
1000 | GeneralFailure | GeneralFailure | Service failure. |
Updated about 24 hours ago