Barcode Payment

🚧

This offering is not yet live, and contract(s) may change. However, you can read below to get a sneak-peak before full release!

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

ParameterRequired(Y/N)Format/Data TypePatternDescription
X-GD-RequestIdYesStringMaxLength:50It is a unique transaction identifier that is generated by the retailer.
requestDateTimeYesDateTime2023-08-08T12:34:56ZTime stamp at which transaction occurred.
The time stamp has to be in UTC time zone and follow the following date and time formats:
• YYYY-MM-DDTHH:mm:ssZ
registerIdNoStringMaxLength: 20Register where the transaction occurred.
userIdNoStringMaxLength:50The unique ID of the user generating the transaction.
UserID is now a required field to support ‘teller incentive program’.
storeIdYesStringMaxLength: 20The store number associated with the retailer that sold the package.
If not supplied, InvalidParameter (Code:100) error will be return.
merchantIdYesStringMaxLength: 20The unique merchant Id. Defined by Green Dot – Merchant corresponding with Retailer.
barcodeYesStringMax: 30Barcode is 30 digits. The client can pass the full 30 digits or the last 19 digits of the barcode.
transactionAmountYesDecimal500.00Amount of money to be reloaded. Must be greater than zero.
For example: Five Hundred Dollars is entered as 500.00. Twenty Dollars is entered as 20.00.
paymentProgramTypeYesEnumRegular,
CheckCashing
Type of payment option that customer selects.
For example:
• If the customer is paying with a check, then it will be “CheckCashing”.
• If they are paying by cash, or a combination of check and cash, PaymentProgramType will be “Regular”.

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

ParameterRequired(Y/N)Format/Data TypePatternDescription
requestIdYesStringMaxLength:50The unique request ID from request.
responseIdYesStringMaxLength:50The unique response identifier (generated by GreenDot).
responseDateTimeYesDateTime2023-09-07T16:12:23.4541445+08:00Time stamp at which transaction occurred.
The time stamp is in UTC time zone and follow the following date and time formats:
• YYYY-MM-DDTHH:mm:ssfffffffK
responseCodeYesNumericMaxLength:4Indicates success and failure of the response codes. It is in the numeric format.
responseDescriptionYesStringMaxLength:255Describes the Response Code in more detail. It is in the String format.
pendingBalanceYesString“1500.00”Transaction amount + card balance will be returned as PendingBalance in successful response. Only successful reload will have pendingBalance value.
fundingDelaySecondsYesString“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.
receiptTextNoStringMax 1000Describes the receipt text.

Response Cases

CodeCodeTextResponse DescriptionExplanation of the Response Code
1SuccessFundingDelaySuccessFundingDelaySuccess with funding delay. For transactions that have funding delay.
100InvalidParameter• Either AccountNumber or AccountIdentifier is required
• MerchantId is required
• RequestId is required
• RequestDateTime is required
• UserId is required
• StoreId is required
• RequestId is too long
• UserId is too long
• StoreId is too long
• MerchantId is too long
• Invalid length of AccountNumber
• The field RegisterId must be a string or array type with a maximum length of '20'.
Invalid parameter when validating request.
460OperationNotAllowedInvalid Initial Load RequestInvalid Initial load. Initial load can only be done once.

This response code will be used if card already had initial load
OR
Time window for the initial load has expired.
OR
Perform InitialLoad with invalid card
130InvalidMerchantInvalidMerchantMerchantId in request has not been found/enabled in the system.
800InvalidStore• Store was not found
• Store feature is invalid
Store is not found; store is not for the partner or store does not support this operation.
801StoreBlockedThe store is blockedStore is blocked by store blocker rule.
700LoadLimitValidationFailed• Load amount should be between XX and XXX
• The transfer would cause the account's maximum allowed balance to be exceeded.
• Exceeds account daily load limit
Per transaction, account balance or daily account reload limit reached
110InvalidAccountNumber• AccountNotFound
• Account Not Found.
• AccountStatus is Closed.
• AccountStatus is Pending.
• AccountStatus is Locked.
• Account Status is Restricted
• This account is in a restricted state that does not allow inbound or internal transfers.
Account is not found; account status is not valid, or account is not reloadable for current partner
600UnableToProcessRequestDuplicate 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.
842TransactionAlreadyVoidedTransaction was already voidedVoid request has been received before reload.
Decline reload request and mark transaction as voided.
1000GeneralFailureGeneralFailureService failure.