LCM

Tokenization Lifecycle Management (LCM) are the processes used when the card is already digitized/tokenized by the TSP or I-TSP.

We summarize token management into three methods:

  1. Automated LCM
  2. Scheme initiated LCM
  3. Issuer (client) initiated LCM

MeaWallet clients

Automated

This is the process of token lifecycle management syncing with card management. When the status of a card changes, the corresponding token(s) state is automatically updated.

Clients change the status of cards via the Set Card Status API endpoint.

Further information on card status can be found here.

Examples:

  1. When a card is permanently made void on Banking.Live, this automatically updates MeaWallet, who will in turn notify the scheme with Delete Token.
  2. When a card is suspended on Banking.Live, this automatically updates MeaWallet, who will in turn notify the scheme with Suspend Token.

Automated LCM includes renewal and replacement of cards as this can also affect card status.

When a card is replaced, MeaWallet is automatically updated of the new PAN.

Endpoint integration

In order for a client to utilize automated LCM, integration to the Set Card Status endpoint(s) is required.

📔

Automated LCM endpoints behavior differs between API endpoint versions.

V1 Set Card Status

V1 - status of the token will always reflect card status.

API schema available here.

{
  "api_call_unique_identifier": "43851234567890485",
  "client_id": 123456,
  "user_id": "string",
  "remarks": "string",
  "status_nwk": "1199",
  "token": 123456789,
  "action": 1,
  "note": "string"
}
{
  "header": {
    "error_id": 0,
    "error_desc": "success"
  },
  "body": {
    "status_nwk": 1199
  }
}
V2 Set Card Status

V2 - status of the token will reflect card status IF update_digital_token is set to true. This is built for example use cases where cardholder wants to continue transacting with their Apple Pay token whilst their card is suspended (due to stolen/lost etc.).

API schema available here.

{
  "api_call_unique_identifier": "438574123456789085",
  "client_id": 123456,
  "user_id": "string",
  "remarks": "string",
  "status_nwk": "1199",
  "token": 123456789,
  "action": 1,
  "note": "string",
  "update_digital_token": true
}
{
  "header": {
    "error_id": 0,
    "error_desc": "success"
  },
  "body": {
    "status_nwk": 1199
  }
}
V1 Renew Card

V1 - status of the token will always reflect card status.

API schema available here.

{
  "api_call_unique_identifier": "438574123456789005",
  "client_id": 123456,
  "user_id": "string",
  "remarks": "string",
  "status_nwk": 1000,
  "image_fields": "11111",
  "xml_fields": "11111",
  "image_delivery": 1,
  "image_name": "paymentology",
  "tok_flags": "00000000000000000000000000000000",
  "token": 123456789,
  "card_action": 1,
  "inherit_rules": 0,
  "reason": "Lost my card",
  "crd_prdct_id": 111,
  "exp_date": "2022-02-14 12:12:12",
  "3ds_lang": "en",
  "3ds_challenge_methods": [
    {
      "ids": "123f6eca-1234-1234-bfeb-53cffffa6f08"
    }
  ],
  "3ds_challenge_profile": "123c123e-8eba-1234-1234-d22110d269f8"
}
{
  "header": {
    "error_id": 0,
    "error_desc": "success"
  },
  "body": {
    "cvv": "***",
    "image_base64": "ZSBzaG9ydCB2ZWhlbWJuY2Ugb2YgYW11IGNhcm5hbCBwbGVhc3VyZS4=",
    "epan": "***********",
    "emboss_name": "BRUCE MCLAREN",
    "expiry": "03/27",
    "token": 123456789
  }
}
V2 Card Renew/Replace

V2 - status of the token will reflect card status IF update_digital_token is set to true in the request.

API schema available here.

