Package Sale APIs

Package Sale API

This section covers endpoints for selling new prepaid card packages and MoneyPak products at retail point of sale.

The typical integration flow is:

  1. Get Package Details — Validate the package barcode and confirm it is available for purchase before presenting the transaction to the customer.
  2. Package Sale — Commit the sale.

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


Get Package Details

Validates the sale of a new card package or MoneyPak prior to initiating the transaction. Verifies that the externId scanned from the package barcode is available for purchase and returns applicable fees and limits.

Syntax:

POST {baseUrl}/package/details

Request

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

{
  "metadata": {
    "storeId": "STORE-0042",
    "merchantId": "MRC-20001",
    "requestDateTime": "2026-01-15T12:00:00Z"
  },
  "externId": "7392048156302",
  "transactionAmount": "20.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. If not supplied, an InvalidParameter error is returned.
merchantIdYesStringMax: 20Unique merchant ID assigned by Green Dot.
registerIdNoStringMax: 20Register identifier at the store.
userIdNoStringMax: 50Unique ID of the user performing the transaction.
externIdYesStringMax: 30The last 19 digits of the barcode on the package.
transactionAmountNoDecimale.g. 20.00Amount to be loaded. If provided, 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: c4d5e6f7-a8b9-0123-cdef-012345678901

{
  "requestId": "req-20260115-pkd001",
  "responseId": "c4d5e6f7-a8b9-0123-cdef-012345678901",
  "responseCode": 0,
  "responseDescription": "Success",
  "responseDateTime": "2026-01-15T12:00:07.1411753Z"
}

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.

Response Codes

CodeCode TextResponse DescriptionExplanation
0SuccessSuccessPackage validated and available for purchase.
100InvalidParameter(See description)Invalid parameter. Examples: StoreId required, MerchantId required.
130InvalidMerchantInvalid MerchantMerchantId not found or not enabled.
150InvalidPinInvalid PinPIN not found or PIN status is not valid.
600UnableToProcessRequestPackage Id not foundThe externId on the package was not found.
700LoadLimitValidationFailed(See description)Per-transaction reload limit reached.
800InvalidStore(See description)Store not found, not associated with this partner, or does not support this operation.
999RequestTimeoutRequest TimeoutRequest expired or no downstream response received.
1000GeneralFailureGeneral FailureService failure.

Package Sale

Sells a new card package or MoneyPak to a customer. Call Get Package Details first to confirm the package is available before initiating this request.

Syntax:

POST {baseUrl}/package/sale

Request

POST {baseUrl}/package/sale
Authorization: Bearer {access_token}
Content-Type: application/json
X-GD-RequestId: req-20260115-pks001

{
  "metadata": {
    "storeId": "STORE-0042",
    "merchantId": "MRC-20001",
    "registerId": "REG-01",
    "userId": "[email protected]",
    "requestDateTime": "2026-01-15T12:00:00Z"
  },
  "externId": "7392048156302",
  "transactionAmount": 20.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. If not supplied, an InvalidParameter error is returned.
merchantIdYesStringMax: 20Unique merchant ID assigned by Green Dot.
registerIdNoStringMax: 20Register identifier at the store.
userIdNoStringMax: 50Unique ID of the user performing the transaction.
externIdYesStringMax: 19The last 19 digits of the barcode on the package.
transactionAmountYesDecimale.g. 20.00Amount to be loaded. 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: d5e6f7a8-b9c0-1234-defa-123456789012

{
  "requestId": "req-20260115-pks001",
  "responseId": "d5e6f7a8-b9c0-1234-defa-123456789012",
  "responseCode": 0,
  "responseDescription": "Success",
  "responseDateTime": "2026-01-15T12:00:07.1411753Z",
  "fundingDelaySeconds": "60",
  "receiptText": "Please wait 10 minutes to register your card online or by phone. You will need the temporary card number found on the card in your package. Keep this receipt for your records."
}

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.
fundingDelaySecondsNoStringe.g. "120"Length of the funding delay window in seconds. The transaction may be voided within this window. Note: actual fund availability may take up to 2 additional minutes due to backend processing.
receiptTextNoStringMax: 255Receipt text to display or print for the customer.

Response Codes

CodeCode TextResponse DescriptionExplanation
0SuccessSuccessPackage sold successfully.
100InvalidParameter(See description)Invalid parameter. Examples: StoreId required, MerchantId required.
130InvalidMerchantInvalid MerchantMerchantId not found or not enabled.
600UnableToProcessRequestPackage Id not foundThe externId on the package was not found.
700LoadLimitValidationFailed(See description)Per-transaction reload limit reached.
800InvalidStore(See description)Store not found, not associated with this partner, or does not support this operation.
999RequestTimeoutRequest TimeoutRequest expired or no downstream response received.
1000GeneralFailureGeneral FailureService failure.

Did this page help you?