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/<ClientIDISO>/accounts/<AccountID>
https://<FQDN>/v1/clients/<ClientIDISO>/accounts/<AccountID>?RejectDuplicateCard
https://<FQDN>/v1/clients/<ClientIDISO>/accounts/<AccountID>?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 2030
Response:
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.