# Calculating Fees Dynamically Some platforms have dynamic pricing strategies that depend on a number of factors such as promotions, concessions, and other criteria. ## Using Supplemental Fee Finix allows you to use our `supplemental_fee` on our /Transfers API. This `supplemental_fee` works with our Merchant Fee Profiles to unlock a variety of pricing strategies. In all of these strategies below, you will need to supply this field using logic you control into our API. ## Common Implementation Strategies ### Passing Fees to Buyers Many platforms choose to offer a pricing strategy where the buyer pays for processing fees. These are usually considered Buyer Fees. You should consult your own legal counsel if what you are doing is considered a Buyer Fee. Goal: Merchant does not pay for fees. This means they pass through the fees to the buyer. Example: - $100.00 Item - $4.00 Buyer Fee passed onto buyer (Displayed as "Processing Fee" to Buyer or "Platform Fee") - $4.00 Fee charged to merchant To accomplish this example, we will need to: 1. Set the Merchant Fee Profile for the merchant to be $0.00 for Card and ACH transactions 2. Run a Sale or Capture with a `supplemental_fee` of $4.00 and the amount to be passed to be the buyer to be $104.00 ``` curl -i -X POST \ -u USfdccsr1Z5iVbXDyYt7hjZZ:313636f3-fac2-45a7-bff7-a334b93e7bda \ https://finix.sandbox-payments-api.com/transfers \ -H 'Content-Type: application/json' \ -H 'Finix-Version: 2022-02-01' \ -d '{ "amount": 10400, "supplemental_fee": 400, "currency": "USD", "merchant": "MUmfEGv5bMpSJ9k5TFRUjkmm", "source": "PI6iQcTtJNCS8GZAVKYi5Ueb", "tags": { "test": "Sale" } }' ``` ### Charging an additional fee on top of Interchange Plus or Blended Pricing This pricing strategy requires the use of Merchant Fee Profiles along with dynamically calculating the fees. Let's take a simplified example where we charge a flat rate of $1.00 on top of interchange plus pricing strategy for transactions less than $150.00. For transactions more than $150.00, we charge $1.50. Goal: Charge $1.00 fee on top of fees calculated by the fee profile To accomplish this example we will need to: 1. Set the merchant fee profile to the desired setting & rates 2. Supply a `supplemental_fee` of $1.00 for transactions less than $150.00 and $1.50 for a transactions over $150.00 ``` curl -i -X POST \ -u USfdccsr1Z5iVbXDyYt7hjZZ:313636f3-fac2-45a7-bff7-a334b93e7bda \ https://finix.sandbox-payments-api.com/transfers \ -H 'Content-Type: application/json' \ -H 'Finix-Version: 2022-02-01' \ -d '{ "amount": 10000, "supplemental_fee":100, "currency": "USD", "merchant": "MUmfEGv5bMpSJ9k5TFRUjkmm", "source": "PI6iQcTtJNCS8GZAVKYi5Ueb", "tags": { "test": "Sale" } }' ``` A `Fee` of $1.00 will be created on top of the additional fees created by the Fee Profile.