Fees can be implemented in Ripple for different use cases. The below covers a few possible possibilities. For any additional use cases not covered here, please contact your Ripple Solution Architect.
In this pattern, you set fees by a transacting partner. The particular fee structure is stipulated in the commercial agreements and configured within RippleNet. The fee structure can be configured using the
partner_name field and may differ based on the Counterparty.
There is a possibility that a common fee structure is set up for multiple partners, and in that case, the
partner_name field can be left empty.
For more information, see Partner fee.
In this pattern, fees are configured in RippleNet for partners that have multiple accounts and collected from these specific accounts. For example, a partner uses different accounts for different use cases, and each use case needs to be charged differently.
For more information, see Account fee.
Setting up fees by payout method is an additional parameter in fee configuration. Any type of fee (flat, percentage or slab) can be set up by a custom payout method and can have further granularity by partner and account.
For more information, see Payout method fee.
When a sending member requests a quote collection, multiple quotes may be returned based on the following request parameters:
payout_methodis specified: if the
payout_methodis valid, a single quote will be returned with the specific payout method fee. If the payout method does not exist, a single quote will be returned with the default fee. The `payout method
set by the receiving institution is a free-form text. To standardize implementations, the followingpayout_method` naming conventions have been defined based on the currently known use cases. This list of naming conventions will be updated as new use cases that can leverage this feature are defined:
- BOOKTRSFR : book transfer (for example, an internal bank payment)
- CSM : domestic payout (clearing and settlement mechanism)
- CASH_PICKUP : cash pickup
- CASH_D2D : cash delivery
- WALLET : eWallet payout
- CARD : card payout
- ATM : ATM cash payout
payout_method name, you should include a two-letter country code followed by a three-letter currency code. For example: CASHPICKUPTH_THB.
payout_methodis specified: A single quote will be returned with the default fee.
Some receiving members who require that the value be passed may reject payments where payout_method is not specified. This validation is the prerogative of the Receiving Member based upon their contractual agreement with the Sending Member.
enable_quote_per_payout_methodis set to TRUE: Multiple quotes will be returned, one per payout method offered by the receiving member with its respective payout method fee.
For more information, see Create quote collection in the API reference.
Fees in RippleNet can also be charged in a currency that is different from the account currencies along the liquidity path of the payment. This is most common among institutions who would like to recognize fees in a preferred currency (for example, USD). To enable this pattern, a set of additional accounts need to be added to the liquidity path to calculate and retain the transaction fees.