Digital Wallets
Nowadays, digital wallets are widely accepted payment instruments. The CoreCard system can accept and process digital wallet transactions, offered by wallet service providers such as Google Pay, Samsung Pay, and Apple Pay.
When a card is registered with any digital wallet, it initiates a token request to the token manager of the affiliated card network (i.e., MDES for Mastercard, VTS for VISA) to obtain a digital token against the card PAN. The card network then verifies whether or not the card number is within the allowed account ranges for tokenization to the digital wallet in context. Additionally, the card network asks CoreCard to verify that the card account is in good standing and can be provisioned and used to perform transactions. Once the CoreCard system grants approval, the token manager allocates a digital token against the card PAN and the token details are shared with the CoreCard system. Tokens can be allocated in the active state, or they may require other activation methods as per issuer terms and agreements with the affiliated card network. The process of getting a digital token is also called digitalization.
Once a digital token is allocated to the card PAN, CoreCard stores the information related to the digital token. This information can be retrieved and the token status modified at the cardholder's request or due to card PAN replacement or reissue.

Get Transaction Token Details
Action: POST
Endpoint: /api/CoreCredit/DigitalWallets/GetTxnTokenDetails
Use this API to obtain a list of all tokens with available details mapped out on a card account using the Institution ID and Admin Number. The API retrieves token details such as token type, a token's last 4 digits, token expiry date, token status, token requester ID and device ID.
Note
As per PCI norms, a token cannot be stored in clear as such API fetches the last 4 digits of a token number. Another API object “TokenNumberHash” fetches the encrypted value of the token number created by the system.
Request fields detail
Fields | Description |
---|---|
Source string |
Source of API Consumer For external system expected sources will be WEB. Allowable Values: 50 |
IPAddress string Optional |
IP Address of Client / Application Hosting Server Example: 10.206.0.204 Allowable Values: 15 |
DateFormat string Optional |
Place Holder for Future Use. Values are: 1 : MM/dd/yyyy HH:MM:SS (Default) 2 : MM/dd/yy HH:MM:SS 3 : dd/MM/yyyy HH:MM:SS Allowable Values: 25 |
CurrencyCode string Optional |
Place Holder for Future Use. Currency Code Ex. 840 = US Doller. Allowable Values: 10 |
CurrencySymbolType string Optional |
Place Holder for Future Use. CurrencySymbolType: 1: Currency Sign like $ 2: 3 ALPHA Currency Code like USD Allowable Values: 10 |
Language string Optional |
Place Holder for Future Use. Language: en: means use English Default: en - English Allowable Values: 10 |
ExternalIP string |
IP Address of end user of API Allowable Values: 50 |
SessionID string Optional |
Session identifier of the API Example: 000028;026;1349906692 Allowable Values: 100 |
APIVersion string |
Version of the API to be invoked. Example: 2.0 API Version Current Version 2.0 Allowable Values: 10 |
CallerID string Optional |
Caller ID of source from where API is initiated it is End User Caller ID Example: 7204454214 (phone number applicable in Case of IVR) Allowable Values: 20 |
CalledID string Optional |
Called ID of destination for which API is initiated It is Destination Called ID Example: 7314145404 (phone number applicable in Case of IVR) Allowable Values: 20 |
RequestTime datetime Optional |
Request Date Time of API Format: MM/dd/yyyy HH:mm:ss Example:01/15/2020 10:05:23 |
AdminNumber int64 Mandatory |
Details can be obtained by admin number (Embossing Acctid) Valid Values:0-9 Format:XXXXX Example:12345 |
InstitutionID integer Mandatory |
Unique identification number for Institution. Valid Values:0-9 Format:XXXX Example:Fixed value needs to pass which is provided by Corecard. |
Sample request body
{ "Source": "Web", "IPAddress": "10.120.0.0", "DateFormat": null, "CurrencyCode": null, "CurrencySymbolType": null, "Language": null, "ExternalIP": "10.120.0.0", "SessionID": null, "APIVersion": "2.0", "CallerID": null, "CalledID": null, "RequestTime": null, "AdminNumber": 129409, "InstitutionID": 10 }
Response fields detail
Fields | Description |
---|---|
TokenList array |
Header of token list System |
Sample response body
{ "application/json": { "Message": "Success", "Status": true, "ErrorCode": "Err00017", "ResponseData": { "TokenList": [ { "Skey": 1.0, "TokenNumberLastFourDigit": "0188", "TokenNumberHash": -1537407615, "TokenStatus": "A", "TokenType": "C", "TokenRequesterID": "01234567890", "TokenReferenceID": null, "TokenExpiryDate": "03/31/2018 00:00:00", "DeviceID": "", "DeviceName": "", "DeviceType": "01", "DeviceNumber": null, "TokenWalletID": "203=" } ] } } }
Update Transaction Token Status
Action: POST
Endpoint: /api/CoreCredit/DigitalWallets/UpdateTxnTokenStatus
Use this API to update the PAN token status by using the last four digits of a token number and new token status to be updated. The token status can be set as active, inactive, or closed, as required.
Request fields detail
Fields | Description |
---|---|
Source string |
Source of API Consumer For external system expected sources will be WEB. Allowable Values: 50 |
IPAddress string Optional |
IP Address of Client / Application Hosting Server Example: 10.206.0.204 Allowable Values: 15 |
DateFormat string Optional |
Place Holder for Future Use. Values are: 1 : MM/dd/yyyy HH:MM:SS (Default) 2 : MM/dd/yy HH:MM:SS 3 : dd/MM/yyyy HH:MM:SS Allowable Values: 25 |
CurrencyCode string Optional |
Place Holder for Future Use. Currency Code Ex. 840 = US Doller. Allowable Values: 10 |
CurrencySymbolType string Optional |
Place Holder for Future Use. CurrencySymbolType: 1: Currency Sign like $ 2: 3 ALPHA Currency Code like USD Allowable Values: 10 |
Language string Optional |
Place Holder for Future Use. Language: en: means use English Default: en - English Allowable Values: 10 |
ExternalIP string |
IP Address of end user of API Allowable Values: 50 |
SessionID string Optional |
Session identifier of the API Example: 000028;026;1349906692 Allowable Values: 100 |
APIVersion string |
Version of the API to be invoked. Example: 2.0 API Version Current Version 2.0 Allowable Values: 10 |
CallerID string Optional |
Caller ID of source from where API is initiated it is End User Caller ID Example: 7204454214 (phone number applicable in Case of IVR) Allowable Values: 20 |
CalledID string Optional |
Called ID of destination for which API is initiated It is Destination Called ID Example: 7314145404 (phone number applicable in Case of IVR) Allowable Values: 20 |
RequestTime datetime Optional |
Request Date Time of API Format: MM/dd/yyyy HH:mm:ss Example:01/15/2020 10:05:23 |
Skey decimal Mandatory |
Unique number for each token. Valid Values: 0-9 Example: 12345 |
AdminNumber int64 Conditional |
Details can be obtained by admin number (Embossing Acctid) Valid Values: 0-9 Example: 12345 Condition: At least one of AccountNumber\ AdminNumber is required. |
ProductID integer Mandatory |
ProductID Valid Values: 0-9 Example: 12345 |
AccountNumber string Conditional |
Account number of cardholder Valid Values: 0-9 Format: XXXXXXXXXXXXXXXX Example: 8000000000000037 Condition: At least one of AccountNumber\ AdminNumber is required. Allowable Values: 19 |
TokenNumberLast4Digits string Mandatory |
Last 4 digits of Token number Valid Values:0-9 Format: XXXX Example: 1234 Allowable Values: 4 |
NewTokenStatus string Mandatory |
New Token Status Valid Values: A - Active C - Close I - Inactive Allowable Values: 1 |
Sample request body
{ "Source": "WEB", "IPAddress": "10.120.0.1", "DateFormat": null, "CurrencyCode": null, "CurrencySymbolType": null, "Language": null, "ExternalIP": "10.120.0.0", "SessionID": null, "APIVersion": "2.0", "CallerID": null, "CalledID": null, "RequestTime": null, "Skey": 1.0, "AdminNumber": 129409, "ProductID": 3351, "AccountNumber": null, "TokenNumberLast4Digits": "0188", "NewTokenStatus": "I" }
Response fields detail
Fields | Description |
---|
Sample response body
{ "application/json": { "Message": "Success", "Status": true, "ErrorCode": "Err00017", "ResponseData": null } }