---
title: "Request Card Digitization"
method: POST
path: "/pws/igwapi/v2.0/requestCardDigitization/"
tags: ["Tokenization Predigitization"]
---

# Request Card Digitization

`POST /pws/igwapi/v2.0/requestCardDigitization/`

## Request

- Base URL: `https://api.uat.paymentology.com/ppws/api`
- URL: `https://api.uat.paymentology.com/ppws/api/pws/igwapi/v2.0/requestCardDigitization/`
- Auth: none declared

<ul>
<li class="docBullet">Request issuer approval for card digitization.</li>
<li class="docBullet">Provides scoring made by the Wallet Provider and optionally the scheme.</li>
</ul>

## Request body

- RequestCardDigitization
  - `walletProviderId` string, required: Wallet provider identifer defined by Thales
  - `cipheredCardInfo` string: A string representing the encrypted card information
  - `issuerCardRefId` string: Unique identifier of the funding card. Generated and mananged by the issuer.
  - `tokenRequestor` TokenRequestor: nested object.
    - `id` string: Token requestor identifier, provided and allocated by scheme TSP
    - `originalTokenRequestorId` string: Applies in case of token for token provisioning - VISA only
    - `walletId` string: Wallet application identifier, provided and allocated by scheme TSP - Mastercard only
    - `merchantId` string: Unique identifier for merchant - VISA only
    - `name` string: Wallet or Merchant human readable name - VISA only
    - `tspId` string: ID that identifies in an unique way the couple token requestor: Token Service Provider. Generated by scheme - VISA only
  - `walletCardRefId` string: Wallet card unique identifier conditional: if provided by Wallet provider
  - `authenticationValue` string: Additional authentication value provided by end user or third party through the wallet provider e.g CVV
  - `publicKeyIdentifier` string: Identifier of the key used to encrypt cipheredCardInfo and authenticationValue
  - `walletUserInformation` WalletUserInformation
    - `walletUserId` string, required: Unique identifier of a wallet user account
    - `emailHash` string: Hash value of the email address registered in the wallet
    - `maskedEmail` string: Maked value of email address using *
    - `isAccountUsernamMatchCardName` boolean: True if cardHolderName matches with walletUserName, false otherwise
    - `provisioningAttemptsOnDeviceIn24Hours` string: Number fo provisioning attempts on this device withing 24 hours, stays at 99 if attempts surpass 99
    - `walletDistinctCardholderNames` string: Number of distinct cardholder names used in provisioning from this wallet
    - `walletAccountCountry` string: Country of accountholder, Country in ISO 3166 alpha-2 format
    - `suspendedCardsInAccount` string: Number of cards suspended in account.
    - `daysSinceLastAccountActivity` string: Number of days since last activity on account if number of days surpasses 9999 it will stay at 9999
    - `numberOfActiveTokens` string: Number of active tokens on this account if number of tokens surpass limit it will stay at 99
    - `deviceWithActiveTokens` string: Number of devices for this user with the same card, if number of tokens surpass limit it will stay at 99
    - `activeTokensOnAllDeviceForAccount` string: Number of active devices for this user with the same card, if number of tokens surpass limit it will stay at 99
    - `daysSinceConsumerDataLastAccountChange` string: Number of days since acconut settings were changed, if the number of days surpasses 9999 - will stay at 9999.
    - `numberOfTransactionsInLast12Months` string: Number of transaction on this account in the last 12 months. If the number of transactions surpass limit it will stay at 9999. For example: “9999”.
    - `accountEmailLife` string: Number of months (between 00 - 24) that has passed before the account's email was last updated. This field is sent in case of UPI scheme. For other schemes, this field is not sent.
  - `cardCaptureInformation` CardCaptureInformation
    - `cardHolderName` string: card holder name entered by the user on the device.:<br/> The format is LASTNAME/FIRSTNAME or FIRSTNAME LASTNAME
    - `captureMethod` string: Method used by the user or the issuer to capture card information to digitize.<br/>Description:\<br/>- CAMERA: when card information is captured by the on-device camera\:<br/>- MANUAL: when the consumer enters the card information manually, through the device keyboard\:<br/>- BANK_APP: when the card information is exchanged between the banking App and the Issuer App\:<br/>- ON-FILE: when the card information is retrieved by a merchant who has stored the card information\:<br/>- READER_MODE: when the card information is retrieved through a NFC interaction between the device and the physical card (applies to VISA and some domestic schemes)\:<br/>- TOKEN: when the card information is retrieved through a device-based token. This is applicable only to VISA token for token provisioning use case\:<br/>- CHIP_DIP: card information is captured by inserting (dip) the card into a terminal (only VISA)\:<br/>- UNKNOWN: the orgin of the card informatioin is not known
    - `deviceLocation` string: It can be:<br/>Short location description, for ex: \"+37/-121\"<br/> Extended location description, for ex: \"+37.23/-121.23\"\
    - `sourceIp` string: Current device IP address
    - `address` Address
      - `line1` string
      - `line2` string
      - `city` string
      - `state` string
      - `country` string
      - `postalCode` string
      - `countrySubdivision` string
      - `keyValues` Entry[]
        - `key` string: Key
        - `value` string: Value
    - `cardHolderIdType` string: The cardholder's ID type, the possible values are::<br/>|Type|Description|:<br/>|----|-----------|:<br/>|01|Identification Card|:<br/>|02|Military ID Card|:<br/>|03|Passport|:<br/>|04|Home-visit Permit|:<br/>|05|Taiwan Compatroit Permit|:<br/>|06|Police ID Card|:<br/>|07|Soldier ID Card|:<br/>|99|The others|:<br/>:**This field is only applicable to UPI scheme**
    - `cardHolderIdNo` string: This is the identification no. of the cardholder type choosen by the cardholder. :<br/>**This field is only applicable to UPI scheme**
    - `cardHolderType` string
    - `cardHolderNo` string
  - `scoringInformation` ScoringInformation
    - `levelOfTrust` string: Wallet Provider Level of trust of the customer and provided Card Information<br/>Value can be:<br/> - 'green' : good level of trust, no particular ID&V requested<br/>- 'yellow' : warning, ID&V is required needed<br/>- 'orange' : suspect a fraud<br/>Conditional: It depends on the Wallet Provider, if this information is provided or not.<br/>
    - `tspScore` string: Token Service Provider scoring (1 to 5)
    - `reasonCodes` string[]: This is a list of reason provided by the WalletProvider to explain the levelOfTrust<br/>In case of green flow, this field is empty<br/>| reasonCode |In case of Yellow flow description|<br/><br/>|01 |User Wallet Account ID too new relative to launch|<br/>|02 |User Wallet Account ID too new relative to provisioning request|<br/>|03 |User Wallet Account ID/Card Pair is newer than date threshold|<br/>|04 |Changes made to account data within date threshold|<br/>|05 |Suspicious transactions linked to this account.|<br/>|06 |The Account has not had activity in the last year.|<br/>|07 |Suspended cards in the secure element|<br/>|08 |The device was put in lost mode in the last 7 days for longer than the duration threshold|<br/>|09 |The number of provisioning attempts on this device in 72 hours exceeds the threshold|<br/>|0A |There have been more than the threshold number of different cards attempted at provisioning to this phone in 24 hours.|<br/>|0B |The card provisioning request contains a distinct name in excess of the permitted threshold|<br/>|0C |Device Score is less than 3|<br/>|0D |Account Score is less than 4|<br/>|0E |Device provisioning location outside of OEM marketplace store home country|<br/>|0F |Model rules not available at this time (in cases where back end systems time out).|<br/>|0G |Orange path flag|<br/>|0H |Phone Number Score is less than 3|<br/>
    - `deviceScore` string: Wallet Provider Device scoring, scoring is a level of trust between 1 and 5, 5 is most trusted.
    - `deviceTenure` string: Device tenure in number of days
    - `deviceTokens` string: Number of tokens in device
    - `deviceCountry` string: Device country code as per ISO-3166-Alpha-2
    - `devicePayJoinDate` string: The date on which the device joined the Wallet Provider digital payment service. In UTC timezone, example '2018-01-01Z'.
    - `accountScore` string: Wallet Provider account scoring, scoring is a level of trust between 1 and 5, 5 is most trusted.
    - `accountCreationDate` string: Wallet Provider account creation date. In UTC timezone, example '2017-01-01Z'.
    - `userTenure` string: User tenure in number of days
    - `userTokens` string: Number of tokens for user
    - `userWallets` string: Number of wallets for user
    - `userCountry` string: User country code as per ISO-3166-Alpha-2
    - `userPayJoinDate` string: The date on which the user joined the Wallet Provider digital payment service. In UTC timezone, example '2018-01-01Z
    - `phoneNumberScore` string: Phone number scoring made by the wallet provider, scoring is a level of trust between 1 and 5, 5 is most trusted.
    - `walletScore` string: Wallet Provider Account scoring, scoring is a level of trust between 1 and 5, 5 is most trusted
    - `walletTenure` string: Wallet tenure in number of days
    - `walletTransactions` string: Number of transactions by the wallet
    - `cardScore` string: Card scoring, scoring is a level of trust between 1 and 5, 5 is most trusted.
    - `cardTenure` string: Card tenure in number of days
    - `cardNewlyAdded` boolean: Flag indicating if the card is added as well the card on file manage by the wallet provider during the current token provisioning attempt. False if the card was already on file (provided only in case of google pay)<br/>
    - `levelOfTrustStandardVersion` string: Version number of standard set applied beginning with 0001.00.(please refer to OEM for detailed description)
    - `accountLastUpdateDate` string: The date corresponding to the Wallet Provider account last update. In UTC timezone, example '2017-06-01Z'
  - `deviceInformation` DeviceInformation
    - `tokenStorageId` string: Unique token storage identifier
    - `tokenStorageType` string: Identify the type token storage location, possible value:<br/>- HCE<br/>- SPAY_PHONE<br/>- SPAY_TABLET<br/>- SPAY_WATCH<br/>- SPAY_TV<br/>- IPHONE<br/>- IWATCH<br/>- IPAD<br/>- MAC_BOOK<br/>- ANDROID_PHONE<br/>- ANDROID_TABLET<br/>- ANDROID_WATCH<br/>- MOBILE_PHONE<br/>- TABLET<br/>- WATCH<br/>- MOBILE_PHONE_OR_TABLET<br/>- BRACELET<br/>- UNKNOWN<br/>
    - `manufacturer` string: Device manufacturer name
    - `brand` string: Device brand
    - `model` string: Device model
    - `tac` string: Type Allocation Code of the device
    - `osVersion` string: Device OS version
    - `firmwareVersion` string: Device firmware version
    - `phoneNumber` string: Device Phone number
    - `fourLastDigitPhoneNumber` string: The 4 last digit of the device phone number
    - `deviceName` string: Device name that the device owner may use to identify it
    - `deviceId` string: Stable hardware identifier.<br/>Used only for risk signal as there are some rare cases when deviceId can be reused across multiple devices or can change<br/>
    - `androidIdLastTwo` string: Last 2 hex characters of the Android Id.
    - `deviceParentId` string: Parent device tokenStorageId. It is used in case of wearable device
    - `language` string: Selected language on the device in ISO 639-3
    - `deviceStateFlags` string: Hexa string containing the device state flags defined in [VCON] section 7.2. There is one bit per flag.<br/>Conditional - Mandatory in case of HCE<br/>
    - `serialNumber` string: Serial number of the mobile device
    - `timeZone` string: Device time zone<br/>Timezone abbreviation.<br/>Example: PST, GMT, GMT+05:00<br/>
    - `timeZoneSetting` string: who set the timezone.<br/><br/>Description:<br/>-NETWORK_SET<br/>-CONSUMER_SET
    - `simSerialNumber` string: SIM serial number
    - `IMEI` string: Phone IMEI
    - `phoneLostTime` string: If available, the period, in day, the phone has been los
    - `networkOperator` string: The network operator name
    - `networkType` string: Type of network use for enrollment<br/><br/>Description:<br/>-CELLULAR<br/>-WIFI
    - `imei` string
    - `name` string
  - `tncStatus` boolean: Boolean - T&C acceptance status by end user.<br/>Value is \"true\" if T&C have been accepted, \"false\" otherwise.<br/>
  - `tncAcceptedDate` string: Date of T&C acceptance by end user in ISO 8601 format YYYY-MM-DDThh:mm:ssTZD
  - `cvvValidated` boolean: true if the TSP has verify the CVV2 on behalf of the issuer<br/>false if TSP failed to verify the CVV2<br/>not provided if TSP doesn't manage to verify the CVV2
  - `tokenType` string: The type of token the TSP has created or for which the request is sent.<br/>It applies to VISA, MasterCard and UPI.<br/>Following values are supported:<br/>- SE (token for a secure element)<br/>- HCE (token for Host Card Emulated device)<br/>- COF (token for a card on file)<br/>- ECOM (token for ecommerce)<br/>- QRC (token for QRCode)

## Response `200`

Successful Response

- RequestCardDigitizationResponse
  - `issuerCardRefId` string, required
  - `productId` string
  - `cardDetails` CardDetails
    - `cardholderName` string
    - `fpanLastDigits` string
    - `fpanBin` string
    - `fpanExpiryDate` string
  - `levelOfTrust` string
  - `idvMethodList` Idv[]
    - `id` string
    - `type` string
    - `value` string
    - `source` string
    - `platform` string
  - `transcationLimit` string
  - `tokenType` string

## Other responses

- `404`: Webservices does not exist
- `500`: Internal Server error

## Changes

- **2026-11-03** `73c2771493b1`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/paymentology/apis/payapi-docs/changes/pws/igwapi/v2.0/requestCardDigitization/post.md)

---

[API](https://skmtc.dev/paymentology/apis/payapi-docs.md) - [All operations](https://skmtc.dev/paymentology/apis/payapi-docs/llms.txt) - [OpenAPI document](https://skmtc.dev/paymentology/apis/payapi-docs/revisions/73c2771493b1?raw)
