Update Account

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:
  • accountNumber
  • expirationDate
or Payment Card Encrypted:
  • keyID
  • mode
  • 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
ExpirationDate Payment Card
Not Encrypted
keyID String
22 characters
R e KeyID Payment Card
Encrypted
mode Integer
0, 1, or 2
D e 2 0 = PKCS#1 v1.5
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.