Create Account

Creates an Account.

Optional Query Strings:

  • ? RejectDuplicateCard (required to reject Account Creation if Card already exists)
  • ? OKToAddDuplicateCard (required to allow Account Creation if Card already exists)

Use ?QueryParam1+QueryParam2 if you’re using multiple query strings

If you are an ISO (Independent Sales Organization), you will need to specify a SubClientID. (see notes below)


URL:

https://FQDN/v1/clients/ClientID/accounts

https://FQDN/v1/clients/ClientID/accounts?RejectDuplicateCard
https://FQDN/v1/clients/ClientID/accounts?OKToAddDuplicateCard


Request:

JSON Name Value Required Default Description Conditional
referenceID String
1-15 characters
R Your unique Reference ID
bank object CR Either Bank or Card ACH
routingNumber String
9 digits
R a Routing Number ACH
accountNumber String
4-17 digits
R a Account Number ACH
accountType String
1-character code
R a Account Type ACH
card object CR Either Bank or Card
Either Payment Card Not Encrypted:
  • accountNumber
  • expirationDate
or Payment Card Encrypted:
  • keyID
  • data
or Card Token (Restricted Usage):
  • token
or Device (Restricted Usage):
  • id
  • blob
Payment Card
accountNumber String
13-19 digits
R n Payment Card Account Number Payment Card
Not Encrypted
expirationDate String
YYYYMM Format
R n
O n
Expiration Date Payment Card
Not Encrypted
keyID String
22 characters
R e KeyID Payment Card
Encrypted
data String R e Encrypted Card Data, see below
encoded in Base64 URL-Safe Character Set
Payment Card
Encrypted
token String ® t Card Token (from SSO)
Restricted Usage
Payment Card
Token
device object ® d Card Data from P2PE Device
Restricted Usage
Payment Card
Device
id String ® d Device Identifier Payment Card
Device
blob Hex String ® d Blob in Hex Payment Card
Device
owner object R Account Owner
name object R Name
Either Company or First, Middle, Last, and Suffix
company String R c Company Name
first String R n First Name
middle String O n Middle Name or Initial
last String R n Last Name
suffix String O n Suffix
address object O Address
line1 String R Address Line 1
line2 String O Address Line 2
city String R City
state String
2-character code
R State Code 840
zipcode String R Zip Code 840
country String
3-digit code
O 840 ISO 3166-1 Country Code 840
phone object O Phone Number (E.164 Numbering) 840
countryCode String
1-3 digits
O 1 Country Calling Code 840
number String
Min: 4 digits
Max: 12-14 digits
R Phone Number 840

(Encrypted) Card Data

Field Required Description UnEncrypted Card Data Format
Card Number R 13-19 digit Card Number CardNumber | Expiration Date |

(no spaces, pipe symbol separated)
see samples
Expiration Date R Expiration date in YYYYMM Format
Pack your Request, the following Samples shown here are unpacked only for human readability:
Create Payment Card Account:

{
  "referenceID": "1",
  "card":
  {
    "accountNumber": "9999999999999999",
    "expirationDate": "202012"
  },
  "owner":
  {
    "name":
    {
      "first": "John",
      "last": "Customer"
    },
    "address":
    {
      "line1": "465 Fairchild Drive",
      "line2": "Suite #222",
      "city": "Mountain View",
      "state": "CA",
      "zipcode": "94043"
    },
    "phone":
    {
      "number": "4159808222"
    }
  }
}
Unencrypted Card Data:
1111111111111111|203001|

where

Card Number:     1111111111111111
Expiration Date: January 2030

Response:

Status Codes:

Status Code Description
200 OK An Account is Created.
207 Multi-Status Account created, but Duplicate Card Check Failed.
409 Conflict Duplicate Card Check Matched.

See Status Codes for other possible Status Codes that might be returned.


Response Data:

JSON Name Value Description Status Code
200 207 409 Other
SC Integer
3-digit code
HTTP Status Code O
EC String
1 or 8 characters
Internal Error Code O
EM String Error Message O
accountID String
22 characters
AccountID
card object Card O O
last4 String
4 digits
Last 4 of Card Account Number (PAN)
expirationDate String
6 digits
Expiration Date
YYYYMM Format
O O
notices String Important Notices O O O
duplicateAccountIDs Array of
Strings
AccountIDs using the same Card Account Number O

Sample response:

Account created:
{
  "SC": 200,
  "EC": "0",
  "accountID": "TabaPay_AccountID_22ch"
}

Notes:

For Clients who are an ISO (Independent Sales Organization), to specify your ClientID and a SubClientID, use the underscore character ("_") to separate the two values: <ClientID>_<SubClientID> where:

  • ClientID is your unique 22-character string and
  • SubClientID is an assigned 4, 6 or 8-digit value.

Creating an Account just to do a Query Card is not the valid way to use our API (it is an Anti-Pattern). As we try to show in the Sample Flows: Query Card should be done first before Creating an Account, this is the correct Pattern (or use of our API).
Creating unused and/or inactive Accounts will result in:

  • These Account incurring an extra charge (fee)
  • These Account being automatically deleted

Excessive Anti-Pattern behavior will result in:

  • Your Requests failing
  • Your Client being locked