Learn how to use Merchant Fee Profiles to earn revenue from payments.
Field | Description |
---|---|
basis_points | Percentage-based fee incurred against the full amount of each card-based Transfer . Calculated as one hundredth of one percent (1 basis point = .0001 or .01%). |
fixed_fee | Fee in cents incurred for each individual card-based Transfer . |
charge_interchange | Set to True to incur interchange fees for card-based Transfers . |
cross_border_fixed_fee | Fee in cents incurred for each individual card-based Transfer that is deemed to be cross-border (Non-US). |
cross_border_basis_points | Percentage-based fee incurred against the full amount of each card-based Transfer that is deemed to be cross-border (Non-US). Calculated as one hundredth of one percent (1 basis point = .0001 or .01%). |
ancillary_fixed_fee_primary | Fee in cents incurred for each individual Transfer . |
ancillary_fixed_fee_secondary | Fee in cents incurred for each individual Transfer . |
Field | Description |
---|---|
visa_basis_points | Percentage-based fee incurred against the full amount of each Visa Transfer . Calculated as one hundredth of one percent (1 basis point = .0001 or .01%). |
visa_fixed_fee | Fee in cents incurred for each individual Visa Transfer . |
visa_charge_interchange | Set to True to incur interchange fees for Visa Transfers . |
visa_assessments_basis_points | Applies to all Visa credit transactions. |
visa_acquirer_processing_fixed_fee | All U.S.-based credit card authorizations acquired in the U.S. regardless of where the issuer/cardholder is located. If your business is based in the U.S., the acquirer processing fee will apply to all Visa credit card authorizations. |
visa_credit_voucher_fixed_fee | Applies to refunds. |
visa_kilobyte_access_fixed_fee | Charged on each authorization transaction submitted to Visa's network for settlement. |
visa_base_II_system_file_transmission_fixed_fee | Applies to all Visa transactions and is charged in addition to other transaction-based assessments. |
visa_base_II_credit_voucher_fixed_fee | Applies to all U.S.-based refunds. |
Field | Description |
---|---|
mastercard_basis_points | Percentage-based fee incurred against the full amount of each MasterCard Transfer . Calculated as one hundredth of one percent (1 basis point = .0001 or .01%). |
mastercard_fixed_fee | Fee in cents incurred for each individual MasterCard Transfer . |
mastercard_charge_interchange | Set to True to incur interchange fees for MasterCard Transfers . |
mastercard_assessments_under1k_basis_points | Assessment applies to Mastercard transactions less than or equal to $1,000. |
mastercard_assessments_over1k_basis_points | Assessment applies to Mastercard credit sale transactions greater than $1,000. |
mastercard_acquirer_fees_basis_points | Fee is assessed on a business's gross MasterCard processing volume. This fee varies per acquirer based on MasterCard's assessed charge as it's distributed across the acquirer's portfolio of merchants. Generally, the ALF fee is a fraction of a basis point. For example, 0.0045%, 0.0075%, etc. are examples of a likely ALF fee. |
Field | Description |
---|---|
american_express_basis_points | Percentage-based fee incurred against the full amount of each American Express Transfer . Calculated as one hundredth of one percent (1 basis point = .0001 or .01%). |
american_express_fixed_fee | Fee in cents incurred for each individual American Express Transfer . |
american_express_charge_interchange | Set to True to incur interchange fees for American Express Transfers . |
american_express_assessment_basis_points | Applies to gross American Express card volume. |
Field | Description |
---|---|
jcb_basis_points | Percentage-based fee incurred against the full amount of each JCB Transfer . Calculated as one hundredth of one percent (1 basis point = .0001 or .01%). |
jcb_fixed_fee | Fee in cents incurred for each individual JCB Transfer . |
jcb_charge_interchange | Set to True to incur interchange fees for JCB Transfers . |
Field | Description |
---|---|
discover_basis_points | Percentage-based fee incurred against the full amount of each Discover Transfer . Calculated as one hundredth of one percent (1 basis point = .0001 or .01%). |
discover_fixed_fee | Fee in cents incurred for each individual Discover Transfer . |
discover_charge_interchange | Set to True to incur interchange fees for Discover Transfers . |
discover_assessments_basis_points | Assessment applies to gross Discover card transaction volume. |
discover_data_usage_fixed_fee | Applies to all U.S.-based authorization transactions. |
discover_network_authorization_fixed_fee | This fee will apply to all Discover network authorizations and will replace the previously assessed Data Transmission. |
Field | Description |
---|---|
diners_club_basis_points | Percentage-based fee incurred against the full amount of each Diners Transfer . Calculated as one hundredth of one percent (1 basis point = .0001 or .01%). |
diners_club_fixed_fee | Fee in cents incurred for each individual Diners Transfer . |
diners_club_charge_interchange | Set to True to incur interchange fees for Diners Transfers . |
Field | Description |
---|---|
ach_fixed_fee | Fee in cents incurred for each individual Transfer . |
ach_basis_points | Percentage-based fee incurred against the full amount of an ACH (eCheck Debit). Calculated as one hundredth of one percent (1 basis point = .0001 or .01%). |
ach_basis_points_fee_limit | Maximum ach_basis_points fee (in cents) incurred for each individual Transfer . |
Field | Description |
---|---|
ach_debit_return_fixed_fee | A fixed amount (in cents) that will be charged to the seller for receiving an ACH Debit Return. |
ach_credit_return_fixed_fee | A fixed amount (in cents) that will be charged to the seller for receiving an ACH Credit Return. |
Field | Description |
---|---|
dispute_inquiry_fixed_fee | Applied when a dispute is created in state INQUIRY. |
dispute_fixed_fee | Applied when a dispute is created or moved to state PENDING. |
Setting a fee profile is a two-step process:
- Create a
fee_profile
- Update your
merchant
to use this newfee_profile
for net new transactions
If you are looking to integrate these API calls, we recommend contacting our support team to certify these APIs.
You can create a fee profile with the following API Request. Note that this API includes v2
in the route.
curl "https://finix.sandbox-payments-api.com/v2/fee_profiles" \
-H "Content-Type: application/vnd.api+json" \
-u USjVJEMpMosSGRiuSQTzu1CN:8d27813a-1ec7-4a85-9aa2-0b83c893c81a \
-X POST \
-d '{
"ach_basis_points": 20,
"ach_basis_points_fee_limit": 500,
"ach_fixed_fee": 30,
"basis_points": 290,
"ach_credit_return_fixed_fee": 0,
"ach_debit_return_fixed_fee": 0,
"fixed_fee": 30,
"dispute_fixed_fee": 1500,
"dispute_inquiry_fixed_fee": 1500
}'
{
"id": "FPuwU91NMnzyTX8FQNWCZ8sG",
"created_at": "2023-02-27T22:40:07.45Z",
"updated_at": "2023-02-27T22:40:07.45Z",
"ach_basis_points": 20,
"ach_credit_return_fixed_fee": 0e-12,
"ach_debit_return_fixed_fee": 0e-12,
"ach_fixed_fee": 30,
"american_express_assessment_basis_points": null,
"american_express_basis_points": null,
"american_express_charge_interchange": null,
"american_express_externally_funded_basis_points": null,
"american_express_externally_funded_fixed_fee": null,
"american_express_fixed_fee": null,
"ancillary_fixed_fee_primary": null,
"ancillary_fixed_fee_secondary": null,
"application": "AP2B4KfjaniJfPvs5hvKpGEe",
"basis_points": 30,
"charge_interchange": false,
"diners_club_basis_points": null,
"diners_club_charge_interchange": null,
"diners_club_fixed_fee": null,
"discover_assessments_basis_points": null,
"discover_basis_points": null,
"discover_charge_interchange": null,
"discover_data_usage_fixed_fee": null,
"discover_externally_funded_basis_points": null,
"discover_externally_funded_fixed_fee": null,
"discover_fixed_fee": null,
"discover_network_authorization_fixed_fee": null,
"dispute_fixed_fee": 1500,
"dispute_inquiry_fixed_fee": 1500,
"externally_funded_basis_points": null,
"externally_funded_fixed_fee": null,
"fixed_fee": 100,
"jcb_basis_points": null,
"jcb_charge_interchange": null,
"jcb_fixed_fee": null,
"mastercard_acquirer_fees_basis_points": null,
"mastercard_assessments_over1k_basis_points": null,
"mastercard_assessments_under1k_basis_points": null,
"mastercard_basis_points": null,
"mastercard_charge_interchange": null,
"mastercard_fixed_fee": null,
"qualified_tiers": null,
"rounding_mode": "TRANSACTION",
"tags": {},
"visa_acquirer_processing_fixed_fee": null,
"visa_assessments_basis_points": null,
"visa_base_II_credit_voucher_fixed_fee": null,
"visa_base_II_system_file_transmission_fixed_fee": null,
"visa_basis_points": null,
"visa_charge_interchange": null,
"visa_credit_voucher_fixed_fee": null,
"visa_fixed_fee": null,
"visa_kilobyte_access_fixed_fee": null,
"_links": {
"self": {
"href": "https://finix.sandbox-payments-api.com/v2/fee_profiles/FPuwU91NMnzyTX8FQNWCZ8SG"
},
"application": {
"href": "https://finix.sandbox-payments-api.com/applications/AP2B4KfjaniJfPvs5hvKpGEe"
}
}
}
The response will return every field and how it’s currently set. You will want to store the id
so you can use it in the future.
You can apply this fee_profile
to as many merchants as you’d like. However, changes to the fee_profile
will update across all merchants
. You may choose to create a new fee_profile
for every merchant or re-use one you've created in the past.
The following are our recommended fees to configure and the minimums and maximums for each see here for full list.
These fields have maximums our compliance team sets. If you would like to charge your sellers a higher fee than what is described above, please contact our support team to discuss your use case.
Field | Description | Field Minimum Value | Field Maximum Value |
---|---|---|---|
ach_basis_points | Percentage-based fee incurred against the full amount of an ACH (eCheck Debit). Calculated as one hundredth of one percent (1 basis point = .0001 or .01%). | 0 | 2000 (20%) |
ach_basis_points_fee_limit | Maximum ach_basis_points fee (in cents) incurred for each individual Transfer . | 0 | No restrictions |
ach_fixed_fee | Fee in cents incurred for each individual Transfer . | 0 | 1000 ($10) |
basis_points | Percentage-based fee incurred against the full amount of each card-based Transfer . Calculated as one hundredth of one percent (1 basis point = .0001 or .01%). | 25 (.25%) | 500 (5%) |
fixed_fee | Fee in cents incurred for each individual card-based Transfer . | 0 | 40 ($0.40) |
ach_credit_return_fixed_fee | A fixed amount (in cents) that will be charged to the seller for receiving an ACH Credit Return. | 0 | 500 ($5) |
ach_debit_return_fixed_fee | A fixed amount (in cents) that will be charged to the seller for receiving an ACH Debit Return. | 0 | 500 ($5) |
dispute_fixed_fee | Applied when a dispute is created or moved to state PENDING. | 0 | 2000 ($20) |
dispute_inquiry_fixed_fee | Applied when a dispute is created in state INQUIRY. | 0 | 2000 ($20) |
To update your seller's fee profile, you need to know the merchant_profile
of the merchant
.
You can find the merchant_profile
in the response body of a merchant
. You can get the merchant profile by doing a GET on a merchant
. It will be returned in the field called merchant_profile
.
{
"id": "MUmUL7aBsHkxVLQawJxEXw6N",
"created_at": "2022-08-17T20:33:34.04Z",
"updated_at": "2024-01-22T03:18:01.26Z",
"application": "APgPDQrLD52TYvqazjHJJchM",
"card_cvv_required": false,
"card_expiration_date_required": true,
"convenience_charges_enabled": false,
"country": null,
"creating_transfer_from_report_enabled": true,
"currencies": null,
"default_partial_authorization_enabled": false,
"disbursements_ach_pull_enabled": false,
"disbursements_ach_push_enabled": false,
"disbursements_card_pull_enabled": false,
"disbursements_card_push_enabled": false,
"fee_ready_to_settle_upon": "RECONCILIATION",
"gateway": null,
"gross_settlement_enabled": false,
"identity": "IDrH4G2VTfNjn1VFkvhcyMYj",
"level_two_level_three_data_enabled": true,
"mcc": null,
"merchant_name": "John Smith",
"merchant_profile": "MPjBZguwk8oJ9H5ouJo3jaG4",
"mid": "FNXoj46ep1DSantwywsnVtP8J",
"onboarding_state": "APPROVED",
"processing_enabled": true,
"processor": "DUMMY_V1",
"processor_details": {
"mid": "FNXoj46ep1DSantwywsnVtP8J",
"api_key": "secretValue"
},
"ready_to_settle_upon": "RECONCILIATION",
"rent_surcharges_enabled": false,
"settlement_enabled": true,
"settlement_funding_identifier": "UNSET",
"surcharges_enabled": false,
"tags": {
"key_2": "value_2"
},
"verification": "VIvEoRW1UUces66vGcKFzdrR",
"_links": {
"self": {
"href": "https://finix.sandbox-payments-api.com/merchants/MUmUL7aBsHkxVLQawJxEXw6N"
},
"identity": {
"href": "https://finix.sandbox-payments-api.com/identities/IDrH4G2VTfNjn1VFkvhcyMYj"
},
"verifications": {
"href": "https://finix.sandbox-payments-api.com/merchants/MUmUL7aBsHkxVLQawJxEXw6N/verifications"
},
"merchant_profile": {
"href": "https://finix.sandbox-payments-api.com/merchant_profiles/MPjBZguwk8oJ9H5ouJo3jaG4"
},
"application": {
"href": "https://finix.sandbox-payments-api.com/applications/APgPDQrLD52TYvqazjHJJchM"
},
"verification": {
"href": "https://finix.sandbox-payments-api.com/verifications/VIvEoRW1UUces66vGcKFzdrR"
}
}
}
Once you have the merchant_profile
and the fee_profile
from the previous request, you can run a PUT request on the merchant_profile
. After you update the merchant_profile
, your merchant
will be updated with the fee_profiles
you specified. All net new transactions will have this fee_profile
. Any transactions that were created before the change will have the previous fee_profile
applied.
curl "https://finix.sandbox-payments-api.com/merchant_profiles/MPsJL7T9M6GT8G6TWJqsS2yb" \
-H "Content-Type: application/vnd.api+json" \
-u USjVJEMpMosSGRiuSQTzu1CN:8d27813a-1ec7-4a85-9aa2-0b83c893c81a \
-X PUT \
-d '{
"fee_profile": "FPuwU91NMnzyTX8FQNWCZ8SG",
"card_present_fee_profile" : "FPuwU91NMnzyTX8FQNWCZ8SG"
}'
Only fee_profile
is required in the request above.
- If you do not supply a
card_present_fee_profile
, then thefee_profile
will be applied to both online an in-person payments. - If a
card_present_fee_profile
field is provided, then thecard_present_fee_profile
's fee profile will be used solely for in-person transactions.
{
"id": "MPqwa1AXcfEh5fE4sxrk1HPy",
"created_at": "2022-06-15T20:03:33.92Z",
"updated_at": "2024-01-31T00:18:52.29Z",
"application": "APf2jEV1r8CuHkxK6taZKerR",
"card_present_fee_profile": "FP7ehCuoYhW7x5UuZjiY5P6b",
"fee_profile": "FP7ehCuoYhW7x5UuZjiY5P6b",
"payout_profile": null,
"risk_profile": "RPgGN6su6ksk8NMSQBoK2VC1",
"tags": {},
"_links": {
"self": {
"href": "https://finix.sandbox-payments-api.com/merchant_profiles/MPqwa1AXcfEh5fE4sxrk1HPy"
},
"application": {
"href": "https://finix.sandbox-payments-api.com/applications/APf2jEV1r8CuHkxK6taZKerR"
},
"risk_profile": {
"href": "https://finix.sandbox-payments-api.com/risk_profiles/RPgGN6su6ksk8NMSQBoK2VC1"
},
"fee_profile": {
"href": "https://finix.sandbox-payments-api.com/fee_profiles/FP7ehCuoYhW7x5UuZjiY5P6b"
}
}
}