# Merchant Fee Profiles

Finix lets you monetize payments with our easy-to-use Fee Profiles. We offer tools for customization, efficiency, and revenue growth. Finix provides over 60 fee options.

Finix offers the following pricing strategies:

| **Pricing Strategy** | **Description** |
|  --- | --- |
| Interchange Plus | Your sellers pay the interchange rate set by the issuing banks plus a markup you can charge on top. |
| Interchange Plus and Dues & Assessments | Your sellers pay the interchange rate and a separate pass-through of card network fees, called dues and assessments. Finix provides many of these dues and assessments at the transaction level. |
| Blended Pricing | Transactions are charged a single flat rate, such as 2.90% plus 30 cents. Additional features let you charge different rates for card brands like Visa, MasterCard, Discover, and American Express, as well as for different payment methods. |


## Creating Fee Profiles using the Finix Dashboard

*To create a Fee Profile using the Finix Dashboard*:

1. From the left navigation, click **Merchants** to expand the menu.
2. Click **Merchant Accounts**.

3. Click a merchant to open their merchant details page.
4. Click the **Merchant Fee Profile** tab and click **Create a Custom Fee Profile**.
  - If the merchant is not assigned a Fee Profile, a default Fee Profile is created for the merchant that inherits the application's Fee Profile.

  - The next screens let you edit the fees for the Fee Profile.
5. Apply card-not-present fees to the merchant.
  - This lets you set processing fees for online card payments.
  - By default, a **Blended** pricing strategy is selected, letting you set a percentage rate and fixed fee that covers the markup, interchange, and other card fees the application plans to charge. You can also select **Interchange Plus** or **Interchange Plus and Dues & Assessments** pricing strategies.
  - You can also select **Card Brand Overrides**, which allow you to select a percentage rate and fixed fee based on the card brand.

6. Click **Save and Continue**.
7. Apply card-present fees to the merchant.
  - This lets you set processing fees for in-person card payments.
  - By default, the same fees as online payments are applied.
  - To use different fees for in-person payments, untick the **Apply Card-Not-Present Fee Profile** checkbox.
  - When using a different set of fees, the pricing strategy is set to **Blended**, as with the default for card-not-present fees.

8. Click **Save and Continue**.
9. Next, set processing fees for ACH payments. You may apply additional charges for value-added services to all card and ACH payments.

10. Click **Save and Continue**.
11. Review the fees and click **Submit**.
  - You return to the merchant's details page with the ability to **Edit** the Fee Profile.


## Viewing / Editing the Fee Profile

You can view a Fee Profile's fees from the merchant's details page > **Merchant Fee Profile** tab.

For example, in the screenshot below, the **Card Brand Overrides** (interchange) section shows fees for Visa, Mastercard, American Express, and more.

Merchant Fee Profile
You can also click **Edit** to update the Fee Profile.

## Viewing Transaction Fees

You can view a specific transaction's fees in the Finix Dashboard or via the API.

### Using the Finix Dashboard

*To view a transaction's fees using the Finix Dashboard*:

1. From the left navigation, click **Transaction Activity** or **Transactions** to expand the menu.
2. Click **Payments**.
3. Click a transaction to open the transaction details page.
4. Click **View All Details**.
5. Scroll down to the **Associated Fees** section.
  - You will see the list of fees applied to the transaction.
6. You can view the corresponding fees on the Fee Profile by navigating to the merchant's details page > **Merchant Fee Profile** tab:



### Using the API

View transaction fees using the API by sending a request to the [GET /fees](/api/fees/listfees) endpoint with the ID of the `Transfer` or `Authorization`. The response lists all fees applied to the transaction.

In the response, `fee_type: VISA_ACQUIRER_PROCESSING_FIXED` corresponds to the `visa_acquirer_processing_fixed_fee` field on the Fee Profile.


```json
{
  "_embedded": {
    "fees": [
      {
        "id": "FEuYERkdmeFjHbtzCotpCY87",
        "created_at": "2025-11-12T16:57:31.04Z",
        "updated_at": "2025-11-12T16:57:31.04Z",
        "amount": 2,
        "category": "PROCESSOR",
        "currency": "USD",
        "display_name": null,
        "fee_subtype": "PLATFORM_FEE",
        "fee_type": "VISA_ACQUIRER_PROCESSING_FIXED", // [!code highlight]
        "label": null,
        "linked_id": "TRnnQUqBwegR7dqJdXJ9KthJ",
        "linked_to": "TRnnQUqBwegR7dqJdXJ9KthJ",
        "linked_type": "TRANSFER",
        "merchant": "MUcCFbB9XJGE3fJcMu2egRJY",
        "tags": {},
        "_links": {
          "self": {
            "href": "https://finix.sandbox-payments-api.com/fees/FEuYERkdmeFjHbtzCotpCY87"
          },
          "merchant": {
            "href": "https://finix.sandbox-payments-api.com/merchants/MUcCFbB9XJGE3fJcMu2egRJY"
          },
          "transfer": {
            "href": "https://finix.sandbox-payments-api.com/transfers/TRnnQUqBwegR7dqJdXJ9KthJ"
          }
        }
      }
    ]
  }
}
```

