Home / Acquiring / Accept Payments
Credential on File (COF) refers to payment card details stored within Highnote’s platform and authorized by the cardholder for making future purchases without re-entering card details.
Transactions are categorized as customer-initiated (CIT) or merchant-initiated (MIT), with specific processes for each. COF scenarios include unscheduled, recurring, and installment transactions, each with distinct initiation methods.
Credential On File (COF) transactions can be internal or external, with support for both raw card details and network tokens. External COF transactions require a network transaction identifier from a CIT to process further MIT transactions.
Credential on File (COF) is a saved payment card authorized for use. The Highnote platform uses the stored credentials, including the primary account number (PAN) and expiration date, to process future transactions without requiring the customer to re-enter their information or authorization.
COF transactions are either customer-initiated (CIT) or merchant-initiated (MIT).
Customer-initiated (CIT): The cardholder actively participates in the transaction.
Merchant-initiated (MIT): The merchant is the active participant for the transaction.
Highnote’s platform supports internal and external COF transactions, providing the flexibility and security to match your program’s needs.
Highnote’s platform supports the following use cases for COF transactions:
Your platform must create COF transactions with an AcquiringPaymentInitiator enum set.
You must first complete a customer-initiated transaction (CIT) before your system can initiate merchant-initiated (MIT) transactions.
| Type | Customer-IT Value | Merchant-IT Value |
|---|---|---|
| Unscheduled | CUSTOMER_INITIATED_VIA_WEB | MERCHANT_INITIATED_UNSCHEDULED |
| CUSTOMER_INITIATED_VIA_MAIL_ORDER_OR_TELEPHONE_ORDER | ||
| Recurring | CUSTOMER_INITIATED_RECURRING_FIRST | MERCHANT_INITIATED_RECURRING |
| Installment | CUSTOMER_INITIATED_INSTALLMENT_FIRST | MERCHANT_INITIATED_INSTALLMENT |
To initiate recurring COF payments, your system uses the enum value MERCHANT_INITIATED_RECURRING.
You begin by processing the CIT with CUSTOMER_INITIATED_RECURRING_FIRST to indicate that the customer has agreed to store the payment method for recurring payments; further transactions use the value MERCHANT_INITIATED_RECURRING.
To initiate unscheduled COF payments, your system uses the enum value MERCHANT_INITIATED_UNSCHEDULED.
You begin by processing the CIT with either CUSTOMER_INITIATED_VIA_WEB or CUSTOMER_INITIATED_VIA_MAIL_ORDER_OR_TELEPHONE_ORDER; further transactions use the value MERCHANT_INITIATED_UNSCHEDULED.
To initiate recurring COF payments, your system uses the enum value MERCHANT_INITIATED_INSTALLMENT.
You begin by processing the CIT with CUSTOMER_INITIATED_INSTALLMENT_FIRST to indicate that the customer has agreed to store the payment method for installment payments; further transactions use the value MERCHANT_INITIATED_INSTALLMENT.
External COF transactions use a third-party token service provider (TSP) with either raw payment card details or a network payment token (NPT). This section describes how to use a TSP with raw payment card details.
To begin, your platform must process a transaction with one of the CUSTOMER_INITIATED_ AcquiringPaymentInitiator values set on the acquiring mutation and the externalCredentialOnFile object set with intendToStore: true.
Define an acquiring mutation, such as "chargePaymentCard", requesting the properties you may need for your use case along with the networkTransactionIdentifier.
paymentInitiator as one of the CUSTOMER_INITIATED_ AcquiringPaymentInitiator values.externalCredentialOnFile with the value intendToStore: true.Save the resulting networkTransactionIdentifier to process further transactions.
To process further transactions, use a MERCHANT_INITIATED_ AcquiringPaymentInitiator values set on the acquiring mutation and the externalCredentialOnFile object set with networkTransactionIdentifier from a customer initiated transaction.
Define an acquiring mutation, such as “chargePaymentCard", requesting the properties you may need for your use case.
paymentInitiator as one of the MERCHANT_INITIATED_ AcquiringPaymentInitiator values.externalCredentialOnFile with the value networkTransactionIdentifier from a previous customer initiated transaction.Network payment token transactions work like external COF transactions with the exception that instead of providing the payment card’s raw details, your system supplies a networkTokenization object that includes a cryptogram and a tokenRequestorIdentifier provided by the card network or a TSP.
To begin, your platform must process a transaction with one of the CUSTOMER_INITIATED_ AcquiringPaymentInitiator values set on the acquiring mutation and the externalCredentialOnFile object set with intendToStore: true.
Define an acquiring mutation, such as ChargeNetworkPaymentToken, requesting the properties you may need for your use case along with the networkTransactionIdentifier.
CUSTOMER_INITIATED_ AcquiringPaymentInitiator values.externalCredentialOnFile with the value intendToStore: true.Save the resulting networkTransactionIdentifier to process further transactions.
To process further transactions, use a MERCHANT_INITIATED_ AcquiringPaymentInitiator values set on the acquiring mutation and the externalCredentialOnFile object set with networkTransactionIdentifier from a customer initiated transaction.
Define an acquiring mutation, such as ChargeNetworkPaymentToken, requesting the properties you may need for your use case.
MERCHANT_INITIATED_ AcquiringPaymentInitiator values.externalCredentialOnFile with the value networkTransactionIdentifier from a previous customer initiated transaction.