{
  "api_call_unique_identifier": "438574812345678905",
  "client_id": 123456,
  "user_id": "string",
  "remarks": "string",
  "status_nwk": 1000,
  "image_fields": "11111",
  "xml_fields": "11111",
  "image_delivery": 1,
  "image_name": "paymentology",
  "tok_flags": "00000000000000000000000000000000",
  "token": 123456789,
  "card_action": 1,
  "card_type": 2,
  "reason": "Lost my card",
  "crd_prdct_id": 111,
  "exp_date": "2027-02-14 12:12:12",
  "emboss_name": "Oscar Piastri",
  "ch_ref": "Mr",
  "del_title": "Mr",
  "del_fname": "Oscar",
  "del_sname": "Piastri",
  "del_addr1": "1 Oxford St",
  "del_addr2": "Nadipur",
  "del_pcode": "SW1",
  "del_city": "London",
  "del_country": "Australia",
  "del_email": "[email protected]",
  "del_mobile": "12131415161",
  "del_pass_code": "0001",
  "del_method": 1,
  "del_account": 1234567,
  "del_region": "ENG",
  "pur_title": "Mr",
  "pur_fname": "Oscar",
  "pur_sname": "Piastri",
  "pur_addr1": "1 Oxford St",
  "pur_addr2": "Nadipur",
  "pur_pcode": "SW1",
  "pur_city": "London",
  "pur_country": "Australia",
  "pur_email": "[email protected]",
  "pur_mobile": "12131415161",
  "pur_account": 1234567,
  "pur_pass_code": "pass code",
  "pur_region": "ENG",
  "pur_cust_type": 0,
  "bulk_delv_add_code": 0,
  "del_code": 0,
  "card_manuf_id": 1,
  "carrier_type": "1",
  "carrier_insrt1": 1,
  "carrier_insrt2": 1,
  "carrier_lang": "ENG",
  "envelope_ref": 1,
  "ext_line1": "ALD07",
  "ext_line2": "ALD07",
  "custom_1": "custom1",
  "emboss_line4": "string",
  "track_3": "track3",
  "fulfil1": "fulfil1",
  "fulfil2": "fulfil2",
  "product_ref": "string",
  "client_card_ref": "client choice",
  "inherit_rules": 0,
  "update_digital_token": true,
  "3ds_lang": "en",
  "3ds_challenge_methods": [
    {
      "ids": "497f6eca-1234-1234-bfeb-53chhhhh7f08"
    }
  ],
  "3ds_challenge_profile": "950c887e-8yua-1234-1234-d22f90d269f8"
}
{
  "header": {
    "error_id": 0,
    "error_desc": "success"
  },
  "body": {
    "cvv": "***",
    "image_base64": "ZSBzaF0ydJK2ZWhlbWVuY2Igb2YgJK99IGNhcm5hbCBwbGVhc3VyZS4=",
    "epan": "***********",
    "emboss_name": "OSCAR PIASTRI",
    "expiry": "03/27",
    "token": 123456780,
    "cu_id": 565656567,
    "cu_ref": "454545456"
  }
}

When the card status is changed, MeaWallet is automatically updated based on the following logic:

Card status_nwkToken status
= 1000: Fully operational DE39=00Unsuspends all linked tokens
= 1199: Void card - report DE39=05Deletes all linked tokens
≠ 1000 or 1199:Suspends all linked tokens

Scheme initiated

This is the process of token lifecycle management where the client manages the token through the Scheme's portal or MSP.

Example:

  1. Client logs in to VTS or MDES portal to suspend a token. VTS/MDES will notify our MeaWallet's system , which notifies Banking.Live. Banking.Live then sends client a TNR with Token state = SUSPENDED.

Any changes to the token or card status results in TNR. These notifications are useful to update cardholders on token events. More on TNR specifications here.

Client initiated

This is the process of token lifecycle management where the client integrates to the Banking.Live Tokenization Customer Service APIs directly.

Example:

  1. Client has their own UI/portal intended to manage tokens. With this integration, when a token is updated in the clients UI/portal, the Tokenization Customer Service APIs will trigger the token management by notifying MeaWallet, who in turn updates the scheme.

Endpoint integration

In order for a client to utilize Client initiated LCM, clients are required to integrate with the Tokenization Customer Service APIs below.

Token activate