You can view the corresponding fee on the Fee Profile by navigating to the merchant's details page > **Merchant Fee Profile** tab.

## Creating Fee Profiles via API

Creating a `Fee Profile` is a three-step process:

1. Create a `Fee Profile`.
2. Update the `Merchant` to use the new `Fee Profile` for new transactions.


Certification Recommended
To integrate these API calls, contact our support team to certify them.

### Step 1: Create a Fee Profile

You can create a `Fee Profile` with the following API request:

Example
API Definition
Record the `id` of the new `Fee Profile` from the response:

Example
Fee Profile

```json Fee Profile
{
  "id": "FPryaDMUDq9Tcc5epVpro1Jj",
  "created_at": "2025-11-18T17:28:49.56Z",
  "updated_at": "2025-11-18T17:28:49.56Z",
  "ach_basis_points": 30,
  "ach_basis_points_fee_limit": 50,
  "ach_credit_return_fixed_fee": 25,
  "ach_debit_return_fixed_fee": 30,
  "ach_fixed_fee": 40,
  "ach_notice_of_change_credit_fixed_fee": 12,
  "ach_notice_of_change_debit_fixed_fee": 25,
  "american_express_assessment_basis_points": 20,
  "american_express_basis_points": 10,
  "american_express_charge_dues_assessments": true,
  "american_express_charge_interchange": true,
  "american_express_externally_funded_basis_points": 50,
  "american_express_externally_funded_fixed_fee": 25,
  "american_express_fixed_fee": 15,
  "ancillary_fixed_fee_primary": 32,
  "ancillary_fixed_fee_secondary": 80,
  "application": "APc9vhYcPsRuTSpKD9KpMtPe",
  "basis_points": 20,
  "card_cross_border_basis_points": 15,
  "card_cross_border_fixed_fee": 30,
  "charge_dues_assessments": true,
  "charge_interchange": false,
  "compliance_forms_overdue_fixed_fee": 20,
  "diners_club_basis_points": 90,
  "diners_club_charge_interchange": true,
  "diners_club_fixed_fee": 25,
  "discover_assessments_basis_points": 50,
  "discover_basis_points": 12,
  "discover_charge_dues_assessments": true,
  "discover_charge_interchange": true,
  "discover_data_usage_fixed_fee": 15,
  "discover_externally_funded_basis_points": 60,
  "discover_externally_funded_fixed_fee": 20,
  "discover_fixed_fee": 35,
  "discover_network_authorization_fixed_fee": 30,
  "dispute_fixed_fee": 1500,
  "dispute_inquiry_fixed_fee": 1500,
  "eft_basis_points": 25,
  "eft_basis_points_fee_limit": 20,
  "eft_credit_return_fixed_fee": 35,
  "eft_debit_return_fixed_fee": 30,
  "eft_fixed_fee": 15,
  "externally_funded_basis_points": 15,
  "externally_funded_fixed_fee": 20,
  "fixed_fee": 20,
  "gross_monthly_fees_ach_basis_points": 15,
  "gross_monthly_fees_ach_fixed_fee": 15,
  "gross_monthly_fees_card_basis_points": 15,
  "gross_monthly_fees_card_fixed_fee": 15,
  "gross_monthly_fees_eft_basis_points": 15,
  "gross_monthly_fees_eft_fixed_fee": 15,
  "interac_basis_points": 20,
  "interac_fixed_fee": 25,
  "jcb_basis_points": 11,
  "jcb_charge_interchange": true,
  "jcb_fixed_fee": 20,
  "mastercard_acquirer_fees_basis_points": 20,
  "mastercard_assessments_over1k_basis_points": 20,
  "mastercard_assessments_under1k_basis_points": 25,
  "mastercard_basis_points": 30,
  "mastercard_charge_dues_assessments": true,
  "mastercard_charge_interchange": true,
  "mastercard_fixed_fee": 18,
  "qualified_tiers": null,
  "rounding_mode": "AGGREGATE",
  "settlement_funding_transfer_ach_basis_points": 10,
  "settlement_funding_transfer_ach_basis_points_fee_limit": 15,
  "settlement_funding_transfer_ach_credit_return_fixed_fee": 10,
  "settlement_funding_transfer_ach_debit_return_fixed_fee": 12,
  "settlement_funding_transfer_ach_fixed_fee": 10,
  "settlement_funding_transfer_eft_basis_points": 20,
  "settlement_funding_transfer_eft_basis_points_fee_limit": 40,
  "settlement_funding_transfer_eft_credit_return_fixed_fee": 20,
  "settlement_funding_transfer_eft_debit_return_fixed_fee": 18,
  "settlement_funding_transfer_eft_fixed_fee": 15,
  "settlement_funding_transfer_instant_payout_card_basis_points": 30,
  "settlement_funding_transfer_instant_payout_card_basis_points_fee_limit": 70,
  "settlement_funding_transfer_instant_payout_card_fixed_fee": 45,
  "settlement_funding_transfer_noc_credit_fixed_fee": 50,
  "settlement_funding_transfer_noc_debit_fixed_fee": 55,
  "settlement_funding_transfer_same_day_ach_basis_points": 20,
  "settlement_funding_transfer_same_day_ach_basis_points_fee_limit": 50,
  "settlement_funding_transfer_same_day_ach_fixed_fee": 35,
  "subscription_ach_basis_points": 12,
  "subscription_ach_basis_points_fee_limit": 12,
  "subscription_ach_fixed_fee": 12,
  "subscription_card_basis_points": 12,
  "subscription_card_fixed_fee": 12,
  "subscription_eft_basis_points": 12,
  "subscription_eft_basis_points_fee_limit": 12,
  "subscription_eft_fixed_fee": 12,
  "tags": {},
  "visa_acquirer_processing_fixed_fee": 80,
  "visa_assessments_basis_points": 40,
  "visa_base_II_credit_voucher_fixed_fee": 50,
  "visa_base_II_system_file_transmission_fixed_fee": 100,
  "visa_basis_points": 10,
  "visa_charge_dues_assessments": true,
  "visa_charge_interchange": true,
  "visa_credit_voucher_fixed_fee": 40,
  "visa_fixed_fee": 20,
  "visa_kilobyte_access_fixed_fee": 25,
  "_links": {
    "self": {
      "href": "https://finix.sandbox-payments-api.com/fee_profiles/FPryaDMUDq9Tcc5epVpro1Jj"
    },
    "application": {
      "href": "https://finix.sandbox-payments-api.com/applications/APc9vhYcPsRuTSpKD9KpMtPe"
    }
  }
}
```

