DocumentationRecipesAPI ReferenceChangelog
Documentation

Card-on-file transaction

Card-on-file transaction allows merchants to securely store their customer's cards detail and use it for future payment. Commonly used on saved card and recurring subscriptions payment.

Typically, first payment is initiated by customer and card will be save upon payment completed. The saved card credential will be allowed to use in future payment.

❗️

Who need to concern

Merchant who are sending

  • saved card payment (Tokenisation)
  • recurring payment
📘

Migrate existing transaction to Card-on-file model

For merchant who want to convert existing transactions to support COF , please refer to Convert existing transactions to card-on-file model.


Customer-Initiated Transaction

Payment that triggered directly by the customer.

  • Commonly used on saved card scenario
  • Recommended to trigger 3DS authentication for first time
  • Card can be saved for future transactions

How to implement

Payment Token API

Fields

Merchants need to send

transactionInitiator

C: Customer Initiated Transaction

request3DS

  • Y/F : request 3ds
  • N : request non-3ds

storeCredentials

  • F: CIT First time payment
  • S: CIT Subsequent payment

tokenize or tokenizeOnly

  • Y : required store card

*Note : only required when merchant is using 2c2p tokenization service


Payment Response (Backend)

Fields

Merchants need to handle

schemePaymentID

Payment id that is return from the scheme (eg. Visa/Master)

Merchant required to save this value to their application and used it for future payment.

customerToken or
cardToken (v4.2 & below)

Unique token id return from 2c2p



Merchant-Initiated Transaction

Payment started by the merchant without the customer actively taking part.

  • Commonly used in Recurring / Subscription
  • MIT transactions allow to trigger only with customer consent
  • Payment must have references to first payment CIT

How to implement

Payment Token API

Fields

Merchants need to send

transactionInitiator

M: Merchant Initiated Transaction

request3DS

  • N : request non-3ds

storeCredentials

  • S: Subsequent payment

previousPaymentID

Required to send schemePaymentID that received from CIT transaction

This Payment ID will pass through to scheme network as a reference to the first CIT payment.

customerToken or
cardToken (v4.2 & below)

Merchants send token id to replace the PAN
*Note : only required when merchant is using 2c2p tokenization service