Used to activate a token for digitization that has been approved and provisioned but requires additional cardholder authentication prior to activation. May be used for call center and Issuer application activation methods.

API schema available here.

{
  "api_call_unique_identifier": "438123456789057485",
  "client_id": 123456,
  "user_id": "string",
  "remarks": "string",
  "token": 123456789,
  "commentText": "Customer found a device.",
  "reasonCode": "A",
  "activationCode": "654321",
  "tspToken": "DWSPMC12345678123456nvc7fetlv5huicghbhg6xpetgcq123"
}
{
  "header": {
    "error_id": 0,
    "error_desc": "success"
  },
  "body": {
    "responseId": "string",
    "tokenUniqueReference": "string",
    "commentId": "string",
    "errors": [
      {
        "category": "string",
        "code": "string",
        "description": "string",
        "emitter": "string"
      }
    ]
  }
}
Update token account

Used to update PAN. The PAN can be renewed, updated and closed/voided.

API schema available here.

{
  "api_call_unique_identifier": "438574812345678905",
  "client_id": 123456,
  "user_id": "string",
  "remarks": "string",
  "token": 123456789,
  "replacement_token": 123456788,
  "commentText": "Cardholder change.",
  "reasonCode": "AU"
}
{
  "header": {
    "error_id": 0,
    "error_desc": "success"
  },
  "body": {}
}
Search V3

Retrieves all tokens and their details by means of PAN, token unique reference, token, payment app instance ID etc.

API schema available here.

{
  "api_call_unique_identifier": "438574123456789085",
  "client_id": 123456,
  "user_id": "string",
  "remarks": "string",
  "token": 123456789
}
{
  "header": {
    "error_id": 0,
    "error_desc": "success"
  },
  "body": {
    "responseId": "string",
    "accounts": [
      {
        "accountPanSuffix": "string",
        "financialAccountSuffix": "string",
        "countryCode": "string",
        "interbankCardAssociationId": "string",
        "institutionName": "string",
        "expirationDate": {
          "month": "string",
          "year": "string",
          "expiry": "string"
        },
        "Tokens": [
          {
            "panReferenceId": "string",
            "tokenReferenceId": "string",
            "tokenRequestorId": "string",
            "tokenRequestorName": "string",
            "issuerPanReferenceId": "string",
            "correlationId": "string",
            "walletAccountId": "string",
            "accountIdHash": "string",
            "tokenAssuranceLevel": "string",
            "tokenExpiry": {
              "month": "string",
              "year": "string",
              "expiry": "string"
            },
            "tokenStatus": "string",
            "tokenType": "string",
            "deactivationDate": "string",
            "lastTokenStatusUpdatedTimestamp": "string",
            "entityOfLastAction": "string",
            "operatorId": "string",
            "riskInfo": {
              "walletProviderRiskAssessment": "string",
              "walletProviderRiskAssessmentVersion": "string",
              "walletProviderAccountScore": "string",
              "walletProviderDeviceScore": "string",
              "walletProviderReasonCodes": "string",
              "deviceBluetoothMac": "string",
              "deviceIMEI": "string",
              "deviceSerialNumber": "string",
              "deviceTimeZone": "string",
              "deviceTimeZoneSetting": "string",
              "osID": "string",
              "simSerialNumber": "string",
              "deviceLostMode": "string",
              "daysSinceConsumerDataLastAccountChange": "string",
              "accountHolderName": "string",
              "walletProviderPANAge": "string",
              "walletAccountHolderCardNameMatch": "string",
              "accountToDeviceBindingAge": "string",
              "userAccountFirstCreated": "string",
              "provisioningAttemptsOnDeviceIn24Hours": "string",
              "distinctCardholderNames": "string",
              "deviceCountry": "string",
              "walletAccountCountry": "string",
              "suspendedCardsInAccount": "string",
              "daysSinceLastAccountActivity": "string",
              "numberOfTransactionsInLast12months": "string",
              "numberOfActiveTokens": "string",
              "deviceWithActiveTokens": "string",
              "activeTokensOnAllDeviceForAccount": "string",
              "visaTokenScore": "string",
              "visaTokenDecisioning": "string",
              "riskAssessmentScore": "string"
            },
            "deviceInfo": {
              "deviceName": "string",
              "serialNumber": "string",
              "formFactor": "string",
              "isoDeviceType": "string",
              "osName": "string",
              "osVersion": "string",
              "imei": "string",
              "msisdn": "string",
              "paymentTypes": [
                {}
              ],
              "storageTechnology": "string",
              "cardCaptureTechnology": "string"
            },
            "otpCodeIndicator": "string",
            "otpCodeExpiration": "string",
            "otpVerificationAttempts": 0,
            "otpVerificationRetryCounts": 0,
            "last4ofPAN": "string",
            "last4ofPrevPAN": "string",
            "provisioningTime": "string",
            "lastReplenishTime": "string",
            "issuerCardholderId": "string",
            "walletProviderId": "string",
            "currentStatusDescription": "string",
            "digitizationRequestDateTime": "string",
            "finalTokenizationDecision": "string",
            "lastCommentId": "string",
            "paymentAppInstanceId": "string",
            "provisioningStatusCode": "string",
            "provisioningStatusDescription": "string",
            "storageTechnology": "string",
            "suspenders": [
              "string"
            ],
            "tokenActivatedDateTime": "string",
            "walletId": "string",
            "tokenDeletedFromConsumerApp": "string",
            "tokenSuffix": "string",
            "Token": "string"
          }
        ]
      }
    ],
    "errors": [
      {
        "category": "string",
        "code": "string",
        "description": "string",
        "emitter": "string"
      }
    ]
  }
}
Token delete

