Universal Reload API (POB)

Universal Reload (Formerly Point of Banking)

Deposits cash to any valid US debit card. Unlike the standard Reload endpoint, Universal Reload supports cards outside the Green Dot program and requires additional customer identity fields for compliance purposes.

The typical integration flow is:

  1. Get Card Details - Validate the card and retrieve fee/limit information before presenting the transaction to the customer.
  2. Universal Reload - Commit a cash deposit to any valid US debit card (requires additional customer identity fields).

Note: Every request must include a unique X-GD-RequestId header value.

Get Card Details

Validates a cash deposit to a prepaid or debit card prior to initiating the transaction. Returns fee, limit, and card type information to display to the customer before proceeding.

Syntax:

POST {baseUrl}/card/details

Request

POST {baseUrl}/card/details
Authorization: Bearer {access_token}
Content-Type: application/json
X-GD-RequestId: req-20260115-crd001

{
  "metadata": {
    "storeId": "STORE-0042",
    "merchantId": "MRC-20001",
    "registerId": "REG-01",
    "userId": "[email protected]",
    "requestDateTime": "2026-01-15T12:00:00Z"
  },
  "accountNumber": "4111111111111234",
  "transactionAmount": "100.00",
  "paymentProgramType": "Regular"
}

Request Parameters

ParameterRequiredTypePatternDescription
X-GD-RequestIdYesStringMax: 50Unique transaction identifier generated by the retailer. Passed as HTTP header.
requestDateTimeYesDateTimeYYYY-MM-DDTHH:MM:SSZUTC timestamp of the transaction.
storeIdYesStringMax: 20Store number for the location where the transaction occurred.
merchantIdYesStringMax: 20Unique merchant ID assigned by Green Dot.
registerIdNoStringMax: 20Register identifier at the store.
userIdNoStringMax: 50Unique ID of the user performing the transaction.
accountNumberYesString16-digit PANCard account number (PAN).
transactionAmountYesDecimale.g. 100.00Amount of cash to be deposited. Must be greater than zero.
paymentProgramTypeYesEnumRegular, CheckCashingPayment option selected by the customer. Use CheckCashing when the customer is paying with a check.

Response

Successful Response

HTTP/1.1 200 OK
X-GD-ResponseId: b7c8d9e0-f1a2-3456-bcde-789012345abc

{
  "requestId": "req-20260115-crd001",
  "responseId": "b7c8d9e0-f1a2-3456-bcde-789012345abc",
  "responseCode": 0,
  "responseDescription": "Success",
  "responseDateTime": "2026-01-15T12:00:07.9632687Z",
  "reloadFee": "3.95",
  "merchantFee": "2.00",
  "maxAllowedAmount": "9500.00",
  "minAllowedAmount": "20.00",
  "availableBalance": "150.00",
  "cardType": "Normal"
}

Error Response Example

HTTP/1.1 200 OK
X-GD-ResponseId: c8d9e0f1-a2b3-4567-cdef-890123456bcd

{
  "requestId": "req-20260115-crd001",
  "responseId": "c8d9e0f1-a2b3-4567-cdef-890123456bcd",
  "responseCode": 110,
  "responseDescription": "Account Not Found.",
  "responseDateTime": "2026-01-15T12:00:08.8784305Z"
}

Response Parameters

ParameterRequiredTypePatternDescription
requestIdYesStringMax: 50Echo of the X-GD-RequestId from the request header.
responseIdYesStringUUIDUnique response identifier generated by Green Dot.
responseCodeYesNumeric0–1000Success/failure code. See Response Codes.
responseDescriptionYesStringMax: 255Human-readable description of the response code.
responseDateTimeYesDateTimeYYYY-MM-DDTHH:mm:ss.fffffffZUTC timestamp of the response.
reloadFeeYesDecimale.g. "3.95"Fee charged to the customer for this transaction. Returned when all validations except load limits pass.
merchantFeeYesDecimale.g. "2.00"Fee credited to the merchant for this transaction. Returned when all validations except load limits pass.
maxAllowedAmountYesStringe.g. "9500.00"Maximum amount allowed for this reload based on load limit rules. Returned when load limit check is applicable.
minAllowedAmountYesStringe.g. "20.00"Minimum amount allowed for this reload based on load limit rules. Returned when load limit check is applicable.
availableBalanceNoStringe.g. "150.00"Available balance on the card's main account purse. Returned only for cards issued under the requesting partner's program.
cardTypeYesEnumNormal, PointofBankingCard type classification. Values: Normal, PointofBanking. Returned when validations pass.

Response Codes

