What Are Network Processing Types?
Network processing types tell card networks (Visa, Mastercard, etc.) how to classify your transaction. This classification affects:- Fraud prevention: Networks use this to detect suspicious patterns
- Compliance: Required for recurring payments and subscriptions
- Success rates: Proper classification can improve approval rates
- Fees: Some transaction types have different fee structures
Understanding Transaction Types
Initial vs. Subsequent Transactions
Initial transactions are the first payment in a series:- First payment in a subscription
- First payment in an installment plan
- One-time purchases
- Monthly subscription charges (after the first)
- Installment payments (after the first)
- Recurring billing
Card-on-file transactions
A card on file payment uses a stored card credential. These payments are separate from a fixed subscription or installment series.- Cardholder-initiated (CIT): the cardholder is taking part in the payment. That includes the payment where they agree to store the card, and a later checkout with a card that is already saved.
- Merchant-initiated (MIT): you charge a stored card later, without the cardholder taking part, under a prior agreement. Use this for unscheduled charges such as a balance top-up or a usage-based fee.
recurring and installment.
Network Processing Object
Include this object in your API request to specify the transaction type:Processing Type Values
You can use either the string value (e.g.,
"recurring") or the integer (e.g., 2). Both work the same way. String values are case-insensitive.
A value outside this table returns HTTP 400. The message names processingType and the allowed values.
initialCOF, cardholderInitiatedCOF, and merchantInitiatedCOF are supported on sale and authorization requests. They are not applied to subscriptions that Revolv3 bills for you, or to capture, refund, or void requests.
These three values are passed through to Worldpay. On other processors, Revolv3 accepts, stores, and returns the value you sent, and builds the processor request the same way it does for a payment sent without
processingType.Original Network Transaction ID
TheoriginalNetworkTransactionId links a later payment to an earlier network transaction. It is the networkTransactionId from that earlier payment.
Send it when you have it for:
recurringpayments (reference the first payment in the series)installmentpayments (reference the first payment in the series)merchantInitiatedCOF(reference the original stored-credential payment)
initialCOF and cardholderInitiatedCOF. If you send it, Revolv3 stores it and passes it on.
When to omit:
- For
initialRecurring,initialInstallment, orinitialCOF, when there is no earlier network transaction - For a one-time purchase that does not include
networkProcessing
Note: Arecurringorinstallmentpayment withoutoriginalNetworkTransactionIdcan still be processed, but it may not be linked to the original transaction. AmerchantInitiatedCOFpayment without that ID is still sent asmerchantInitiatedCOF. It is not converted into a one-time payment. Visa and Discover often require the original network transaction ID on a later stored-credential charge, so leaving it out can increase declines on those brands.
When to Use Each Type
One-Time Purchase
Use this when the cardholder pays once and you are not storing the card for later charges. Don’t include NetworkProcessing:Subscription - First Payment
UseinitialRecurring:
Subscription - Monthly Charge
Userecurring with original transaction ID:
Installment Plan - First Payment
UseinitialInstallment:
Installment Plan - Subsequent Payment
Useinstallment with original transaction ID:
Store a Card for Later Unscheduled Charges
UseinitialCOF when the cardholder pays and agrees to store the card. This is not the first payment of a subscription or installment plan.
networkTransactionId from the response. You send it later on merchantInitiatedCOF charges.
Returning Customer, Saved Card
UsecardholderInitiatedCOF when the cardholder checks out with a card you already have on file. originalNetworkTransactionId is optional.
Merchant-Initiated Charge on a Saved Card
UsemerchantInitiatedCOF for an unscheduled charge you start yourself, such as a wallet top-up. Include the network transaction ID from the original stored-credential payment when you have it.
How to Get the Original Network Transaction ID
You’ll receivenetworkTransactionId in the response from these endpoints:
POST /api/payments/sale- One-time paymentPOST /api/payments/sale/{paymentMethodId}- Payment with stored methodPOST /api/payments/authorization- Authorize paymentPOST /api/payments/authorization/{paymentMethodId}- Authorize with stored methodPOST /api/subscriptions- Create subscription
GET /api/Invoices/{invoiceId}- ReturnsnetworkTransactionIdin the response
Important: Each payment gets its ownSale and authorization responses return thenetworkTransactionId. For recurring, installment, and merchant-initiated card-on-file payments, use thenetworkTransactionIdfrom the original payment on later charges in that series.
processingType you sent. Webhooks for those transactions include the same value.
Important Limitations
What this means:- ✅ Use for credit/debit cards
- ❌ Don’t use for ACH payments
- ✅ Works for Visa, Mastercard, Discover
- ⚠️ May not work for American Express or other card brands
- ⚠️ Card brand must match between original and subsequent transactions
Endpoints That Support Network Processing
You can includeNetworkProcessing in these endpoints:
POST /api/payments/sale- One-time paymentPOST /api/payments/sale/{paymentMethodId}- Payment with stored methodPOST /api/payments/authorization- Authorize paymentPOST /api/payments/authorization/{paymentMethodId}- Authorize with stored methodPOST /api/subscriptions- Create subscription (onlyoriginalNetworkTransactionIdcan be defined in thepaymentMethodsobject)
initialCOF, cardholderInitiatedCOF, and merchantInitiatedCOF apply to the sale and authorization endpoints above. Do not send them on subscription, capture, refund, or void requests.
Processor Support
This feature works with these processors:- WorldPay
- Adyen
- Nuvei
- TSYS
- EPX
- JPMorgan (Paymentech)
- Paymentlync
- BridgePay
NetworkProcessing and you’re using a supported processor, the information will be passed to the processor. If you’re using an unsupported processor, the object will be ignored (no error, it just won’t be used).
initialCOF, cardholderInitiatedCOF, and merchantInitiatedCOF are passed through on Worldpay today. On the other processors in this list, the value is still accepted, stored, and returned, but the processor request is built as a one-time payment.
Real-World Examples
Example 1: Monthly Subscription
First payment (when customer signs up):"networkTransactionId": "483299310358831"
Second payment (next month):
Example 2: Buy Now, Pay Later (4 Payments)
First payment:"networkTransactionId": "123456789012345"
Subsequent payments (months 2, 3, 4):
Example 3: Usage-Based Charge on a Stored Card
The cardholder pays once and agrees to store the card:"networkTransactionId": "483299310358831"
Later, you charge that saved card for usage, without the cardholder taking part:
cardholderInitiatedCOF instead.
Best Practices
- Store network transaction IDs: When you get a
networkTransactionIdfrom the first payment, save it for later recurring, installment, andmerchantInitiatedCOFcharges - Use the right type: Match the processing type to who starts the payment and whether the card is being stored now or is already on file
- Link properly: Include
originalNetworkTransactionIdforrecurring,installment, andmerchantInitiatedCOFpayments when you have it - Check processor support: The card-on-file values are passed through on Worldpay. On other processors the value is stored and returned, and the processor request is built as a one-time payment
- Match card brands: Ensure the card brand matches between original and subsequent transactions
Common Questions
Q: Do I have to use network processing types? A: No, they’re optional. But using them correctly can improve success rates and compliance, especially for subscriptions. Q: What if I don’t have the original network transaction ID? A: You can still process the payment, but it may not be properly linked in the card network’s system. Try to get and store it from the first payment. Q: Can I use this for ACH payments? A: No, this feature is only for card payments (credit/debit cards). Q: What if I use the wrong type? A: The payment will still process, but it may not be classified correctly by the card network, which could affect fraud detection or compliance. Q: Which value do I use for a saved card? A: UseinitialCOF on the payment where the cardholder agrees to store the card. Use cardholderInitiatedCOF when that cardholder later pays with the saved card. Use merchantInitiatedCOF when you charge the saved card yourself, outside a fixed schedule. Keep using recurring or installment for scheduled series payments.
Q: What if I don’t have a network transaction ID for a merchant-initiated card-on-file charge?
A: You can still send merchantInitiatedCOF. Revolv3 does not convert that request into a one-time payment. Include the original network transaction ID when you have it. Visa and Discover often require it, and leaving it out can increase declines on those brands.
Q: Do the card-on-file values work on every processor?
A: They are passed through on Worldpay. On other processors, Revolv3 accepts, stores, and returns the value, and sends the processor request as a one-time payment.
Next Steps
- Create a Subscription — See how processing types work with subscriptions
- Make a Payment — Learn how to include network processing in payment requests
- Get Invoice Details — Find network transaction IDs in invoice responses