Used to delete a token so that it can not initiate any new transactions. A deleted token can not be returned to an active state.

API schema available here.

{
  "api_call_unique_identifier": "438574123456789085",
  "client_id": 123456,
  "user_id": "string",
  "remarks": "string",
  "token": 123456789,
  "commentText": "Customer found a device.",
  "reasonCode": "T",
  "tspToken": "DWSPMC12345678912345nvc7fetlv5ghyhgygfgg6xpetgcq123"
}
{
  "header": {
    "error_id": 0,
    "error_desc": "success"
  },
  "body": {}
}
Token suspend

Used to suspend an active token so that it can not initiate any new transactions. A suspended token can be returned to an active state.

API schema available here.

{
  "api_call_unique_identifier": "43857412345678985",
  "client_id": 123456,
  "user_id": "string",
  "remarks": "string",
  "token": 123456789,
  "commentText": "Customer misplaced device.",
  "tspToken": "DWSPMC12345678909734nvc7fetlv5ghytghytgu6xpetgcq123",
  "reasonCode": "Z"
}
{
  "header": {
    "error_id": 0,
    "error_desc": "success"
  },
  "body": {
    "responseId": "string",
    "tokenUniqueReference": "string",
    "commentId": "string",
    "errors": [
      {
        "category": "string",
        "code": "string",
        "description": "string",
        "emitter": "string"
      }
    ]
  }
}
Token unsuspend

Used to resume a token in a suspended state.

API schema available here.

{
  "api_call_unique_identifier": "43857123456789085",
  "client_id": 123456,
  "user_id": "string",
  "remarks": "string",
  "token": 123456789,
  "commentText": "Customer found device.",
  "reasonCode": "T",
  "tspToken": "DWSPMC1234567890981nvc7fetlv5hyghyghygg6xpetgcq123"
}
{
  "header": {
    "error_id": 0,
    "error_desc": "success"
  },
  "body": {
    "responseId": "string",
    "tokenUniqueReference": "string",
    "commentId": "string",
    "errors": [
      {
        "category": "string",
        "code": "string",
        "description": "string",
        "emitter": "string"
      }
    ]
  }
}
Token update

Updates token to account PAN mapping information or Issuer configuration ID associated to an already provisioned token.

API schema available here.

