<< Back to Modular Home

Sequence Diagrams - Stored card using a Network Token

Customer Initiated Transactions (CITs)

You can create the Network Payment Token (NPT) either before the initial plain card or Worldpay token payment is made, or after the payment. Examples of both are below:

Creating an NPT (CIT) - before payment

Create an NPT before the payment using either API only or the Checkout SDK.

As NPT creation is not guaranteed you must have a fallback to a Worldpay Token.

Card payment via the Checkout Web SDK, including the creation of a verified token and a Network Payment Token (before payment).

Using:

  1. Checkout SDK
  2. Verified Toke API - for Worldpay Token creation
  3. Tokens API - to convert the Worldpay token to a network token
  4. Card Payments API
BrowserMerchant_FrontendMerchant_BackendCheckout_SessionsVerified_Token_APITokens_API3DS_APICard_Payments_APICheckout JS added to pageIncludes sessionWorldpay Token returnedIncludes Worldpay TokenNetwork Payment Token (NPT) number returnedIncludes Network Payment Token (NPT) numberCryptogram for Network Payment Token (NPT) returnedSet `customerAgreement.type: cardOnFile` `customerAgreement.storedCardUsage: first` / Includes Network Payment Token (NPT) number and cryptogramClick PayCreate sessionReturn sessionPayVerified token requestVerified token responseCreate NPTCreate NPT responseProvision cryptogram for NPTProvision cryptogram responsecustomerInitiatedTransactions requestcustomerInitiatedTransactions responseSettlement requestSettlement responseBrowserMerchant_FrontendMerchant_BackendCheckout_SessionsVerified_Token_APITokens_API3DS_APICard_Payments_API

Creating an NPT (CIT) - After payment

Create an NPT after the payment using either API only or the Checkout SDK.

Card payment via the Checkout Web SDK, including the creation of a verified token and a Network Payment Token (after payment).

Using:

  1. Checkout SDK
  2. Verified Tokens API - for Worldpay Token creation
  3. Card Payments API
  4. Tokens API - to convert the Worldpay token to NPT
BrowserMerchant_FrontendMerchant_BackendCheckout_SessionsVerified_Token_APITokens_API3DS_APICard_Payments_APICheckout JS added to pageIncludes sessionWorldpay Token returnedSet `customerAgreement.type: cardOnFile`, `customerAgreement.storedCardUsage: first` Includes Worldpay TokenIncludes Worldpay TokenNetwork Payment Token (NPT) number returnedClick PayCreate sessionReturn sessionPayVerified token requestVerified token responsecustomerInitiatedTransactions requestcustomerInitiatedTransactions responseSettlement requestSettlement responseCreate NPTCreate NPT responseBrowserMerchant_FrontendMerchant_BackendCheckout_SessionsVerified_Token_APITokens_API3DS_APICard_Payments_API

Using an NPT (CIT)

  • The NPT cryptogram and number can be from a different Payment Service Provider.
  • Worldpay can only provision cryptograms for NPTs it has originally created.

Using an existing NPT to provision a new cryptogram and make the payment

Using:

  1. Tokens API - to provision the NPT cryptogram
  2. Card Payments API
BrowserMerchant_FrontendMerchant_BackendTokens_APICard_Payments_APIIncludes Network Payment (NPT) numberCryptogram for Network Payment Token (NPT) returnedSet `customerAgreement.type: cardOnFile`, `customerAgreement.storedCardUsage: subsequent` Includes Network Payment Token (NPT) number and cryptogramPayProvision Cryptogram for NPTProvision cryptogram responsecustomerInitiatedTransactions requestcustomerInitiatedTransactions responseSettlement requestSettlement responseBrowserMerchant_FrontendMerchant_BackendTokens_APICard_Payments_API

Merchant Initiated Transactions

Using an existing NPT to make a subsequent payment (MIT)

An NPT cryptogram is not required for Merchant Initiated Transactions

Using:

  1. Card Payments API
BrowserMerchant_FrontendMerchant_BackendCard_Payments_APIIssuersSet `customerAgreement.type: subscription`, `customerAgreement.storedCardUsage: subsequent` Includes Network Payment Token (NPT) numberClick PayPaymerchantInitiatedTransactions requestmerchantInitiatedTransactions responseSettlement requestSettlement responseBrowserMerchant_FrontendMerchant_BackendCard_Payments_APIIssuers