Card on File (COF) Guide
Last updated:August 7, 2026
Card on File (COF) framework allows merchants to create a COF agreement with the cardholder during the initial payment (CIT), when he is present, and securely store his credit or debit card. Reference to this COF agreement in all the future merchant initiated (MIT) payments, is very important for the Issuer bank of the cardholder to validate the future payment requets as sanctioned by the cardholder, even though are initiated by the merchant without active cardholder presence.
Our Card on File framework consists of three types of COF agreements
CIT agreements
CIT agreement implies, that the cardholder is storing his card only for his own convenience of initiating payment by himself, as a single click payment later, without a need of entering his card data every time he visists the merchant's app or website.
MIT agreements
MIT agreement implies, that the cardholder has authorized the merchant to initiate multiple future payments on his behalf, based on a predefined recurring or unscheduled basis for a fixed or variable amount.
Industry Practice MIT agreements
Industry Practice MIT agreement is a type of agreement, where cardholder allows merchant to initiate a once-off payment later, when carholder will be off-session.
- Store the Scheme ID from the initial CIT in your systems to support acquirer migrations and cross-connector continuity.
Use cases
One-click agreement
The merchant collects card data from the shopper during a cardholder-present purchase and stores it for future one-click payments. Every later purchase is still cardholder-initiated, so each one-click charge is sent the same way as the first, just switching standingInstruction.mode to REPEATED.
Use case: Anna stores her card at marketplace for quick purchases in future. When time comes, she makes an order and pays for it in a single click choosing the card she stored.
How it works
Store the payment data
Tokenize the card during the initial, cardholder-present purchase.
Send the payment
Use the stored registration for every later cardholder-initiated payment.
Review the agreement
Query the registration to confirm the stored one-click agreement.
1. Store the payment data
Collect the customer payment information via COPYandPAY or Server-to-Server, adding the standingInstruction parameters that mark this as the initial leg of a CIT agreement.
Sample request:

The response returns a registrationId. Carry that id into every future one-click request below, it is what links each payment back to this shopper's stored card.
2. Send the payment
When the customer checks out with One-Click, all you need to do is send a server-to-server request for a new payment with the respective registration.id (token) for which you want to make the payment. You can do this by sending a POST request to the /v1/registrations/{registration.id}/payments endpoint.
Sample request:

3. Review the agreement
Query the registration to confirm the stored card and the standing-instruction parameters used to create it.
Sample request:

Walk through this flow step by step in the Integration guide or the Server-to-server guide.
API Reference
The standingInstruction.* parameters below apply across all three use cases above.
| Parameter | Description | Format | Required |
|---|---|---|---|
| standingInstruction.type | The category of the transaction.
|
UNSCHEDULED|INSTALLMENT|RECURRING | Conditional |
| standingInstruction.recurringType | Indicates the type of a recurring MIT agreement.
|
STANDING_ORDER|SUBSCRIPTION | Conditional |
| standingInstruction.mode | Indicating the mode of subsequent payment transaction.
|
INITIAL|REPEATED | Conditional |
| standingInstruction.source | Indicating the type of subsequent payment transaction.
|
CIT|MIT | Conditional |
| standingInstruction.initialTransactionId | The field represents the reference ID generated by the scheme (in some integrations, the processor provides its own internal ID instead of the scheme value) for the transaction, and is returned by the processor/acquirer as part of the CIT transaction response.
The ID is received in one of below OPP response fields, depending on the integration (refer to respective Connector Integration sheet):
|
AN or N(No specific format-Depends on acquirer) | Conditional |
| standingInstruction.industryPractice | The MIT types defined under this category are performed to fulfill a business practice as a follow-up to an original cardholder-merchant interaction that could not be completed with one single transaction.
|
INCREMENTAL_AUTH|RESUBMISSION|REAUTHORIZATION|DELAYED_CHARGES|NO_SHOW | Conditional |
| standingInstruction.expiry | Date after which no further authorizations will be performed. Used for authentication request during EMV 3D.
|
yyyy-mm-dd | Conditional |
| standingInstruction.frequency | Indicates the minimum number of days between authorizations.
|
N4 | Conditional |
| standingInstruction.numberOfInstallments | Indicates the maximum number of authorizations permitted for installment payments. Required if the Merchant and Cardholder have agreed to installment payments, and EMV 3D authentication is configured i.e. if standingInstruction.type=INSTALLMENT. Omitted if not an instalment payment authentication. Note: This parameter is conditional (mandatory when processing 3D Secure on installment transactions). | N3 | Conditional |
| standingInstruction.agreementId | Used for Mastercard transactions to transmit the Economically Related Transaction ID (TLID), which identifies and links transactions associated with the same standing instruction agreement (for example, Merchant Initiated Transactions and refunds). During a transitional period, both standingInstruction.initialTransactionId and standingInstruction.agreementId will be returned by Mastercard and are expected to be provided in MIT requests. After the transition period, only standingInstruction.agreementId will be returned in responses and expected in requests. | AN35 | Optional |