{
  "api_call_unique_identifier": "438574123456789085",
  "client_id": 123456,
  "user_id": "string",
  "remarks": "string",
  "token": 123456789,
  "commentText": "Activated card."
}
{
  "header": {
    "error_id": 0,
    "error_desc": "success"
  },
  "body": {
    "errorCode": "00",
    "tokens": [
      {
        "tokenReferenceId": "string",
        "commentId": "string",
        "taskID": "string",
        "tokenRequestorID": "string",
        "panReferenceID": "string",
        "statusCode": "PENDING",
        "errorCode": "00"
      }
    ],
    "keyValues": {
      "key": "A",
      "value": "Value 1"
    }
  }
}
Token approve device binding

Binds a device to an already provisioned token.

API schema available here.

{
  "api_call_unique_identifier": "438574841234567895",
  "client_id": 123456,
  "user_id": "string",
  "remarks": "string",
  "token": 123456789,
  "tspToken": "DWSPMC00012345678904nvc7fetlv5hghygftgyhu6xpetgcq123",
  "deviceId": "kikitxjvoycqxqeqwpyovghyghyuhgyuhgyuhyulosbzfb",
  "deviceIndex": "1",
  "commentText": "Customer has new device."
}
{
  "header": {
    "error_id": 0,
    "error_desc": "success"
  },
  "body": {
    "responseId": "string",
    "tokenUniqueReference": "string",
    "commentId": "string",
    "errors": [
      {
        "category": "string",
        "code": "string",
        "description": "string",
        "emitter": "string"
      }
    ]
  }
}
Token remove device binding

Unbinds a device from an already provisioned token.

API schema available here.

{
  "api_call_unique_identifier": "438574123456789085",
  "client_id": 123456,
  "user_id": "string",
  "remarks": "string",
  "token": 123456789,
  "tspToken": "DWSPMC00123456789098nvc7fetlv5huicghyghy6xpetgcq123",
  "deviceId": "kikitxjvoycqxghtyghujijvsyfksldbxpghtgyhgtygzfb",
  "deviceIndex": "1",
  "commentText": "Customer has new device."
}
{
  "header": {
    "error_id": 0,
    "error_desc": "success"
  },
  "body": {
    "responseId": "string",
    "tokenUniqueReference": "string",
    "commentId": "string",
    "errors": [
      {
        "category": "string",
        "code": "string",
        "description": "string",
        "emitter": "string"
      }
    ]
  }
}
Update token product configuration

Product Configuration ID is the metadata of the card linked to token. This endpoint offers clients the functionality to change the card metadata throughout the lifecycle of the token linked to a card.

Example:

Cardholder has an existing Apple Pay token, and the cardholder is upgraded to a premium cardholder. This endpoint offers changed to how the premium card will look in the Apple Pay digital wallet.

API schema available here.

{
  "api_call_unique_identifier": "438574812345678905",
  "client_id": 123456,
  "user_id": "string",
  "remarks": "string",
  "token": 123456789,
  "productConfigurationId": "PLATINUM201",
  "tokenUniqueReference": "DNITHEgx1ZI57H5eGHGpoFpppFnoy10",
  "commentText": "Lorem ipsum."
}
{
  "header": {
    "error_id": 0,
    "error_desc": "success"
  },
  "body": {
    "tokens": [
      {
        "responseId": "1234",
        "isSuccessful": true,
        "tokenUniqueReference": "DWSPMC12345678901206a349d9ca4eb1a4d53e3c90a11d9c",
        "tokenRequestorId": "string",
        "commentId": "string"
      }
    ]
  }
}

Mada Pay clients

Automated

For clients subscribed to Mada Pay, Paymentology will automatically notify Mada of the card status when it has been updated in Banking.Live.

Clients use the Set Card Status API endpoint to update the card status, and Paymentology will update the DPAN status with Mada accordingly.

Example flow:

  1. Client calls Set Card Status endpoint
  2. Paymentology updates the card status in the backend
  3. Paymentology checks if card is tokenized with Mada
  4. If card is tokenized with Mada, Paymentology calls Mada's token lcm API to update card status.

Endpoint integration

Mada clients are required to integrate with the Set Card Status endpoint.

V1 Set Card Status

V1 - status of the token will always reflect card status.

