Updates the Account.
Optional Query Strings:
- ? RejectDuplicateCard (required to reject Account Update if Card already exists)
- ? OKToAddDuplicateCard (required to allow Account Update if Card already exists)
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/Account ID
https://FQDN/v1/clients/ClientID/accounts/Account ID?RejectDuplicateCard
https://FQDN/v1/clients/ClientID/accounts/Account ID?OKToUpdateDuplicateCard
Note:
ReadMe currently does not support empty query strings, so building a request interactively with query strings (ie ?RejectDuplicateCard, ?OKToUpdateDuplicateCard) is unavailable. However, works today in sandbox/production.
Request:
| JSON Name | Value | Required | Default | Description | Conditional | ||
|---|---|---|---|---|---|---|---|
| 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:
|
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 |
ExpirationDate | Payment Card Not Encrypted |
|||
| keyID | String 22 characters |
R e | KeyID | Payment Card Encrypted |
|||
| mode | Integer 0, 1, or 2 |
D e | 2 | 1 = Java OAEP 2 = OAEP SHA-256 |
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 |
Sample Request:
Pack your Request, the following Samples shown here are unpacked only for human readability:
Update Payment Card Account:
{
"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 2030Response:
Status Codes:
| Status Code | Description | |
|---|---|---|
| 200 | OK | The Account is Updated. |
| 207 | Multi-Status | Account updated, but Update 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 | |||
| duplicateAccountIDs | Array of Strings |
AccountIDs using the same Card Account Number | O | |||||
Sample Response:
Account updated:
{
"SC": 200,
"EC": "0"
}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.
Update will delete the previous Account Data and replace the Account Data with the new Data in the Request. An Update Account is basically a Create Account but reusing the AccountID and the ReferenceID. The previous Account Data is deleted and is no longer usable or recoverable.
