On This Page
Use Case 1: Add a New Credit Card
In this use case, the customer is adding a new credit card to their account or wallet.
Microform Integration
securely captures the primary account number (PAN)
and card verification value (CVV). The card expiration month and year is rendered and
collected by the merchant.Overview
Figure:
Add a New Credit Card Flow
- TheMicroform Integrationreplaces the PAN and CVV.
- You render non-sensitive fields for card expiration month and year.
- When the customer submits the form, you callmicroform.createToken(). You can also include the card expiration month and year but it is not required.
- Microform Integrationsecurely tokenizes the PAN, CVV, and any optional fields that are supplied.Microform Integrationreturns a transient token in the form of a JWT.
Transient Token Contents
The transient token is JWT that includes the PAN and CVV. If the card expiration
month and year are included in
microform.createToken()
, they are
returned in clear text in the decoded transient token payload. Microform Integration
does not render or host expiration date fields.After you receive the transient token, you can perform a zero‑amount authorization
using
Cybersource
APIs and create a permanent token in Token Management Service
(TMS
).To create a permanent token, the authorization request must include these fields and
values
- Set theprocessingInformation.actionListfield toTOKEN_CREATE.
- Set theprocessingInformation.actionTokenTypesfield set to the desired token type such as,paymentInstrument,instrumentIdentifier, orcustomer.
After you create a permanent token it can be stored and reused for future
transactions.
Example: Add a New Card
Transient Token Response
eyJraWQiOiIwMGNGR0h1d0ZsSEVkaGxPREhOSUU4ZEhURVpFeXdFRiIsImFsZyI6IlJTMjU2In0.eyJpc3MiOiJGbGV4LzAwIiwiZXhwIjoxNzc0OTUyNTk0LCJ0eXBlIjoibWYtMi4xLjAiLCJpYXQiOjE3NzQ5NTE2OTQsImp0aSI6IjFENVhaUDEyUFhEODNISlZPUERFRVY4RUFDVVpJTUxLMjlTMkVPWjVFNzJQNUFVUUpGSzM2OUNCQTA5MjVDNzUiLCJjb250ZW50Ijp7InBheW1lbnRJbmZvcm1hdGlvbiI6eyJjYXJkIjp7ImV4cGlyYXRpb25ZZWFyIjp7InZhbHVlIjoiMjAyNyJ9LCJudW1iZXIiOnsiZGV0ZWN0ZWRDYXJkVHlwZXMiOlsiMDAxIl0sIm1hc2tlZFZhbHVlIjoiWFhYWFhYWFhYWFhYNDI0MiIsImJpbiI6IjQyNDI0MiJ9LCJzZWN1cml0eUNvZGUiOnt9LCJleHBpcmF0aW9uTW9udGgiOnsidmFsdWUiOiIxMiJ9fX19fQ.lEOqM7CGNh82oiCEcPgPmOzdmPoIVGdQdAsLJQRD13InDaO5hopulbBdz_jAl27luaQy5Lxd9h5MgtORIkDtDRPboVCQzcohESwoO_FwHVK0Wg_RsGyLcZN0SByKHIt2TfnbEDB1J5lwkj9o_XLHpBpNWegJzy5r37sAPauZFtivQceDRi_BL04IUIh431KQAW8rRhBsEEA77MBsdSJ-x3381znuiAGziLP4bvKFDSppsAX4Mbm1xm78O71sYCEMPs_-kDZ75n324vM8XF0aS0bhkZ_68jjt1m_YxnnTD33u_eQ5hIbTGf4R68wjvs1ZHjF8Ao9zbYhDguVK1KZiDw
Decoded Transient Token
{ "iss": "Flex/00", "exp": 1774952594, "type": "mf-2.1.0", "iat": 1774951694, "jti": "1D5XZP12PXD83HJVOPDEEV8EACUZIMLK29S2EOZ5E72P5AUQJFK369CBA0925C75", "content": { "paymentInformation": { "card": { "expirationYear": { "value": "2027" }, "number": { "detectedCardTypes": [ "001" ], "maskedValue": "XXXXXXXXXXXX4242", "bin": "424242" }, "securityCode": {}, "expirationMonth": { "value": "12" } } } } }