API schema available here.

{
  "api_call_unique_identifier": "43851234567890485",
  "client_id": 123456,
  "user_id": "string",
  "remarks": "string",
  "status_nwk": "1199",
  "token": 123456789,
  "action": 1,
  "note": "string"
}
{
  "header": {
    "error_id": 0,
    "error_desc": "success"
  },
  "body": {
    "status_nwk": 1199
  }
}

When the card status is changed, Mada is automatically updated based on the following logic:

status_nwk

Description

Mada operationReason

Mada operationType

1000

Fully operational
DE39=00

USER_DECISION

ACTIVATE/RESUME

1001

Refer to issuer
DE39=01

ISSUER_DECISION

SUSPEND

1004

Capture card
DE39=04

USER_DECISION

SUSPEND

1005

Decline all txns
DE39=05

USER_DECISION

SUSPEND

1008

Honour with ID
DE39=08

USER_DECISION

SUSPEND

1041

Lost card - capture
DE39=41

DEVICE_LOST

SUSPEND

1043

Stolen card - capture
DE39=43

DEVICE_STOLEN

SUSPEND

1054

Expired card - report
DE39=54

ISSUER_DECISION

SUSPEND

1154

Expire card - don't inform

ISSUER_DECISION

SUSPEND

1062

Restricted card

ISSUER_DECISION

SUSPEND

1199

Void card - report
DE39=05

ACCOUNT_CLOSED

DELETE

Scheme initiated

When scheme initiated LCM occurs, Paymentology will inform client of token updates via TNR

Any changes to the token or card status results in TNR. These notifications are useful to update cardholders on token events. More on TNR specifications here.

Client initiated

Mada Pay clients are required to integrate with the following endpoints:

Mada token inquiry

API schema available here.

{
  "api_call_unique_identifier": "438574812345678905",
  "client_id": 123456,
  "user_id": "string",
  "remarks": "string",
  "token": 0,
  "tokenReferenceID": "string"
}
{
  "header": {
    "error_id": 0,
    "error_desc": "success"
  },
  "body": {
    "panReferenceID": "string",
    "operatorID": "string",
    "entityOfLastAction": "string",
    "walletAccountEmailAddressHash": "string",
    "clientWalletAccountID": "string",
    "panSource": "string",
    "consumerEntryMode": "string",
    "cardMetadataProfileID": "string",
    "lastFourOfPAN": 0,
    "lastFourOfPreviousPAN": 0,
    "otpInfo": {
      "otpCodeIndicator": "string",
      "otpCodeExpiration": "string",
      "otpVerificationAttempts": 0,
      "otpVerificationRetryCounts": 0
    },
    "issuerDiscretionaryData": {
      "fileControlInformation": "string",
      "issuerApplicationDiscretionaryData": "string"
    },
    "deviceBindingInfoList": [
      {
        "deviceIndex": 0,
        "deviceID": "string",
        "deviceName": "string",
        "deviceBindingStatus": "string"
      }
    ],
    "decryptedData": {
      "tokenInfo": {
        "token": "string",
        "tokenType": "SECURE_ELEMENT",
        "tokenStatus": "ACTIVE",
        "tokenExpirationDate": {
          "month": "string",
          "year": "string",
          "expiry": "string"
        },
        "tokenAssuranceLevel": "string",
        "numberOfActiveTokensForPAN": 0,
        "numberOfInactiveTokensForPAN": 0,
        "numberOfSuspendedTokensForPAN": 0,
        "originalToken": "string",
        "originalTokenAssuranceLevel": "string",
        "originalTokenRequestorID": "string",
        "originalTokenReferenceID": "string",
        "tokenActivationDate": "string",
        "lastTokenStatusUpdatedTime": "string",
        "tokenAssuranceMethod": "string"
      },
      "deviceInfo": {
        "deviceName": "string",
        "serialNumber": "string",
        "formFactor": "string",
        "isoDeviceType": "string",
        "osName": "string",
        "osVersion": "string",
        "imei": "string",
        "msisdn": "string",
        "paymentTypes": [
          {}
        ],
        "storageTechnology": "string",
        "cardCaptureTechnology": "string"
      },
      "riskInfo": {
        "walletProviderRiskAssessment": "string",
        "walletProviderRiskAssessmentVersion": "string",
        "walletProviderAccountScore": "string",
        "walletProviderDeviceScore": "string",
        "walletProviderReasonCodes": "string",
        "deviceBluetoothMac": "string",
        "deviceIMEI": "string",
        "deviceSerialNumber": "string",
        "deviceTimeZone": "string",
        "deviceTimeZoneSetting": "string",
        "osID": "string",
        "simSerialNumber": "string",
        "deviceLostMode": "string",
        "daysSinceConsumerDataLastAccountChange": "string",
        "accountHolderName": "string",
        "walletProviderPANAge": "string",
        "walletAccountHolderCardNameMatch": "string",
        "accountToDeviceBindingAge": "string",
        "userAccountFirstCreated": "string",
        "provisioningAttemptsOnDeviceIn24Hours": "string",
        "distinctCardholderNames": "string",
        "deviceCountry": "string",
        "walletAccountCountry": "string",
        "suspendedCardsInAccount": "string",
        "daysSinceLastAccountActivity": "string",
        "numberOfTransactionsInLast12months": "string",
        "numberOfActiveTokens": "string",
        "deviceWithActiveTokens": "string",
        "activeTokensOnAllDeviceForAccount": "string",
        "visaTokenScore": "string",
        "visaTokenDecisioning": "string",
        "riskAssessmentScore": "string"
      }
    }
  }
}
Mada token lcm

