Interchange plus billing
Configure merchants with a interchange plus (IC+) model to control how payments and their fees are deposited
Feature requirements✅ Pre-approval required by Rainforest
🔐 Rainforest must enable the platform to access this feature
Please contact Rainforest support or your Platform Success Manager for more information on this feature.
What is IC+ billing
Every card payment incurs interchange, the fee paid to the card-issuing bank, along with smaller dues, fees, and assessments (DFA) charged by the card networks (Visa, Mastercard, Discover, America Express). Together, interchange and DFA (IDFA) make up a portion of the card processing cost. Interchange is charged per payment and the cost varies per payment based on factors such as card network, card type, and the data send with the payment.
With Interchange Plus Billing (IC+ Billing), Rainforest bills the merchant the actual interchange and DFA incurred on each payment, itemized separately from the billing fee applied by the merchant's billing profile.
How IC+ differs from standard billing
Rainforest's standard billing model applies a blended rate, defined by the merchant's billing profile, that combines IDFA and the platform's markup into a single rate and fee per payment. This blended amount is deducted per payment as the "billing fee" and the merchant never sees the IDFA breakdown.
IC+ billing separates that rate. Interchange and DFA are billed to the merchant as separate line items within the billing deposit, while the platform's markup is billed as the "billing fee" defined by the merchant's billing profile.
Gross billing requirement
IC+ billing requires the merchant to be configured on Monthly Gross billing. See Gross billing for how the funding and billing deposits work under a gross billing configuration.
The merchant will receive two deposits:
- A funding deposit - the gross amount of the merchant's payment activity on a daily, weekly, or monthly schedule.
- A billing deposit - the billing fees and IDFA for the merchant's payment activity on a monthly schedule.
Enable IC+ billing
Rainforest must enable the platform for IC+ billing. Reach out to your Platform Success Manager or support to configure merchants with IC+ billing.
IC+ billing is configured on a merchant's billing profiles. Once a merchant is assigned an IC+ billing profile, only IC+ billing profiles will be available when updating a merchant's billing profile. If a merchant needs to switch between standard billing and IC+ billing, please reach out to support.
IC+ billing in the deposit report
The IDFA line items are available within the Deposit Report and Deposit API endpoints.
Deposit summary
The deposit summary details include a section for "Passthrough Fees" that include the total sum for interchange and dues, fees, and assessments.
Get Deposit in API
The Get deposit endpoint returns a payment_totals object summarizing each payment type in the deposit. For a merchant on IC+ billing, payment_totals includes two additional objects, interchange and dfa. Both objects follow the same structure as the other objects in payment_totals.
"payment_totals": {
"payins": { "...": "..." },
// ...
"interchange": {
"count": 285,
"gross_amount": {
"amount": -151060,
"currency_code": "USD"
}
},
"dfa": {
"count": 370,
"gross_amount": {
"amount": -26138,
"currency_code": "USD"
}
}
// ...
}Deposit activity
The activity report within the Deposit Details will include line items for interchange and dues, fees, and assessments.
Interchange is charged per payment and the cost varies per payment based on factors such as card network, card type, and the data sent with the payment. DFA is charged per merchant, but across multiple line items within a deposit.
IDFA are returned in the deposit as the activity type Adjustment. Interchange identifiers are prefixed with int_ and DFA identifiers are prefixed with dfa_.
Get deposit activity in API
The Get deposit activity endpoint returns IDFA details. Each interchange and DFA fee is returned as it's own activity line item with the type set to ADJUSTMENT.
Parent ID
The parent_id on the interchange activity will be set to the ID of the payment the fee is associated with, which can be a payin or refund.
The parent_id is not set on DFA activity since these line items are not specific to a payment.
Memo
The memo contains the specific interchange or DFA code for that line item.
{
"id": "int_3EfolLNIqGVSR4c8sQeLqsQFRAH",
"type": "ADJUSTMENT",
"parent_id": "pyi_2DrDU206kzAhclm1WrZbuwDERRk",
"gross_amount": {
"amount": -120,
"currency_code": "USD"
},
// ...
"memo": "MC-DOMESTIC MERIT III (DB)",
"created_at": "2026-07-01T07:00:00Z"
},
{
"id": "dfa_3EfoEUG6QdXryJLk6qL9NDT8Xws",
"type": "ADJUSTMENT",
"parent_id": null,
"gross_amount": {
"amount": -1,
"currency_code": "USD"
},
// ...
"memo": "VI-ADDRESS VER SVC FEE 6 TRANSACTIONS AT .001000 1",
"created_at": "2026-07-01T07:00:00Z"
}Updated about 14 hours ago