API Definition
You can apply this `Fee Profile` to as many merchants as you want. Changes to the `Fee Profile` affect to all merchants that profile is applied to. You can also create a new `Fee Profile` for each merchant or reuse one you created earlier.

### Step 2: Retrieve the Merchant Profile

To update your merchant's `Fee Profile`, you need the `Merchant Profile` of the `Merchant`.

You can get the `Merchant Profile` by sending a request to the [GET /merchants](/api/merchants/getmerchant) endpoint with the `Merchant` ID. The response includes the `merchant_profile` field.

Record the `merchant_profile` returned in the response:

Merchant

```json Merchant
{
  "id": "MUt6kBb22rxUvWNxUf8XriB2",
  "created_at": "2024-12-27T06:34:21.36Z",
  "updated_at": "2024-12-27T06:35:01.29Z",
  "application": "APc9vhYcPsRuTSpKD9KpMtPe",
  "card_cvv_required": false,
  "card_expiration_date_required": true,
  "card_network_details": null,
  "convenience_charges_enabled": false,
  "country": "USA",
  "creating_transfer_from_report_enabled": false,
  "currencies": [
    "USD"
  ],
  "default_partial_authorization_enabled": false,
  "disbursements_ach_pull_enabled": true,
  "disbursements_ach_push_enabled": true,
  "disbursements_card_pull_enabled": true,
  "disbursements_card_push_enabled": true,
  "disbursements_same_day_ach_pull_enabled": false,
  "disbursements_same_day_ach_push_enabled": false,
  "fee_ready_to_settle_upon": "PROCESSOR_WINDOW",
  "gateway": null,
  "gross_settlement_enabled": false,
  "identity": "IDrtcMe7sjiMmhZrumi45UBp",
  "instant_payouts_card_push_enabled": false,
  "level_two_level_three_data_enabled": false,
  "loan_repayment": null,
  "mcc": null,
  "merchant_name": "Bernie Bingbob",
  "merchant_profile": "MPo2FsjMoEV2xjq81cMWEjJ4", // [!code highlight]
  "mid": "FNX8nWDpRv12htpNo1ZMiDYEQ",
  "onboarding_state": "APPROVED",
  "processing_enabled": true,
  "processor": "DUMMY_V1",
  "processor_details": {
    "mid": "FNX8nWDpRv12htpNo1ZMiDYEQ",
    "api_key": "secretValue"
  },
  "ready_to_settle_upon": "PROCESSOR_WINDOW",
  "ready_to_settle_upon_delay_alignment": "NONE",
  "rent_surcharges_enabled": false,
  "settlement_enabled": true,
  "settlement_funding_identifier": "UNSET",
  "settlement_queue_mode": "UNSET",
  "surcharges_enabled": false,
  "tags": {},
  "unreferenced_refund_manual_entry_enabled": false,
  "verification": "VIjDWQq2Skk13ob91ERHDsnh",
  "_links": {
    "self": {
      "href": "https://finix.sandbox-payments-api.com/merchants/MUt6kBb22rxUvWNxUf8XriB2"
    },
    "identity": {
      "href": "https://finix.sandbox-payments-api.com/identities/IDrtcMe7sjiMmhZrumi45UBp"
    },
    "verifications": {
      "href": "https://finix.sandbox-payments-api.com/merchants/MUt6kBb22rxUvWNxUf8XriB2/verifications"
    },
    "merchant_profile": {
      "href": "https://finix.sandbox-payments-api.com/merchant_profiles/MPo2FsjMoEV2xjq81cMWEjJ4"
    },
    "verification": {
      "href": "https://finix.sandbox-payments-api.com/verifications/VIjDWQq2Skk13ob91ERHDsnh"
    },
    "application": {
      "href": "https://finix.sandbox-payments-api.com/applications/APc9vhYcPsRuTSpKD9KpMtPe"
    }
  }
}
```