CodeCode TextResponse DescriptionExplanation
0SuccessSuccessRequest processed successfully.
100InvalidParameter(See description)Invalid parameter in the request. Examples: MerchantId not supplied, StoreId not supplied.
110InvalidAccount(See description)Account not found, account status is not valid, or account is not reloadable for the current partner.
130InvalidMerchantInvalid MerchantMerchantId not found or not enabled.
600UnableToProcessRequest—Unable to process due to fee split not configured or downstream error.
700LoadLimitValidationFailed(See description)Transaction amount does not pass load limit validation.
800InvalidStoreStore was not foundStore not found, not associated with this partner, or does not support this operation.
801StoreBlockedThe store is blockedStore blocked by Green Dot store blocker rules.
999RequestTimeoutRequest TimeoutRequest expired or no response received from downstream service.
1000GeneralFailureGeneral FailureService failure.

Universal Reload

Syntax:

POST {baseUrl}/pointofbanking/payment

Request

POST {baseUrl}/pointofbanking/payment
Authorization: Bearer {access_token}
Content-Type: application/json
X-GD-RequestId: req-20260115-pob001

{
  "metadata": {
    "storeId": "STORE-0042",
    "merchantId": "MRC-20001",
    "registerId": "REG-01",
    "userId": "[email protected]",
    "requestDateTime": "2026-01-15T12:00:00Z"
  },
  "accountNumber": "4111111111111234",
  "transactionAmount": "200.00",
  "paymentProgramType": "Regular",
  "customerFirstName": "Jane",
  "customerLastName": "Smith",
  "customerZipcode": "90210",
  "cardExpirationDate": "2612"
}

Request Parameters

ParameterRequiredTypePatternDescription
X-GD-RequestIdYesStringMax: 50Unique transaction identifier generated by the retailer. Passed as HTTP header.
requestDateTimeYesDateTimeYYYY-MM-DDTHH:MM:SSZUTC timestamp of the transaction.
storeIdYesStringMax: 20Store number for the location where the transaction occurred.
merchantIdYesStringMax: 20Unique merchant ID assigned by Green Dot.
registerIdNoStringMax: 20Register identifier at the store.
userIdNoStringMax: 50Unique ID of the user performing the transaction.
accountNumberYesString16-digit PANCard account number (PAN).
transactionAmountYesDecimale.g. 200.00Amount of cash to be deposited. Must be greater than zero.
paymentProgramTypeYesEnumRegular, CheckCashingPayment option selected by the customer. Use CheckCashing when the customer is paying with a check.
customerFirstNameYesStringMax: 25Customer's first name.
customerLastNameYesStringMax: 25Customer's last name.
customerZipcodeYesStringMax: 5Customer's ZIP code.
cardExpirationDateYesStringyyMMCard expiration date in yyMM format (e.g., 2612 for December 2026).

Response

Successful Response

HTTP/1.1 200 OK
X-GD-ResponseId: f1a2b3c4-d5e6-7890-fabc-123456789e0f

{
  "requestId": "req-20260115-pob001",
  "responseId": "f1a2b3c4-d5e6-7890-fabc-123456789e0f",
  "responseCode": 0,
  "responseDescription": "Success",
  "responseDateTime": "2026-01-15T12:00:10.2543261Z",
  "externalReferenceID": "ref-00098765432",
  "receiptText": "Keep your receipt as proof of your deposit. Check with your card provider for your updated account balance. Stores cannot provide refunds or exchanges."
}

Response Parameters

ParameterRequiredTypePatternDescription
requestIdYesStringMax: 50Echo of the X-GD-RequestId from the request header.
responseIdYesStringUUIDUnique response identifier generated by Green Dot.
responseCodeYesNumeric0–1000Success/failure code. See Response Codes.
responseDescriptionYesStringMax: 255Human-readable description of the response code.
responseDateTimeYesDateTimeYYYY-MM-DDTHH:mm:ss.fffffffZUTC timestamp of the response.
externalReferenceIDYesStringMax: 50External reference ID for the Point of Banking Payment. Returned on successful transactions.
receiptTextNoStringMax: 1000Receipt text to display or print for the customer.

Response Codes

CodeCode TextResponse DescriptionExplanation
0SuccessSuccessPoint of Banking Payment processed successfully.
100InvalidParameter(See description)Invalid parameter in the request. Examples: AccountNumber required, MerchantId required.
110InvalidAccount(See description)Account not found, status not valid, or account not reloadable for this partner.
130InvalidMerchantInvalid MerchantMerchantId not found or not enabled.
460OperationNotAllowed(See description)Operation is not permitted for this card or request type.
600UnableToProcessRequest(See description)Unable to process due to duplicate transaction or downstream error.
700LoadLimitValidationFailed(See description)Per-transaction, account balance, or daily reload limit reached.
800InvalidStore(See description)Store not found, not associated with this partner, or does not support this operation.
801StoreBlockedThe store is blockedStore blocked by store blocker rules.
842TransactionAlreadyVoidedTransaction was already voidedA void was received before the payment completed.
999RequestTimeoutRequest TimeoutRequest expired or no downstream response received.
1000GeneralFailureGeneralFailureService failure.

Did this page help you?