Before a payment can be completed, all parties involved must agree to the terms of the payment. Those terms can include foreign exchange rates (if the payment involves currency exchange) and fees. Any of the parties involved in the payment, including intermediate instances, can set these terms. It’s important that the sender and receiver know what terms affect the payment, and what amount will finally make it to the receiver and beneficiary after all fees and exchange rates are applied.
Payment quotes allow the sender to review terms before requesting to send a payment. The following sequence diagram shows how payment quotes are processed within RippleNet.
- A payment quote begins when a sender creates a payment quote request . The quote request defines important payment parameters such as currency, amount, and receiver . It may also define additional parameters that include sending and receiving RippleNet accounts and payout methods to the beneficiary such as a cash payout or book transfer.
- Once the sender defines a quote request, they submit it to RippleNet through their RippleNet instance.
- RippleNet gets each intermediary institution’s exchange rate (if applicable) and possible fees. RippleNet does not ask each institution for a quote, it simply checks the institutions’ RippleNet instances. Each instance posts its institution’s standard exchange rates and fees.
- RippleNet retrieves the receiver ’s posted exchange rates and fees from the receiver ’s instance.
- RippleNet applies retrieved exchange rates and fees to the payment defined by the quote request to create one or more payment quotes.
- RippleNet returns the payment quotes to the sender . Each quote spells out the parties in the payment chain, what exchange rates and fees apply at each step, and what payment amounts result after exchange rates are applied and fees subtracted.
- If the sender agrees with the payment terms in a quote, they accept the quote and send payment details.
- RippleNet creates a payment request based on the accepted quote.
- RippleNet sends the payment request to the intermediate instance(s).
- RippleNet sends the payment request to the receiver for locking consideration.
If the receiver declines to lock the payment, they effectively reject the payment request. There are many possible outcomes once a payment request is presented to involved parties. Payment States describes possible steps.