### Step 3: Updating the Merchant to use the Fee Profile

After you have the `merchant_profile` ID and the `fee_profile` ID from previous requests, send a request to the [PUT /merchant_profiles](/api/merchant-profiles/updatemerchantprofile) endpoint to update the `Merchant Profile` with the `Fee Profile`.

Only the `fee_profile` field is required in the request.

- If you do not supply a `card_present_fee_profile`, the `fee_profile` will be applied to both card-not-present and card-present transactions.
- If a `card_present_fee_profile` field is provided, the `card_present_fee_profile` will be used only for card-present transactions.



```shell Updating a Merchant Profile to use the Fee Profile
curl "https://finix.sandbox-payments-api.com/merchant_profiles/MPrqHHN5y5Up4AGYENnEGvah" \
  -H "Content-Type: application/json" \
  -u USfdccsr1Z5iVbXDyYt7hjZZ:313636f3-fac2-45a7-bff7-a334b93e7bda \
  -X PUT \
  -d '{
      "fee_profile": "FPryaDMUDq9Tcc5epVpro1Jj",
      "card_present_fee_profile" : "FPryaDMUDq9Tcc5epVpro1Jj"
  }'
```

After you update the `Merchant Profile`, all new transactions will have this `Fee Profile` applied. Transactions created before the change will use the previous `Fee Profile`.


```json Updated Merchant Profile
{
  "id" : "MPrqHHN5y5Up4AGYENnEGvah",
  "created_at" : "2025-03-13T07:00:02.44Z",
  "updated_at" : "2025-11-18T17:29:46.87Z",
  "application" : "APc9vhYcPsRuTSpKD9KpMtPe",
  "card_present_fee_profile" : "FPryaDMUDq9Tcc5epVpro1Jj",  // [!code highlight]
  "fee_profile" : "FPryaDMUDq9Tcc5epVpro1Jj",  // [!code highlight]
  "payout_profile" : null,
  "risk_profile" : "RPfZMXNRVi6wqueZwwNN1xuh",
  "tags" : { },
  "_links" : {
    "self" : {
      "href" : "https://finix.sandbox-payments-api.com/merchant_profiles/MPrqHHN5y5Up4AGYENnEGvah"
    },
    "application" : {
      "href" : "https://finix.sandbox-payments-api.com/applications/APc9vhYcPsRuTSpKD9KpMtPe"
    },
    "risk_profile" : {
      "href" : "https://finix.sandbox-payments-api.com/risk_profiles/RPfZMXNRVi6wqueZwwNN1xuh"
    },
    "fee_profile" : {
      "href" : "https://finix.sandbox-payments-api.com/fee_profiles/FPryaDMUDq9Tcc5epVpro1Jj"
    }
  }
}
```