ZCP (zero cost processing) is a payment strategy that lets merchants offset card transaction fees by adjusting the amount charged based on the customer's chosen payment method. Depending on the configured strategy, certain payment methods receive a discount from the base price or are charged an additional fee on top of it.
The Flute platform supports three ZCP strategies: Dual Pricing, Cash Discount, and Credit Card Surcharge.
Dual Pricing presents two prices for a transaction:
- A lower price for cash and bank payment/ACH.
- A higher price for card payments.
When creating a transaction, the operator enters either the card price or the cash price as the base amount. The platform automatically derives the correct amount for all other payment methods.
Card Input Example:
Operator enters $103.00 (card price), Dual Pricing rate 3%.
The cash price calculates to $100.00.
| Payment Method | Amount Charged |
|---|---|
| Debit, Credit | $103.00 |
| Cash, Bank payment/ACH | $100.00 |
Cash Input Example:
Operator enters $100.00 (cash price), Dual Pricing rate 3%.
The card price calculates to $103.00.
| Payment Method | Amount Charged |
|---|---|
| Cash, Bank payment/ACH | $100.00 |
| Debit, Credit | $103.00 |
Cash Discount offers a lower price to customers who pay with cash or bank payment/ACH, while customers paying by debit or credit card pay the standard price. The merchant's listed price is the card price; cash and bank payment/ACH customers receive a discount off that price.
Example:
Base price $100.00, Cash Discount rate 3%. The cash price calculates to $97.00.
| Payment Method | Amount Charged |
|---|---|
| Debit, Credit | $100.00 |
| Cash, Bank payment/ACH | $97.00 |
Credit Card Surcharge adds a fee to transactions paid with a credit card. Customers paying with cash, bank payment/ACH, or debit card pay the base price; credit card customers pay a higher amount that offsets the merchant's processing cost.
In the United States, Credit Card Surcharge regulations vary by state. Some states prohibit credit card surcharges entirely; others cap the maximum rate. Merchants must verify compliance with applicable laws before enabling this strategy. See Regulatory Considerations.
Example:
Base price $100.00, Credit Card Surcharge rate 3%. The credit price calculates to $103.00.
| Payment Method | Amount Charged |
|---|---|
| Debit, Cash, Bank payment/ACH | $100.00 |
| Credit | $103.00 |
The table below shows which payment methods trigger an amount adjustment for each ZCP strategy.
| ZCP Strategy | Debit | Credit | Cash | Bank payment/ACH |
|---|---|---|---|---|
| None | - | - | - | - |
| Dual Pricing (Card Input) | - | - | Discount | Discount |
| Dual Pricing (Cash Input) | Charge | Charge | - | - |
| Cash Discount | - | - | Discount | Discount |
| Credit Card Surcharge | - | Charge | - | - |
| Payment Method | Amount Charged |
|---|---|
| Debit Card | $100.00 |
| Credit Card | $100.00 |
| Cash | $97.09 |
| Bank payment / ACH | $97.09 |
Use the following endpoint to get the ZCP-adjusted totals for every payment method before submitting a transaction. This is useful for payment terminals and point-of-sale UIs that need to display the correct amount to the customer based on how they intend to pay.
GET /pay-api/v1/transactions/calculate-amount
The endpoint reads the merchant's active ZCP strategy and rate automatically and returns a breakdown of the final totalAmount for each payment method type (cash, debitCard, creditCard, ach).
| Parameter | Type | Required | Description |
|---|---|---|---|
| amount | number | Yes | Specifies the base transaction amount before any ZCP adjustments. |
| currencyId | integer | Yes | Specifies the currency code. Must be 1 (USD). |
| useCardPrice | boolean | Dual Pricing only | Specifies using the card price. If true, the entered amount is the card price.If false, the entered amount is the cash price. |
| surchargeRate | number | No | Specifies the Credit Card Surcharge rate override. Omit to use the rate configured on the merchant account. |
| percentageOffRate | number | No | Specifies the store discount rate, applied independently of ZCP. |
| tipAmount | number | No | Specifies the fixed tip amount (in USD). Mutually exclusive with tipRate. |
| tipRate | number | No | Specifies the tip as a percentage of the base amount. Mutually exclusive with tipAmount. |
The example below calculates amounts for a $103.00 card-price entry under a Dual Pricing configuration.
GET /pay-api/v1/transactions/calculate-amount?amount=103.00&useCardPrice=true¤cyId=1
The response returns a separate object for each payment method, each with its own totalAmount. The active ZCP strategy is identified by zeroCostProcessingOption.
{
"currencyId": 1,
"currency": "USD",
"zeroCostProcessingOptionId": 3,
"zeroCostProcessingOption": "DualPricing",
"useCardPrice": true,
"debitCard": {
"baseAmount": 103.00,
"totalAmount": 103.00
},
"creditCard": {
"baseAmount": 103.00,
"totalAmount": 103.00
},
"cash": {
"baseAmount": 103.00,
"totalAmount": 100.00
},
"ach": {
"baseAmount": 103.00,
"totalAmount": 100.00
}
}The zeroCostProcessingOption field returns the strategy name as stored in the platform. The table below maps each value to the corresponding ZCP strategy.
| zeroCostProcessingOption | ZCP Strategy |
|---|---|
| None | ZCP disabled |
| DualPricing | Dual Pricing |
| CashDiscount | Cash Discount |
| Surcharge | Credit Card Surcharge |
ZCP is set up in two steps: a Flute platform administrator assigns the allowed strategy to the merchant, and the merchant then activates it and sets the rate.
A Flute administrator assigns the ZCP strategy the merchant is permitted to use. This is established during the merchant's onboarding and underwriting process and should not be changed without a compliance review.
Contact Flute Support at support@flute.com to update the ZCP strategy assigned to a merchant.
Once the strategy has been assigned, the merchant enables the feature and configures their rate from the Flute dashboard.
- Log in to the Flute dashboard.
- Navigate to Settings.
- Select Transactions.
- Under the Pricing section, toggle on the ZCP strategy.
- Enter the ZCP rate as a percentage.
- Dual Pricing only: Select the default pricing type - Card if the operator will typically enter the card price, or Cash if they will typically enter the cash price.
- Save the settings.
To read the current ZCP configuration through the API: GET /pay-api/v1/configurations/payments
The response includes the active ZCP strategy and rate for the merchant account.
When ZCP is enabled, the platform automatically applies amount adjustments based on the payment method used in the transaction. The final adjusted amount charged to the customer is returned in the response field amount.totalAmount.
For Cash Discount and Credit Card Surcharge, no extra fields are needed beyond the standard transaction payload.
For Dual Pricing, the request must include the useCardPrice boolean flag to indicate whether the entered amount represents the card price or the cash price. The platform uses this to derive the correct amount for each payment method.
useCardPrice: true- the entered amount is the card priceuseCardPrice: false- the entered amount is the cash price
POST /pay-api/v1/transactions/sale
{
"amount": 103,
"useCardPrice": true,
"paymentMethodId": "b9cceba7-1cbe-4685-85ae-47b05d86850b",
"cardDataSource": "Internet",
"currencyId": 1
}Before submitting a transaction, call GET /pay-api/v1/transactions/calculate-amount to retrieve the adjusted totals for each payment method. This allows your application to display the correct amount to the customer before they confirm payment. See Calculating Amounts per Payment Method.
ZCP strategies are subject to federal, state, and local laws that vary by jurisdiction. Merchants are responsible for ensuring their ZCP setup complies with all applicable regulations before enabling any strategy.
Credit Card Surcharge carries the most regulatory complexity in the United States:
- Some states prohibit credit card surcharges entirely.
- States that allow credit card surcharges may cap the maximum rate.
- Payment network rules typically require merchants to disclose credit card surcharges clearly at the point of sale.
Cash Discount and Dual Pricing are generally subject to fewer restrictions but may still require clear pricing disclosures depending on the merchant's jurisdiction.
Merchants should consult legal counsel and review applicable card network rules before deploying any ZCP strategy.