INTEGRATION
ACCOUNTS
TRANSACTION ASSURANCE
CHARGES
REPORTS
DISPUTES & FRAUD
Charge Types
Correctly classifying a charge is essential for ensuring high approval rates and accurate reporting. The Silverflow API uses the charge.type object to define the specific characteristics of a charge. It is composed of three distinct fields: intent, cardEntry, and order. This guide outlines how to combine these fields to correctly represent various payment scenarios.
A one-off Customer-Initiated Transaction (CIT) is a standalone transaction pursued by the cardholder. The table below details common scenarios and the corresponding type field values.
Use case | Description |
|
|
|
|---|---|---|---|---|
Online Purchase | A standard e-commerce checkout for goods or services. | purchase | checkout | e-commerce, token |
Pre-Order | A pre-authorization to reserve funds for, such as booking travel or accommodation. | reservation | checkout | e-commerce, token |
Account Status Inquiry | A zero-value check to confirm that a cardholder's account is valid and in good standing. | account-status | checkout | e-commerce, token, card-on-file, token-on-file |
One-Click | An e-commerce transaction where the customer uses stored payment details to make a purchase. | purchase | one-click | card-on-file, token-on-file |
MOTO | A transaction where a merchant enters card details provided by a customer via Mail Order or Telephone Order. | purchase | mail, phone | manual |
Merchandise Return | A refund that is not linked to a previous transaction (unreferenced refund). | refund | checkout | e-commerce, token, card-on-file, token-on-file |
A Merchant-Initiated Transaction (MIT) is a charge processed using stored credentials, based on a prior agreement with the cardholder. To establish this agreement, an initial Customer-Initiated Transaction (CIT) must be performed first. This initial charge verifies the card and sets up the payment sequence. Subsequent MITs can then be processed using the credentials from that initial transaction.
Use case | Description | type.intent | type.order | type.cardEntry (Initial CIT) | type.cardEntry (Subsequent MIT) |
|---|---|---|---|---|---|
Standing Instruction or Recurring | A series of recurring payments with a fixed amount and frequency, such as a subscription service. | purchase | recurring | e-commerce, token, card-on-file, token-on-file | card-on-file, token-on-file |
Standing Order | A series of recurring payments with a variable amount and fixed frequency, such as a utility bill. | purchase | standing-order | e-commerce, token, card-on-file, token-on-file | card-on-file, token-on-file |
Installment | A payment that is part of a series of fixed-amount transactions to pay for a larger purchase over time. | purchase | installment | e-commerce, token, card-on-file, token-on-file | card-on-file, token-on-file |
Unscheduled (UCOF) | An irregular transaction using stored card details, such as an automatic account top-up or a rideshare fee. | purchase | ucof | e-commerce, token, card-on-file, token-on-file | card-on-file, token-on-file |
You must perform an initial Customer-Initiated Transaction (CIT) before you can run any subsequent MITs. This can performed via the Create Charge endpoint. Key things to note while performing the initial CIT:
Apply Strong Customer Authentication (SCA): The initial CIT must be authenticated using 3D Secure to comply with PSD2 SCA requirements, in regions where applicable.
Flag the CIT Correctly: When creating the initial charge, ensure you set the correct charge.type based on the use case.
Store the Credentials: After this successful, authenticated CIT, you can then store the cardholder's payment details for future use. Silverflow’s processor tokenization solution can be used to safely store the credentials. This limits your PCI-DSS scope and secures the card data.
The MIT charge can be performed via the MIT Charge endpoint or the MIT charge from Initial Charge endpoints. The MIT Charge endpoint provides greater flexibility, enabling you to perform an MIT even when the initial CIT was not performed via Silverflow, whereas the MIT Charge from Initial Charge references the initial CIT performed via Silverflow. Key things to note while performing the MIT:
Reference the Initial Transaction: You must link the MIT to the original, authenticated CIT. Use the
charge.initialTransactionReferencesfield to provide the respective card network identifier from the initial CIT. (e.g.initialTraceIdfor Mastercard,initialTransactionIdentifierfor Visa).Provide 3DS result only if 3RI is performed: You must send the
threeDsAuthenticationResultonly if you perform a 3RI for the MIT. Do not send the the 3DS result from the initial CIT.