API schema available here.

{
  "api_call_unique_identifier": "438574812345678905",
  "client_id": 123456,
  "user_id": "string",
  "remarks": "string",
  "token": 0,
  "operationReason": "USER_DECISION",
  "operationType": "DELETE",
  "commentText": "string"
}
{
  "header": {
    "error_id": 0,
    "error_desc": "success"
  },
  "body": {
    "errorCode": "00",
    "tokens": [
      {
        "tokenReferenceId": "string",
        "commentId": "string",
        "taskID": "string",
        "tokenRequestorID": "string",
        "panReferenceID": "string",
        "statusCode": "PENDING",
        "errorCode": "00"
      }
    ]
  }
}
Mada token update

API schema available here.

{
    "api_call_unique_identifier": "438599999999997485",
    "client_id": 123456,
    "user_id": "string",
    "remarks": "string",
    "old_token": 0,
    "new_token": 0,
    "operationReasonCode": "PAN_REPLACE",
    "operationReason": "Lost token",
    "commentText": "string",
    "deviceInfo": {
        "deviceId": "string",
        "serialNumber": "string",
        "imei": "string",
        "msisdn": "string",
        "deviceLanguageCode": "string",
        "deviceName": "string",
        "isoDeviceType": "string",
        "deviceManufacturer": "string",
        "deviceBrand": "string",
        "deviceModel": "string",
        "formFactor": "PHONE",
        "storageTechnology": "string",
        "paymentTypes": [
            "string"
        ],
        "osName": "string",
        "osVersion": "string",
        "osBuildId": "string",
        "deviceLocation": "string",
        "deviceIPAddressV4": "string",
        "locationSource": "string",
        "tokenProtectionMethod": "string",
        "deviceNumber": "string",
        "fourLastDigitPhoneNumber": "string",
        "deviceBluetoothMac": "string",
        "timeZone": "string",
        "timeZoneSettings": "string",
        "deviceIndex": "string"
    }
}
{
    "header": {
        "error_id": 0,
        "error_desc": "success"
    },
    "body": {
        "errorCode": "00",
        "tokens": [
            {
                "tokenReferenceId": "string",
                "commentId": "string",
                "taskID": "string",
                "tokenRequestorID": "string",
                "panReferenceID": "string",
                "statusCode": "PENDING",
                "errorCode": "00"
            }
        ],
        "keyValues": {
            "key": "A",
            "value": "Value 1"
        }
    }
}