Onbe Prepaid allows partners to manage their payroll program in real-time. Including employee enrollment, real-time identity verification, linking physical cards to accounts, account status checks, and real-time funding/withdrawals.
All API end-points require an authentication header to included with the request. See API Authentication |
This command is used to verify connectivity and proper operation of the web server. You can also use this command to measure networking performance by creating an embedded timestamp.
Note: Unlike other commands, the echo command does not have nested parameters. Instead, it just contains a body of text.
-
End-Point | Method | Content-Type |
---|---|---|
/api/v1/netspend/echo | POST | application/json |
Field | Type | Required | Description |
---|---|---|---|
text | String(100) | Y | Text to echo back. |
-
{ "text": "Hello World!" } |
Type | Description |
---|---|
String(100) | Text passed in to service. |
-
{ "Hello World!" } |
This web service method retrieves the current status information of a cardholder’s account based on the cardholder’s account cash number.
-
End-Point | Method | Content-Type |
---|---|---|
/api/v1/netspend/accountStatusInquiry | POST | application/json |
Field | Type | Required | Description |
---|---|---|---|
txRef | String(100) | Y | Globally unique reference number provided by the partner to identify this transaction. It is recommended that the reference number include a timestamp in milliseconds. |
cashNumber | String(10) | Y | A 10-digit customer account number. |
locationId | String(100) | Y | Store location ID to identify the sale location. Tracks POS origination. |
-
{ "txRef": "0123456789-987456521", "cashNumber": "1234567890", "locationId": "0123" } |
Field | Type | Description |
---|---|---|
txRef | String(100) | Globally unique reference number provided by the partner to identify this transaction. It is recommended that the reference number include a timestamp in milliseconds. |
cashNumber | String(10) | A 10-digit customer account number. |
bank | String(100) | The bank associated with the account. |
routingNumber | String(9) | Routing Number. |
bankAccountNumber | String(30) | The bank account number. |
accountBrand | String(100) | Brand. (ACE Elite, All-Access, NetSpend, Paypal Prepaid, etc) |
tenure | Int | (i.e. # days since account was activated) |
availableBalance | Int | The account available balance in cents. (Ex: 1356 = $13.56) |
accountType | String(30) | The account types: GPR, PAYCARD, BUSINESS, AWARD, CDDA, |
activated | Boolean(5) | The account activation status. |
blocked | Boolean(5) | The account block status. |
firstName | String(100) | The account’s primary owner’s first name. |
middleInitial | String(1) | The account’s primary owner’s middle initial. |
lastName | String(100) | The account’s primary owner’s last name. |
originator | Boolean(40) | The account originating distributor. |
employee | Boolean(5) | True if the cardholder is an employee of the requesting distributor, False otherwise. |
-
{ "txRef": "0123456789-987456521", "cashNumber": "1234567890", "bank": "META", "routingNumber": "12550", "bankAccountNumber": "1234512345", "accountBrand": "Netspend", "tenure": 123, "availableBalance": 8008, "accountType": "GPR", "activated": false, "blocked": true, "firstName": "Alan", "middleInitial": "M", "lastName": "Turing", "originator": true, "employee": true } |
This command is to be used to create a new account. Currently it can only be used to create an account for disbursement and paycards.
-
End-Point | Method | Content-Type |
---|---|---|
/api/v1/netspend/createAccount | POST | application/json |
Parameter | Type | Required | Description |
---|---|---|---|
requestInfo | |||
txRef | String(100) | Y | Globally unique reference number provided by the partner to identify this transaction. It is recommended that the reference number include a timestamp in milliseconds. |
locationId | String(100) | Y | Store location ID to identify the sale location. Tracks POS origination. |
stationId | String(100) | N | Station ID to identify the POS terminal origination. Null allowed. |
tellerID | String(50) | N | Teller ID for the particular teller/employee logged on at the partner. |
customerInfo | |||
firstName | String(100) | Y | Cardholder’s first name. |
middleInitial | String(1) | N | Cardholder’s middle initial. |
lastName | String(100) | Y | Cardholder’s last name. |
dateOfBirth | String(10) | Y | Cardholder’s date of birth in. (Format: mm/dd/yyyy) |
govtIdType | Int | N | Type of government ID. (2 = Social Security Number) |
govtIdCountryCode | String(2) | N | String representing country associated with govIdType. |
govtIdValue | String(50) | N | The characters of the actual government ID. |
streetAddress | String(100) | Y | Cardholder’s street address. No P.O. boxes. |
aptSuite | String(100) | N | Cardholder’s apartment number or suite number. |
zipCode | String(5) | Y | The cardholder’s address zip code. Can contain dash followed by last 4. |
phoneNumber | String(100) | N | Cardholders phone number. Recommended format is without any punctuation. 10 digits. |
String(100) | N | Cardholders email address. | |
shippingStreetAddress | String(100) | N | Customer’s shipping street address. When blank, the address above is used for shipping. (Can be P.O. Box) |
shippingAptSuite | String(100) | N | Apt or Ste for customer’s shipping address. When shippingStreetAddress is blank, this must also be blank or an error is returned. |
shippingZipCode | String(5) | N | Customer’s shipping zip code. When shippingStreetAddress is blank, this must also be blank or an error is returned. |
identityContextInfo | |||
identityContextType | String(2) | N | 1 = Defined by Cash Number 2 = Defined by Pan 3 = Defined by Pseudo Pan 4 = Defined by Provided Context |
identityContextValue | String(30) | N | Depends on the identityContextType. Either a key that we provide (Provided Context), the swiped PAN, the printed Pseudo Pan or Cash Number. |
identityCheckToken | String(36) | N | Token from performIdentityCheck (optional if identityContextType and identityContextValue provided). |
initialCardOrderInfo | |||
orderCardBrand | String(50) | N | Field is nullable if initialCardInfo category is used. |
embossingLine2 | String(21) | N | This is used to add additional information to the card being printed. |
initialCardInfo | |||
initialCardType | String(2) | N | 1 = Defined by Pan |
initialCard | String(100) | N | Required if initialCardType provided: ie PAN or Pseudo PAN |
initialCardEncryptionType | String(12) | N | MAGTEK_DUKPT if track 2 is encrypted using Magtek’s DUKPT algorithm. |
initialCardKsn | String(30) | N | Key Serial Number for DUKPT decryption of track2. |
initialLoad | |||
loadAmount | Int | N | Load amount in cents. (Ex: 1356 = $13.56) |
loadType | String(50) | N | Type of load being distributed to card. |
sourceOfFunds | String(50) | N | Identifies the source of funds. Can be one of following: CASH, CHECK, CHECK_BUSINESS, CHECK_GOVBENEFITS, CHECK_INSURANCE, CHECK_IRA, CHECK_MONEYORDER, CHECK_OTHER, CHECK_PAYROLL, CHECK_PERSONAL, CHECK_TAXREFUND, CHECK_TRUST, EFILE, LOAN, LOAN_BANKED, LOAN_INSTALLMENT, LOAN_PAWN, LOAN_PAYDAY, LOAN_TITLE, LOAN_UNBANKED, IRAL, RAL, REFUND_TRANSFER |
-
{ "requestInfo":{ "txRef": "0123456789-987456521", "locationId": "0123", "stationId": "POS01", "tellerID": "Teller003" }, "customerInfo":{ "firstName": "John", "middleInitial": "H", "lastName": "Galt", "dateOfBirth": "03/25/1981", "govtIdType": 2, "govtIdCountryCode": "Us", "govtIdValue": "123221234", "streetAddress": "123 Main Street", "aptSuite": "1300", "zipCode": "78701", "phoneNumber": "555123456", "email": "jgalt@email.com", "shippingStreetAddress": "PO Box 123", "shippingAptSuite": "675", "shippingZipCode": "78701" }, "identityContextInfo":{ "identityContextType": "4", "identityContextValue": "209", "identityCheckToken": "AC15746E9ACDCE120000015A1CB4EE088001" }, "initialCardInfo":{ "initialCardType": "1", "initialCard": "5189190000000000", "initialCardEncryptionType": "", "initialCardKsn": "950003000004E62001AB" }, "initialCardOrderInfo":{ "orderCardBrand": "GOLD", "embossingLine2": "Thank you" }, "initialLoad":{ "loadAmount": 1356, "loadType": "TIPS", "sourceOfFunds": "CASH" } } |
Field | Type | Description |
---|---|---|
txRef | String(100) | Globally unique reference number provided by the partner to identify this transaction. It is recommended that the reference number include a timestamp in milliseconds. |
accountBalance | Int | The current account balance in cents. (Ex: 1356 = $13.56) |
accountNumber | String(100) | 10-digit account number (also called cash number) and can also include a bank prefix. |
orderStatus | String(100) | This returns the status of a card order. |
cipResponseCodes | String(100) | A comma-separated string of return codes from the table listed below. Also used to indicate a CIP failure even if real-time CIP is not used to show CIP Failed indicating you can only load only ≤ $1000.00 per FinCen. |
identityCheckToken | String(36) | Opaque token representing the results of this identity check |
Code | Type | Description |
---|---|---|
200 | CIP Verification | CIP Verification Succeeded |
201 | CIP Verification | CIP Verification Failed |
202 | CIP Verification | Missing Information [Conditionally approved] |
203 | CIP Verification | Missing Information [Conditionally approved] – Manual review, pull missing information; submit to 3rd party check |
204 | CIP Verification | Match found in OFAC list |
205 | CIP Verification | Match found in Netspend Blacklist |
206 | CIP Verification | Bad Address |
207 | CIP Verification | Too many cards for same ID |
208 | CIP Verification | Too many secondary card owners on the account |
209 | CIP Verification | Invalid Gov ID value |
210 | CIP Verification | Invalid Gov ID Type |
211 | CIP Verification | Unable to verify CIP |
212-214 | CIP Verification | Bad DOB, Must be over 18 for primary and secondary cards |
-
{ "txRef": "0123456789-987456521", "accountBalance": 1356, "accountNumber": "1234567890", "orderStatus": "COMPLETE", "cipResponseCodes": "200", "identityCheckToken": "" } |
This command is used to retrieve the ACH information needed for an account set up with direct deposit.
-
End-Point | Method | Content-Type |
---|---|---|
/api/v1/netspend/getDirectDepositInfo | POST | application/json |
Field | Type | Required | Description |
---|---|---|---|
accountNumber | String(20) | Y | The 16-digit PAN or, for existing accounts, the 10-digit account number/cash number. Field is nullable only when track2data is provided. |
track2Data | String(37) | N | Track I or II data (as proof that the card was swiped). Field is nullable only when accountNumber is provided. |
locationId | String(100) | Y | Store location ID to identify the sale location. Tracks POS origination. |
-
{ "accountNumber": "5189190000000000", "locationId": "0123" } |
{ "track2Data": "8D62CE262DCEA90EEA17C585616026D8DF9FAE279F74F61C6E4A22FD036BF36E8E3232E29D5C2D5B", "locationId": "0123" } |
Field | Type | Description |
---|---|---|
bankAccountNumber | String(10) | 10-digit account number (also called cash number) and can also include a bank prefix. |
rdfi | String(100) | Routing number. |
-
{ "bankAccountNumber": "12550", "rdfi": "12550" } |
This command is used to load additional funds to eligible card products and existing accounts. To add funds to a cardholder’s savings account, you can now transfer a portion of the load amount from the GPR card to the cardholder’s savings account. The response for loadFunds now also has savingsBalance, which can be printed on the cardholder’s receipt.
-
End-Point | Method | Content-Type |
---|---|---|
/api/v1/netspend/loadFunds | POST | application/json |
Field | Type | Required | Description |
---|---|---|---|
txRef | String(100) | Y | Globally unique reference number provided by the partner to identify this transaction. It is recommended that the reference number include a timestamp in milliseconds. |
accountNumber | String(20) | Y | The 16-digit PAN or, for existing accounts, the 10-digit account number/cash number. Field is nullable only when track2data is provided. |
track2Data | String(37) | N | Track I or II data (as proof that the card was swiped). Field is nullable only when accountNumber is provided. |
amount | Int | Y | Load amount in cents. (Ex: 1356 = $13.56) |
locationId | String(100) | Y | Store location ID to identify the sale location. Tracks POS origination. |
loadType | String | N | Type of load being distributed to card. Can be one of the following: TIPS, REIMBURSEMENT, RELOAD, PAYROLL, PAYROLL ADVANCE (default if request doesn’t contain loadType)
|
-
{ "txRef": "0123456789-987456333", "accountNumber": "5189190000000000", "amount": 1356, "locationId": "0123" } |
{ "txRef": "0123456789-987456333", "track2Data": "8D62CE262DCEA90EEA17C585616026D8DF9FAE279F74F61C6E4A22FD036BF36E8E3232E29D5C2D5B ", "amount": 1757, "locationId": "0123" } |
Field | Type | Description |
---|---|---|
balance | Int | Card balance in cents. (Ex: 1356 = $13.56) |
cashNumber | String(10) | Customer account number. |
savingsBalance | Int | If a non-zero savings transfer amount was requested, savings account balance in cents. (Ex: 1356 = $13.56) |
-
{ "balance": 1356, "cashNumber": "1076459821", "savingsBalance": 1264 } |
This command performs an identity check to fulfill part of Customer Identity Program (CIP) requirements.
-
End-Point | Method | Content-Type |
---|---|---|
/api/v1/netspend/performIdentityCheck | POST | application/json |
Parameter | Type | Required | Description |
---|---|---|---|
requestInfo | |||
txRef | String(100) | Y | Globally unique reference number provided by the partner to identify this transaction. It is recommended that the reference number include a timestamp in milliseconds. |
locationId | String(100) | Y | Store location ID to identify the sale location. Tracks POS origination. |
stationId | String(100) | N | Station ID to identify the POS terminal origination. Null allowed. |
tellerID | String(50) | N | Teller ID for the particular teller/employee logged on at the partner. |
customerInfo | |||
firstName | String(100) | Y | Cardholder’s first name. |
middleInitial | String(1) | N | Cardholder’s middle initial. |
lastName | String(100) | Y | Cardholder’s last name. |
dateOfBirth | String(10) | Y | Cardholder’s date of birth in. (Format: mm/dd/yyyy) |
govtIdType | Int | Y | Type of government ID (2 = Social Security Number) |
govtIdCountryCode | String(2) | Y | String representing country associated with govIdType. |
govtIdValue | String(50) | Y | The characters of the actual government ID. |
streetAddress | String(100) | Y | Cardholder’s street address. No P.O. boxes. |
aptSuite | String(100) | N | Cardholder’s apartment number or suite number. |
zipCode | String(5) | Y | The cardholder’s address zip code. Can contain dash followed by last 4. |
identityContextInfo | |||
identityContextType | String(2) | Y | 1 = Defined by Cash Number 2 = Defined by Pan 3 = Defined by Pseudo Pan 4 = Defined by Provided Context |
identityContextValue | String(30) | Y | Depends on the identityContextType. Either a key that we provide (Provided Context), the swiped PAN, the printed Pseudo Pan or Cash Number. |
-
{ "requestInfo":{ "txRef": "0123456789-987456521", "locationId": "0123", "stationId": "POS01", "tellerID": "Teller003" }, "customerInfo":{ "firstName": "John", "middleInitial": "H", "lastName": "Galt", "dateOfBirth": "03/25/1981", "govtIdType": 2, "govtIdCountryCode": "Us", "govtIdValue": "123221234", "streetAddress": "123 Main Street", "aptSuite": "1300", "zipCode": "78701" }, "identityContextInfo":{ "identityContextType": "4", "identityContextValue": "209" } } |
Field | Type | Description |
---|---|---|
txRef | String(100) | Globally unique reference number provided by the partner to identify this transaction. It is recommended that the reference number include a timestamp in milliseconds. |
responseCodes | String(100) | A comma-separated string of return codes from the table listed below. Also used to indicate failed CIP even if Real-Time CIP is not used to show CIP Failed indicating you need to load only ≤ $1000.00 per FinCen. |
identityCheckToken | String(36) | Opaque token representing the results of this identity check |
-
{ "txRef": "0123456789-987456521", "responseCodes": "200", "identityCheckToken": "AC15746E9ACDCE120000015A1CB4EE088001" } |
This command is used to void a previous card sale, load or withdrawal transaction. This command will reverse all financial transactions associated with previous command.
With this command:
-
End-Point | Method | Content-Type |
---|---|---|
/api/v1/netspend/voidTransaction | POST | application/json |
Field | Type | Required | Description |
---|---|---|---|
txRef | String(100) | Y | Globally unique reference number provided by the partner to identify this transaction. It is recommended that the reference number include a timestamp in milliseconds. |
originalTxRef | String(100) | Y | Original transaction reference identifying the card sale or load transaction to be voided. |
locationId | String(100) | Y | Store location ID to identify the sale location. Tracks POS origination. |
-
{ "txRef": "0123456789-987456521", "originalTxRef": "0123456789-987456321", "locationId": "0123" } |
Field | Type | Description |
---|---|---|
balance | Int | Card balance in cents. (Ex: 1356 = $13.56) |
cashNumber | String(10) | Customer account number. |
savingsBalance | Int | If a non-zero savings transfer amount was requested, savings account balance in cents. (Ex: 1356 = $13.56) |
-
{ "balance": 1356, "cashNumber": "1076459821", "savingsBalance": 1264 } |