Configure fees

This topic covers several tutorials with steps you must take to set and verify the following fees:

Tip

For conceptual details about RippleNet fees, see Fees.

Scenario

All of the tutorials in this topic refer to an example set of RippleNet instances, one in San Francisco (SF) and one in London. The sending SF instance handles FX conversion and holds a nostro relationship account on the London instance.

The following diagram shows the example instances, and their account liquidity and peer relationship:

RippleNet Fees with Two Instance Path

The FX conversion takes place in San Francisco, converting 1 USD to 0.77 GBP.

Note

This tutorial assumes access and basic familiarity with the RippleNet API.

Sending fee

Follow the steps in this tutorial to configure a fee on your RippleNet that collects value from a payment transfer when the account acts as the sending account to another account on your server's ledger.

Sending fee details

Set a fee that will be collected by an account on your instance with the following configuration details:

  • The account acts in the sending role of transfers to other accounts on the instance.
  • Your RippleNet instance initiates the payment, acting as the first instance in the RippleNet payment.
  • The currency is in USD.
  • The fee applies only to regular (non-return) payments.
  • The fee collected is flat value (not percentage of payment).
  • The amount of the fee is 5 .

Request

Here is the API request for the sending fee:

Copy
Copied!
POST /v4/config/fees
Host: sf-bank.ripplenet.com
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlFUazFNa1V3TkVGQ04wVTNPRFl4TlRCRE0wRTROVVl6UlVJMk9UUXpNalpHUXpJM1JUbEZRZyJ9.ey

{
  "currency_code": "USD",
  "fee_type": "FLAT_RATE",
  "node_type": "INITIAL",
  "payment_type": "REGULAR",
  "role_type": "SENDING",
  "value": 5.00
}

Response (200)

The successful response indicates you set the fee for 5 USD. RippleNet assigns a feeId for this fee for reference.

You can also review the details of the fee by calling Get fee by ID and passing the feeId as a path parameter.

Copy
Copied!
{
    "value": "5.00",
    "currency_code": "USD",
    "role_type": "SENDING",
    "payment_type": "REGULAR",
    "node_type": "INITIAL",
    "fee_type": "FLAT_RATE",
    "partner_name": null,
    "account_name": null,
    "upper_limit": null,
    "lower_limit": null,
    "feeId": "542e97c1-1308-4d1f-8f65-343b96598ce5",
    "payout_method": null
}

For more information, see the Get fee by ID operation in the API Reference.

Review fee impact with payment object

To review how the fee impacts the RippleNet Payment Object, request two quote collections. One for a 500 USD sender quote type payment and the other an equivalent 385 GBP receiver quote type between the transactional accounts in San Francisco and London. The details in the quote_elements of the quotes returned highlight the impact of the sender fee on the sending and receiving amounts.

Create quote collections

With the 5 USD sending fee set, use the Create quote collection operation to retrieve all available quotes for two quote types:

Sending fee - sender amount quote (Request)

Copy
Copied!
POST /v4/quote_collections/
Host: sf-bank.ripplenet.com
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlFUazFNa1V3TkVGQ04wVTNPRFl4TlRCRE0wRTROVVl6UlVJMk9UUXpNalpHUXpJM1JUbEZRZyJ9.ey

{
	"sending_address": "trans_usd_sf@g.us.ca.san_francisco",
	"receiving_address": "trans_gbp_lon@g.eu.uk.london",
	"amount": 500,
	"currency": "USD",
	"quote_type": "SENDER_AMOUNT"
}

Sending fee - sender amount quote (Response) (200)

Copy
Copied!
{
    "quote_collection_id": "4c0c3d28-2696-4ec7-abd1-99c21b59f589",
    "quotes": [
        {
            "quote_id": "6212809e-b9e2-4d00-aa2e-fe8c526e72b3",
            "created_at": "2020-01-28T21:07:11.127Z",
            "expires_at": "2020-01-28T22:07:11.127Z",
            "type": "SENDER_AMOUNT",
            "price_guarantee": "FIRM",
            "sender_address": "trans_usd_sf@g.us.ca.san_francisco",
            "receiver_address": "trans_gbp_lon@g.eu.uk.london",
            "amount": "500",
            "currency_code": "USD",
            "currency_code_filter": null,
            "service_type": null,
            "quote_elements": [
                {
                    "quote_element_id": "33b0dc8c-54ae-4a1d-9250-0c877997df97",
                    "quote_element_type": "TRANSFER",
                    "quote_element_order": "1",
                    "sender_address": "trans_usd_sf@g.us.ca.san_francisco",
                    "receiver_address": "conct_usd_sf@g.us.ca.san_francisco",
                    "sending_amount": "495.00",
                    "receiving_amount": "495.00",
                    "sending_fee": "5.00",
                    "receiving_fee": "0.00",
                    "sending_currency_code": null,
                    "receiving_currency_code": null,
                    "fx_rate": null,
                    "transfer_currency_code": "USD"
                },
                {
                    "quote_element_id": "0412d48f-60ae-4511-ac42-4294a23bd067",
                    "quote_element_type": "EXCHANGE",
                    "quote_element_order": "2",
                    "sender_address": "conct_usd_sf@g.us.ca.san_francisco",
                    "receiver_address": "alias_gbp_sf@g.us.ca.san_francisco",
                    "sending_amount": "495.00",
                    "receiving_amount": "381.15",
                    "sending_fee": "0",
                    "receiving_fee": "0",
                    "sending_currency_code": "USD",
                    "receiving_currency_code": "GBP",
                    "fx_rate": {
                        "rate": "0.770000000",
                        "base_currency_code": "USD",
                        "counter_currency_code": "GBP",
                        "type": "buy"
                    },
                    "transfer_currency_code": null
                },
                {
                    "quote_element_id": "2b93af42-45fc-4232-a941-9b0767f0c724",
                    "quote_element_type": "TRANSFER",
                    "quote_element_order": "3",
                    "sender_address": "conct_gbp_sf@g.eu.uk.london",
                    "receiver_address": "trans_gbp_lon@g.eu.uk.london",
                    "sending_amount": "381.15",
                    "receiving_amount": "381.15",
                    "sending_fee": "0.00",
                    "receiving_fee": "0.00",
                    "sending_currency_code": null,
                    "receiving_currency_code": null,
                    "fx_rate": null,
                    "transfer_currency_code": "GBP"
                }
            ],
            "liquidity_warning": null,
            "payment_method": null
        }
    ],
    "quote_errors": []
}

Initial quote element

33b0dc8c-54ae-4a1d-9250-0c877997df97

The first quote element in the quote describes the payment transfer between the SF transactional account and the SF connector account. This quote element includes the 5 USD sending fee that you set previously:

Copy
Copied!
{
    "quote_element_id": "33b0dc8c-54ae-4a1d-9250-0c877997df97",
    "quote_element_type": "TRANSFER",
    "quote_element_order": "1",
    "sender_address": "trans_usd_sf@g.us.ca.san_francisco",
    "receiver_address": "conct_usd_sf@g.us.ca.san_francisco",
    "sending_amount": "495.00",
    "receiving_amount": "495.00",
    "sending_fee": "5.00",
    "receiving_fee": "0.00",
    "sending_currency_code": null,
    "receiving_currency_code": null,
    "fx_rate": null,
    "transfer_currency_code": "USD"
}
Fee calculation

Your quote requested a payment for 500 USD, but the first quote element shows a sending amount of 495.00. This is because RippleNet subtracts the 5 USD sending fee from the payment transfer amount before it calculates the resulting sending amount:

Copy
Copied!
{
    "sending_amount": "495.00",
    "receiving_amount": "495.00",
    "sending_fee": "5.00",
    "receiving_fee": "0.00"
}
Note

Sending fees impact transfer amounts before sending_amount values are calculated.

FX conversion quote element

0412d48f-60ae-4511-ac42-4294a23bd067

The second quote element shows the FX conversion from USD to GBP that takes place on the SF instance. There is no fee in this quoted transfer:

Copy
Copied!
{
     "quote_element_id": "0412d48f-60ae-4511-ac42-4294a23bd067",
     "quote_element_type": "EXCHANGE",
     "quote_element_order": "2",
     "sender_address": "conct_usd_sf@g.us.ca.san_francisco",
     "receiver_address": "alias_gbp_sf@g.us.ca.san_francisco",
     "sending_amount": "495.00",
     "receiving_amount": "381.15",
     "sending_fee": "0",
     "receiving_fee": "0",
     "sending_currency_code": "USD",
     "receiving_currency_code": "GBP",
     "fx_rate": {
        "rate": "0.770000000",
        "base_currency_code": "USD",
        "counter_currency_code": "GBP",
        "type": "buy"
     },
     "transfer_currency_code": null
}

Terminal quote element

2b93af42-45fc-4232-a941-9b0767f0c724

The last quote element in this quote describes the transfer from the San Francisco connector account on the London instance to the London transactional account:

Copy
Copied!
{
    "quote_element_id": "2b93af42-45fc-4232-a941-9b0767f0c724",
    "quote_element_type": "TRANSFER",
    "quote_element_order": "3",
    "sender_address": "conct_gbp_sf@g.eu.uk.london",
    "receiver_address": "trans_gbp_lon@g.eu.uk.london",
    "sending_amount": "381.15",
    "receiving_amount": "381.15",
    "sending_fee": "0.00",
    "receiving_fee": "0.00",
    "sending_currency_code": null,
    "receiving_currency_code": null,
    "fx_rate": null,
    "transfer_currency_code": "GBP"
}

There are no fees set for transfers between these accounts. The Receiving fee tutorial sets a fee for this scenario.

Payout calculation

The last quote element shows a transfer with the receiving_amount of 381.15 GBP, and the element shows no receiving fee. If there were a receiving fee, the payout would be the difference after subtracting the fee.

The 500 USD sender amount payment pays out 381.15 GBP.

Sending fee - receiver amount quote (Request)

Create a quote for receiver amount 385 GBP, which is the equivalent of 500 USD with a 0.77 FX conversion rate to GBP.

Copy
Copied!
POST /v4/quote_collections/
Host: sf-bank.ripplenet.com
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlFUazFNa1V3TkVGQ04wVTNPRFl4TlRCRE0wRTROVVl6UlVJMk9UUXpNalpHUXpJM1JUbEZRZyJ9.ey

{
	"sending_address": "trans_usd_sf@g.us.ca.san_francisco",
	"receiving_address": "trans_gbp_lon@g.eu.uk.london",
	"amount": 500,
	"currency": "USD",
	"quote_type": "RECEIVER_AMOUNT"
}

Sending fee - receiver amount quote (Response) (200)

Copy
Copied!
{
    "quote_collection_id": "2d514ceb-2160-494f-8b25-9c7ad9abf4cb",
    "quotes": [
        {
            "quote_id": "9c5aee52-b11d-483a-b307-9ccde9eedef9",
            "created_at": "2020-02-01T05:57:24.462Z",
            "expires_at": "2020-02-01T06:57:24.462Z",
            "type": "RECEIVER_AMOUNT",
            "price_guarantee": "FIRM",
            "sender_address": "trans_usd_sf@g.us.ca.san_francisco",
            "receiver_address": "trans_gbp_lon@g.eu.uk.london",
            "amount": "385",
            "currency_code": "GBP",
            "currency_code_filter": null,
            "service_type": null,
            "quote_elements": [
                {
                    "quote_element_id": "cf99af2b-13b2-4af0-a439-00ef0b285b24",
                    "quote_element_type": "TRANSFER",
                    "quote_element_order": "1",
                    "sender_address": "trans_usd_sf@g.us.ca.san_francisco",
                    "receiver_address": "conct_usd_sf@g.us.ca.san_francisco",
                    "sending_amount": "500.00",
                    "receiving_amount": "500.00",
                    "sending_fee": "5.00",
                    "receiving_fee": "0.00",
                    "sending_currency_code": null,
                    "receiving_currency_code": null,
                    "fx_rate": null,
                    "transfer_currency_code": "USD"
                },
                {
                    "quote_element_id": "5237fed0-036b-4536-ba9b-0ecb6d4c1c53",
                    "quote_element_type": "EXCHANGE",
                    "quote_element_order": "2",
                    "sender_address": "conct_usd_sf@g.us.ca.san_francisco",
                    "receiver_address": "alias_gbp_sf@g.us.ca.san_francisco",
                    "sending_amount": "500.00",
                    "receiving_amount": "385.00",
                    "sending_fee": "0",
                    "receiving_fee": "0",
                    "sending_currency_code": "USD",
                    "receiving_currency_code": "GBP",
                    "fx_rate": {
                        "rate": "0.770000000",
                        "base_currency_code": "USD",
                        "counter_currency_code": "GBP",
                        "type": "buy"
                    },
                    "transfer_currency_code": null
                },
                {
                    "quote_element_id": "0e69a31b-7073-4068-a3c1-cca72ba665c2",
                    "quote_element_type": "TRANSFER",
                    "quote_element_order": "3",
                    "sender_address": "conct_gbp_sf@g.eu.uk.london",
                    "receiver_address": "trans_gbp_lon@g.eu.uk.london",
                    "sending_amount": "385.00",
                    "receiving_amount": "385.00",
                    "sending_fee": "0.00",
                    "receiving_fee": "0.00",
                    "sending_currency_code": null,
                    "receiving_currency_code": null,
                    "fx_rate": null,
                    "transfer_currency_code": "GBP"
                }
            ],
            "liquidity_warning": null,
            "payment_method": null
        }
    ],
    "quote_errors": []
}

Initial quote element

cf99af2b-13b2-4af0-a439-00ef0b285b24

The first quote element in the quote describes the payment transfer between the SF transactional account and the SF connector account. This quote element includes the 5 USD sending fee that you set previously:

Copy
Copied!
{
    "quote_element_id": "cf99af2b-13b2-4af0-a439-00ef0b285b24",
    "quote_element_type": "TRANSFER",
    "quote_element_order": "1",
    "sender_address": "trans_usd_sf@g.us.ca.san_francisco",
    "receiver_address": "conct_usd_sf@g.us.ca.san_francisco",
    "sending_amount": "500.00",
    "receiving_amount": "500.00",
    "sending_fee": "5.00",
    "receiving_fee": "0.00",
    "sending_currency_code": null,
    "receiving_currency_code": null,
    "fx_rate": null,
    "transfer_currency_code": "USD"
}
Fee calculation

Your quote requested a payment with a payout 385 GBP by using a receiver amount quote type. The first quote element shows a sending amount of 500.00, with a sending fee of 5.00. The sender must originate the payment with 505.00 USD. This is because RippleNet adds the 5 USD sending fee to the sending_amount to calculate the amount to originate the payment.

Copy
Copied!
{
    "sending_amount": "500.00",
    "receiving_amount": "500.00",
    "sending_fee": "5.00",
    "receiving_fee": "0.00"
}
Note

RippleNet subtracts sending fees from origination amounts to produce sending_amount values.

FX conversion quote element

5237fed0-036b-4536-ba9b-0ecb6d4c1c53

The second quote element shows the FX conversion from USD to GBP that takes place on the SF instance. There is no fee in this quoted transfer:

Copy
Copied!
{
    "quote_element_id": "5237fed0-036b-4536-ba9b-0ecb6d4c1c53",
    "quote_element_type": "EXCHANGE",
    "quote_element_order": "2",
    "sender_address": "conct_usd_sf@g.us.ca.san_francisco",
    "receiver_address": "alias_gbp_sf@g.us.ca.san_francisco",
    "sending_amount": "500.00",
    "receiving_amount": "385.00",
    "sending_fee": "0",
    "receiving_fee": "0",
    "sending_currency_code": "USD",
    "receiving_currency_code": "GBP",
    "fx_rate": {
        "rate": "0.770000000",
        "base_currency_code": "USD",
        "counter_currency_code": "GBP",
        "type": "buy"
    },
    "transfer_currency_code": null
}

Terminal quote element

0e69a31b-7073-4068-a3c1-cca72ba665c2

The last quote element in this quote describes the transfer from the San Francisco connector account on the London instance to the London transactional account:

Copy
Copied!
{
    "quote_element_id": "0e69a31b-7073-4068-a3c1-cca72ba665c2",
    "quote_element_type": "TRANSFER",
    "quote_element_order": "3",
    "sender_address": "conct_gbp_sf@g.eu.uk.london",
    "receiver_address": "trans_gbp_lon@g.eu.uk.london",
    "sending_amount": "385.00",
    "receiving_amount": "385.00",
    "sending_fee": "0.00",
    "receiving_fee": "0.00",
    "sending_currency_code": null,
    "receiving_currency_code": null,
    "fx_rate": null,
    "transfer_currency_code": "GBP"
}

There are no fees set for transfers between these accounts. See the Receiving fee tutorial to set a fee for this scenario.

Fee calculation

The last quote element shows a transfer with the receiving_amount of 385.00 GBP, and the element shows no receiving fee, so the payment pays out 385.00 GBP. If there were a receiving fee, the payout would be the difference after subtracting the fee.

Receiving fee

Follow the steps in this tutorial to configure a fee on your RippleNet that collects value from a payment transfer when the account acts as the receiving account from another account on your server's ledger.

Receiving fee details

Set a fee that will be collected by an account on your instance with the following configuration details:

  • The account acts in the receiving role of transfers from other accounts on the instance.
  • Your RippleNet instance terminates the payment, acting as the final instance in the RippleNet payment.
  • The currency is in GBP.
  • The fee applies only to regular (non-return) payments.
  • The fee collected is flat value (not percentage of payment).
  • The amount of the fee is 5 .

Request

Here is the API request for the receiving fee:

Copy
Copied!
POST /v4/config/fees
Host: lon-bank.ripple.com
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlFUazFNa1V3TkVGQ04wVTNPRFl4TlRCRE0wRTROVVl6UlVJMk9UUXpNalpHUXpJM1JUbEZRZyJ9.ey

{
  "currency_code": "GBP",
  "fee_type": "FLAT_RATE",
  "node_type": "TERMINAL",
  "payment_type": "REGULAR",
  "role_type": "RECEIVING",
  "value": 5.00
}

Response (200)

The successful response indicates you set the fee for 5 USD. RippleNet assigns a feeId for this fee for reference.

You can also review the details of the fee by calling Get fee by ID and passing the feeId as a path parameter.

Copy
Copied!
{
    "value": "5.00",
    "currency_code": "GBP",
    "role_type": "RECEIVING",
    "payment_type": "REGULAR",
    "node_type": "TERMINAL",
    "fee_type": "FLAT_RATE",
    "partner_name": null,
    "account_name": null,
    "upper_limit": null,
    "lower_limit": null,
    "feeId": "753407d0-1b59-4f9a-bc0c-213a63646c8d",
    "payout_method": null
}

For more information, see the Get fee by ID operation in the API Reference.

Review fee impact with payment object

To review how the fee impacts the RippleNet Payment Object, request two quote collections. One for a 500 USD sender quote type payment and the other an equivalent 385 GBP receiver quote type between the transactional accounts in San Francisco and London. The details in the quote_elements of the quotes returned highlight the impact of the sender fee on the sending and receiving amounts.

Create quote collections

With the 5 USD sending fee set, use the Create quote collection operation to retrieve all available quotes for two quote types:

Note

The SF instance has one sender fee set, which was previously created in the Sending fee tutorial.

Receiving fee - sender amount quote (Request)

Copy
Copied!
POST /v4/quote_collections/
Host: sf-bank.ripplenet.com
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlFUazFNa1V3TkVGQ04wVTNPRFl4TlRCRE0wRTROVVl6UlVJMk9UUXpNalpHUXpJM1JUbEZRZyJ9.ey

{
	"sending_address": "trans_usd_sf@g.us.ca.san_francisco",
	"receiving_address": "trans_gbp_lon@g.eu.uk.london",
	"amount": 500,
	"currency": "USD",
	"quote_type": "SENDER_AMOUNT"
}

Receiving fee - sender amount quote (Response) (200)

Copy
Copied!
{
    "quote_collection_id": "a495c71c-56fe-48e1-96ed-90b4bcd19bc0",
    "quotes": [
        {
            "quote_id": "fb071c2f-d19a-4989-9ca4-1df312d39e78",
            "created_at": "2020-02-01T06:11:39.021Z",
            "expires_at": "2020-02-01T07:11:39.021Z",
            "type": "SENDER_AMOUNT",
            "price_guarantee": "FIRM",
            "sender_address": "trans_usd_sf@g.us.ca.san_francisco",
            "receiver_address": "trans_gbp_lon@g.eu.uk.london",
            "amount": "500",
            "currency_code": "USD",
            "currency_code_filter": null,
            "service_type": null,
            "quote_elements": [
                {
                    "quote_element_id": "3063d609-c29a-42de-8850-27e65bf19cb9",
                    "quote_element_type": "TRANSFER",
                    "quote_element_order": "1",
                    "sender_address": "trans_usd_sf@g.us.ca.san_francisco",
                    "receiver_address": "conct_usd_sf@g.us.ca.san_francisco",
                    "sending_amount": "495.00",
                    "receiving_amount": "495.00",
                    "sending_fee": "5.00",
                    "receiving_fee": "0.00",
                    "sending_currency_code": null,
                    "receiving_currency_code": null,
                    "fx_rate": null,
                    "transfer_currency_code": "USD"
                },
                {
                    "quote_element_id": "9b318ee2-0321-42fa-9da0-47e3de599d53",
                    "quote_element_type": "EXCHANGE",
                    "quote_element_order": "2",
                    "sender_address": "conct_usd_sf@g.us.ca.san_francisco",
                    "receiver_address": "alias_gbp_sf@g.us.ca.san_francisco",
                    "sending_amount": "495.00",
                    "receiving_amount": "381.15",
                    "sending_fee": "0",
                    "receiving_fee": "0",
                    "sending_currency_code": "USD",
                    "receiving_currency_code": "GBP",
                    "fx_rate": {
                        "rate": "0.770000000",
                        "base_currency_code": "USD",
                        "counter_currency_code": "GBP",
                        "type": "buy"
                    },
                    "transfer_currency_code": null
                },
                {
                    "quote_element_id": "0d2fd22d-e93a-47f9-ab5a-b4500c344a1a",
                    "quote_element_type": "TRANSFER",
                    "quote_element_order": "3",
                    "sender_address": "conct_gbp_sf@g.eu.uk.london",
                    "receiver_address": "trans_gbp_lon@g.eu.uk.london",
                    "sending_amount": "381.15",
                    "receiving_amount": "381.15",
                    "sending_fee": "0.00",
                    "receiving_fee": "5.00",
                    "sending_currency_code": null,
                    "receiving_currency_code": null,
                    "fx_rate": null,
                    "transfer_currency_code": "GBP"
                }
            ],
            "liquidity_warning": null,
            "payment_method": null
        }
    ],
    "quote_errors": []
}

Initial quote element

3063d609-c29a-42de-8850-27e65bf19cb9

The first quote element in the quote describes the payment transfer between the SF transactional account and the SF connector account. This quote element includes the 5 USD sending fee that you set previously:

Copy
Copied!
{
    "quote_element_id": "3063d609-c29a-42de-8850-27e65bf19cb9",
    "quote_element_type": "TRANSFER",
    "quote_element_order": "1",
    "sender_address": "trans_usd_sf@g.us.ca.san_francisco",
    "receiver_address": "conct_usd_sf@g.us.ca.san_francisco",
    "sending_amount": "495.00",
    "receiving_amount": "495.00",
    "sending_fee": "5.00",
    "receiving_fee": "0.00",
    "sending_currency_code": null,
    "receiving_currency_code": null,
    "fx_rate": null,
    "transfer_currency_code": "USD"
}
Fee calculation

Your quote requested a payment for 500 USD, but the first quote element shows a sending amount of 495.00. This is because RippleNet subtracts the 5 USD sending fee from the payment transfer amount before it calculates the resulting sending amount:

Copy
Copied!
{
    "sending_amount": "495.00",
    "receiving_amount": "495.00",
    "sending_fee": "5.00",
    "receiving_fee": "0.00"
}    
Note

Sending fees impact transfer amounts before sending_amount values are caclulated.

FX conversion quote element

9b318ee2-0321-42fa-9da0-47e3de599d53

The second quote element shows the FX conversion from USD to GBP that takes place on the SF instance. There is no fee in this quoted transfer:

Copy
Copied!
{
    "quote_element_id": "9b318ee2-0321-42fa-9da0-47e3de599d53",
    "quote_element_type": "EXCHANGE",
    "quote_element_order": "2",
    "sender_address": "conct_usd_sf@g.us.ca.san_francisco",
    "receiver_address": "alias_gbp_sf@g.us.ca.san_francisco",
    "sending_amount": "495.00",
    "receiving_amount": "381.15",
    "sending_fee": "0",
    "receiving_fee": "0",
    "sending_currency_code": "USD",
    "receiving_currency_code": "GBP",
    "fx_rate": {
        "rate": "0.770000000",
        "base_currency_code": "USD",
        "counter_currency_code": "GBP",
        "type": "buy"
    },
    "transfer_currency_code": null
}

Terminal quote element

0d2fd22d-e93a-47f9-ab5a-b4500c344a1a

The last quote element in this quote describes the transfer from the San Francisco connector account on the London instance to the London transactional account:

Copy
Copied!
{
    "quote_element_id": "0d2fd22d-e93a-47f9-ab5a-b4500c344a1a",
    "quote_element_type": "TRANSFER",
    "quote_element_order": "3",
    "sender_address": "conct_gbp_sf@g.eu.uk.london",
    "receiver_address": "trans_gbp_lon@g.eu.uk.london",
    "sending_amount": "381.15",
    "receiving_amount": "381.15",
    "sending_fee": "0.00",
    "receiving_fee": "5.00",
    "sending_currency_code": null,
    "receiving_currency_code": null,
    "fx_rate": null,
    "transfer_currency_code": "GBP"
}

There are no fees set for transfers between these accounts. The Receiving fee tutorial sets a fee for this scenario.

Payout calculation

The last quote element shows a transfer with the receiving_amount of 381.15 GBP, and the element shows the 5 GBP receiving fee. The payout is the difference from the receiving_amount value after subtracting the fee.

The 500 USD sender amount payment pays out 376.15 GBP.

Receiving fee - receiver amount quote (Request)

Create a quote for receiver amount 385 GBP, which is the equivalent of 500 USD with a 0.77 FX conversion rate to GBP.

Copy
Copied!
POST /v4/quote_collections/
Host: sf-bank.ripplenet.com
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlFUazFNa1V3TkVGQ04wVTNPRFl4TlRCRE0wRTROVVl6UlVJMk9UUXpNalpHUXpJM1JUbEZRZyJ9.ey

{
	"sending_address": "trans_usd_sf@g.us.ca.san_francisco",
	"receiving_address": "trans_gbp_lon@g.eu.uk.london",
	"amount": 385,
	"currency": "GBP",
	"quote_type": "RECEIVER_AMOUNT"
}

Receiving fee - receiver amount quote (Response) (200)

Copy
Copied!
{
    "quote_collection_id": "c6b671b9-1d51-4a76-a16c-13b3208a614e",
    "quotes": [
        {
            "quote_id": "763fc1a6-4a2f-46c7-9b64-0b3244df8a45",
            "created_at": "2020-02-01T06:14:01.592Z",
            "expires_at": "2020-02-01T07:14:01.592Z",
            "type": "RECEIVER_AMOUNT",
            "price_guarantee": "FIRM",
            "sender_address": "trans_usd_sf@g.us.ca.san_francisco",
            "receiver_address": "trans_gbp_lon@g.eu.uk.london",
            "amount": "385",
            "currency_code": "GBP",
            "currency_code_filter": null,
            "service_type": null,
            "quote_elements": [
                {
                    "quote_element_id": "c5c7c0a9-f18d-49c6-9776-cb376c17009c",
                    "quote_element_type": "TRANSFER",
                    "quote_element_order": "1",
                    "sender_address": "trans_usd_sf@g.us.ca.san_francisco",
                    "receiver_address": "conct_usd_sf@g.us.ca.san_francisco",
                    "sending_amount": "506.49",
                    "receiving_amount": "506.49",
                    "sending_fee": "5.00",
                    "receiving_fee": "0.00",
                    "sending_currency_code": null,
                    "receiving_currency_code": null,
                    "fx_rate": null,
                    "transfer_currency_code": "USD"
                },
                {
                    "quote_element_id": "8355a8db-ae60-4ebd-abbd-acc75186ebb5",
                    "quote_element_type": "EXCHANGE",
                    "quote_element_order": "2",
                    "sender_address": "conct_usd_sf@g.us.ca.san_francisco",
                    "receiver_address": "alias_gbp_sf@g.us.ca.san_francisco",
                    "sending_amount": "506.49",
                    "receiving_amount": "390.00",
                    "sending_fee": "0",
                    "receiving_fee": "0",
                    "sending_currency_code": "USD",
                    "receiving_currency_code": "GBP",
                    "fx_rate": {
                        "rate": "0.770000000",
                        "base_currency_code": "USD",
                        "counter_currency_code": "GBP",
                        "type": "buy"
                    },
                    "transfer_currency_code": null
                },
                {
                    "quote_element_id": "6be73ca9-6fac-498b-828d-6dd852ba72f3",
                    "quote_element_type": "TRANSFER",
                    "quote_element_order": "3",
                    "sender_address": "conct_gbp_sf@g.eu.uk.london",
                    "receiver_address": "trans_gbp_lon@g.eu.uk.london",
                    "sending_amount": "390.00",
                    "receiving_amount": "390.00",
                    "sending_fee": "0.00",
                    "receiving_fee": "5.00",
                    "sending_currency_code": null,
                    "receiving_currency_code": null,
                    "fx_rate": null,
                    "transfer_currency_code": "GBP"
                }
            ],
            "liquidity_warning": null,
            "payment_method": null
        }
    ],
    "quote_errors": []
}

Initial quote element

c5c7c0a9-f18d-49c6-9776-cb376c17009c

The first quote element in the quote describes the payment transfer between the SF transactional account and the SF connector account. This quote element includes the 5 USD sending fee that was set previously:

Copy
Copied!
{
    "quote_element_id": "c5c7c0a9-f18d-49c6-9776-cb376c17009c",
    "quote_element_type": "TRANSFER",
    "quote_element_order": "1",
    "sender_address": "trans_usd_sf@g.us.ca.san_francisco",
    "receiver_address": "conct_usd_sf@g.us.ca.san_francisco",
    "sending_amount": "506.49",
    "receiving_amount": "506.49",
    "sending_fee": "5.00",
    "receiving_fee": "0.00",
    "sending_currency_code": null,
    "receiving_currency_code": null,
    "fx_rate": null,
    "transfer_currency_code": "USD"
},
Fee calculation

Your quote requested a payment with a payout 385 GBP by using a receiver amount quote type. The first quote element shows a sending amount of 506.49, with a sending fee of 5.00. The sender must originate the payment with 511.49 USD. This is because RippleNet adds the 5 USD sending fee to the sending_amount to calculate the amount to originate the payment.

Copy
Copied!
{
    "sending_amount": "506.49",
    "receiving_amount": "506.49",
    "sending_fee": "5.00",
    "receiving_fee": "0.00"
}
Note

RippleNet subtracts sending fees from origination amounts to produce sending_amount values.

FX conversion quote element

8355a8db-ae60-4ebd-abbd-acc75186ebb5

The second quote element shows the FX conversion from USD to GBP that takes place on the SF instance. There is no fee in this quoted transfer:

Copy
Copied!
{
    "quote_element_id": "8355a8db-ae60-4ebd-abbd-acc75186ebb5",
    "quote_element_type": "EXCHANGE",
    "quote_element_order": "2",
    "sender_address": "conct_usd_sf@g.us.ca.san_francisco",
    "receiver_address": "alias_gbp_sf@g.us.ca.san_francisco",
    "sending_amount": "506.49",
    "receiving_amount": "390.00",
    "sending_fee": "0",
    "receiving_fee": "0",
    "sending_currency_code": "USD",
    "receiving_currency_code": "GBP",
    "fx_rate": {
        "rate": "0.770000000",
        "base_currency_code": "USD",
        "counter_currency_code": "GBP",
        "type": "buy"
    },
    "transfer_currency_code": null
},

Terminal quote element

6be73ca9-6fac-498b-828d-6dd852ba72f3

The last quote element in this quote describes the transfer from the San Francisco connector account on the London instance to the London transactional account:

Copy
Copied!
{
    "quote_element_id": "6be73ca9-6fac-498b-828d-6dd852ba72f3",
    "quote_element_type": "TRANSFER",
    "quote_element_order": "3",
    "sender_address": "conct_gbp_sf@g.eu.uk.london",
    "receiver_address": "trans_gbp_lon@g.eu.uk.london",
    "sending_amount": "390.00",
    "receiving_amount": "390.00",
    "sending_fee": "0.00",
    "receiving_fee": "5.00",
    "sending_currency_code": null,
    "receiving_currency_code": null,
    "fx_rate": null,
    "transfer_currency_code": "GBP"
}
Fee calculation

The last quote element shows a transfer with the receiving_amount of 390.00 GBP, and the element shows a receiving fee of 5 USD, so the payment pays out 385.00 GBP. The payout amount is the difference of the receiving_amount value and the receiving_fee value in GBP.

Partner fee

Follow the steps in this tutorial to configure a fee on your RippleNet that collects value from a payment transfer when the sender or receiver is a specified partner.

Partner fee details

Set a fee that will be collected by an account on your instance with the following configuration details:

  • The account collecting the fee acts in the receiving role of transfers to other accounts on the instance.
  • Your RippleNet instance receives the payment, acting as the terminal instance in the RippleNet payment.
  • The currency is in GBP.
  • The fee applies only to regular (non-return) payments.
  • The fee collected is flat value (not percentage of payment).
  • The amount of the fee is 1.00 .
  • The partner involved in the payment is San Francisco, specified as g.us.ca.san_francisco .
Note
  • You set this fee's role_type to receiving . In this partner fee, your account only collects a fee if the specified San Francisco partner does the sending of the transfer. This is because when you configure a fee, you configure it for the account that collects the fee, and the role_type indicates the role that account plays.
  • Partner fees only appear in the Quote Element Object when the fee's partner_name matches the owner of the account charged with the fee. For example, if you set a fee's partner_name to g.us.ca.san_francisco , then you must ensure that the owner field of the account charged with the fee is also set to g.us.ca.san_francisco . Otherwise, the fee will not be applied to the quote.

Request

Specify the partner's RippleNet address as the value for the partner_name field to set the fee for that partner.

Here is the API request for the sending fee:

Copy
Copied!
POST /v4/config/fees
Host: sf-bank.ripplenet.com
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlFUazFNa1V3TkVGQ04wVTNPRFl4TlRCRE0wRTROVVl6UlVJMk9UUXpNalpHUXpJM1JUbEZRZyJ9.ey

{
  "currency_code": "GBP",
  "fee_type": "FLAT_RATE",
  "node_type": "TERMINAL",
  "payment_type": "REGULAR",
  "role_type": "RECEIVING",
  "value": 1.00,
  "partner_name": "g.us.ca.san_francisco"
}

Response (200)

The successful response indicates you set the fee for 1 GBP. RippleNet assigns a feeId for this fee for reference.

You can also review the details of the fee by calling Get fee by ID and passing the feeId as a path parameter.

Copy
Copied!
{
    "value": "1.00",
    "currency_code": "GBP",
    "role_type": "TERMINAL",
    "payment_type": "REGULAR",
    "node_type": "RECEIVING",
    "fee_type": "FLAT_RATE",
    "partner_name": "g.us.ca.san_francisco",
    "account_name": null,
    "upper_limit": null,
    "lower_limit": null,
    "feeId": "48979ba3-bb06-49a0-8393-6edc820d8b5e",
    "payout_method": null
}

For more information, see the Get fee by ID operation in the API Reference.

Account fee

Follow the steps in this tutorial to configure a fee on your RippleNet that collects value from a payment transfer when the account acts as the receiving account to another account on your server's ledger.

The account fee will only apply when transfers that include the specified partner's account are involved in the payment.

Account fee details

Set a fee that will be collected by an account on your instance with the following configuration details:

  • The account acts in the receiving role of transfers to other accounts on the instance.
  • Your RippleNet instance receives the payment, acting as the terminal instance in the RippleNet payment.
  • The currency is in GBP.
  • The fee applies only to regular (non-return) payments.
  • The fee collected is flat value (not percentage of payment).
  • The amount of the fee is 0.5 .
  • The partner involved in the payment is San Francisco, specified as g.us.ca.san_francisco .
  • The account involved in the payment is the transactional account, specified as conct_gbp_sf .
Note

You set this fee's role_type to receiving. In this account fee, your account only collects a fee if the specified San Francisco partner's account does the sending of the transfer. This is because when you configure a fee, you configure it for the account that collects the fee, and the role_type indicates the role that account plays.

Request

Specify the account and partner RippleNet details to set the fee for an account.

To set a fee for an account you must do the following:

  • Specify the partner's RippleNet address as the value for the partner_name field
  • Specify the account name as the value for the account_name field.

Here is the API request for the sending fee:

Copy
Copied!
POST /v4/config/fees
Host: sf-bank.ripplenet.com
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlFUazFNa1V3TkVGQ04wVTNPRFl4TlRCRE0wRTROVVl6UlVJMk9UUXpNalpHUXpJM1JUbEZRZyJ9.ey

{
  "currency_code": "GBP",
  "fee_type": "FLAT_RATE",
  "node_type": "TERMINAL",
  "payment_type": "REGULAR",
  "role_type": "RECEIVING",
  "value": 0.50,
  "partner_name": "g.us.ca.san_francisco",
  "account_name": "conct_gbp_sf"
}

Response (200)

The successful response indicates you set the fee for .50 GBP. RippleNet assigns a feeId for this fee for reference.

You can also review the details of the fee by calling Get fee by ID and passing the feeId as a path parameter.

Copy
Copied!
{
    "value": "0.50",
    "currency_code": "GBP",
    "role_type": "RECEIVING",
    "payment_type": "REGULAR",
    "node_type": "TERMINAL",
    "fee_type": "FLAT_RATE",
    "partner_name": "g.us.ca.san_francisco",
    "account_name": "conct_gbp_sf",
    "upper_limit": null,
    "lower_limit": null,
    "feeId": "7381b7ea-3cc2-4940-91ce-21481b8ada2d",
    "payout_method": null
}

For more information, see the Get fee by ID operation in the API Reference.

Payout method fee

The payout_method field in the fee specifies the unique string for the fee. Use this tutorial if you want to set fees for payout method or partner account.

Add payout methods

Before adding fees for any payout methods, you must create the payout methods for the London instance. One will be for customers who want cash payouts and the other for payout to bank accounts.

Add a cash payout method

Use the Create payout method to add a payout method to the London instance for customers who want a cash payout.

Note

The string used to assign the payout_method value must be unique among payout methods.

Request
Copy
Copied!
POST /v4/config/payout_methods
Host: lon-bank.ripple.com
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlFUazFNa1V3TkVGQ04wVTNPRFl4TlRCRE0wRTROVVl6UlVJMk9UUXpNalpHUXpJM1JUbEZRZyJ9.ey

{
	"payout_method": "cash",
	"description": "Cash payout method."
}
Response (200)

The successful request returns a JSON body with a UUID for the payout method.

Copy
Copied!
{
    "payout_method_id": "636538f1-b68d-43bf-9a38-bbc8dc9d77c5",
    "payout_method": "cash",
    "description": "Cash payout method."
}

Add a bank account payout method

Add a payout method to the London instance for customers who want a bank account payout using the Create payout method.

Note

The string used for the payout_method value must be unique among payout methods.

Request
Copy
Copied!
POST /v4/config/payout_methods
Host: lon-bank.ripple.com
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlFUazFNa1V3TkVGQ04wVTNPRFl4TlRCRE0wRTROVVl6UlVJMk9UUXpNalpHUXpJM1JUbEZRZyJ9.ey
{
	"payout_method": "bank_account",
	"description": "Payout method for bank accounts."
}
Response (200)

The successful request returns a JSON body with a UUID for the payout method.

Copy
Copied!
{
    "payout_method_id": "7b3af0b2-dae9-4c87-b1be-c1f2af812427",
    "payout_method": "bank_account",
    "description": "Payout method for bank accounts."
}

Add payout method fees

Follow the steps in this tutorial to configure a fee on your RippleNet that collects value from a payment transfer when the quote requests specific payout methods:

Fee details for cash payout method

Set a fee that will be collected by an account on your instance with the following configuration details:

  • The account acts in the receiving role of transfers from other accounts on the instance.
  • Your RippleNet instance terminates the payment, acting as the final instance in the RippleNet payment.
  • The currency is in GBP.
  • The fee applies only to regular (non-return) payments.
  • The fee collected is flat value (not percentage of payment).
  • The amount of the fee is 9.50 .
  • The payout method is cash.
Request

Here is the API request for the cash payout method fee:

Copy
Copied!
POST /v4/config/fees
Host: lon-bank.ripple.com
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlFUazFNa1V3TkVGQ04wVTNPRFl4TlRCRE0wRTROVVl6UlVJMk9UUXpNalpHUXpJM1JUbEZRZyJ9.ey

{
  "currency_code": "GBP",
  "fee_type": "FLAT_RATE",
  "node_type": "TERMINAL",
  "payment_type": "REGULAR",
  "role_type": "RECEIVING",
  "value": 9.50,
  "payout_method": "cash"
}
Response (200)

The successful response indicates you set the fee for 9.50 GBP. RippleNet assigns a feeId for this fee for reference.

You can also review the details of the fee by calling Get fee by ID and passing the feeId as a path parameter.

Copy
Copied!
{
    "value": "9.50",
    "currency_code": "GBP",
    "role_type": "RECEIVING",
    "payment_type": "REGULAR",
    "node_type": "TERMINAL",
    "fee_type": "FLAT_RATE",
    "partner_name": null,
    "account_name": null,
    "upper_limit": null,
    "lower_limit": null,
    "feeId": "481d8bae-b806-4662-b3bb-6052206ea1df",
    "payout_method": "cash"
}

For more information, see the Get fee by ID operation in the API Reference.

Fee details for bank_account payout method

Set a fee that will be collected by an account on your instance with the following configuration details:

  • The account acts in the receiving role of transfers from other accounts on the instance.
  • Your RippleNet instance terminates the payment, acting as the final instance in the RippleNet payment.
  • The currency is in GBP.
  • The fee applies only to regular (non-return) payments.
  • The fee collected is flat value (not percentage of payment).
  • The amount of the fee is 5.00 .
  • The payout method is bank account.
Request

Here is the API request for the bank_account payout method fee:

Copy
Copied!
POST /v4/config/fees
Host: lon-bank.ripple.com
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlFUazFNa1V3TkVGQ04wVTNPRFl4TlRCRE0wRTROVVl6UlVJMk9UUXpNalpHUXpJM1JUbEZRZyJ9.ey

{
  "currency_code": "GBP",
  "fee_type": "FLAT_RATE",
  "node_type": "TERMINAL",
  "payment_type": "REGULAR",
  "role_type": "RECEIVING",
  "value": 5.00,
  "payout_method": "bank_account"
}
Response (200)

The successful response indicates you set the fee for 5.00 GBP. RippleNet assigns a feeId for this fee for reference.

You can also review the details of the fee by calling Get fee by ID and passing the feeId as a path parameter.

Copy
Copied!
{
    "value": "5.00",
    "currency_code": "GBP",
    "role_type": "RECEIVING",
    "payment_type": "REGULAR",
    "node_type": "TERMINAL",
    "fee_type": "FLAT_RATE",
    "partner_name": null,
    "account_name": null,
    "upper_limit": null,
    "lower_limit": null,
    "feeId": "d4a8f8eb-424a-4603-b7ef-2c705f70a220",
    "payout_method": "bank_account"
}

For more information, see the Get fee by ID operation in the API Reference.

View payout method quotes

With the cash and bank_account payout method fees set, use the Create quote collection operation to retrieve all available quotes for the following quotes:

  • The quotes for all payout methods that are enabled for a sender amount payment 500 USD.
  • The quotes for only the cash payout method for a sender amount payment of 500 USD.

Quotes for all payout methods

Pass the enable_quote_per_payout_method flag, set to true, with your request to return quotes for all payout methods that apply to the quote.

Request
Copy
Copied!
POST /v4/quote_collections/
Host: sf-bank.ripplenet.com
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlFUazFNa1V3TkVGQ04wVTNPRFl4TlRCRE0wRTROVVl6UlVJMk9UUXpNalpHUXpJM1JUbEZRZyJ9.ey

{
	"sending_address": "trans_usd_sf@g.us.ca.san_francisco",
	"receiving_address": "trans_gbp_lon@g.eu.uk.london",
	"amount": 500,
	"currency": "USD",
	"quote_type": "SENDER_AMOUNT",
	"enable_quote_per_payout_method": true
}
Response (200)

The quote collection that RippleNet returns includes quotes for both the cash and bank_account payout methods, and includes the fees for each.

Copy
Copied!
{
    "quote_collection_id": "67f96691-4b7a-4b18-b1df-f974b873b082",
    "quotes": [
        {
            "quote_id": "d10fd357-f7b7-4ea3-898d-77159a95242b",
            "created_at": "2020-02-01T06:42:06.804Z",
            "expires_at": "2020-02-01T07:42:06.804Z",
            "type": "SENDER_AMOUNT",
            "price_guarantee": "FIRM",
            "sender_address": "trans_usd_sf@g.us.ca.san_francisco",
            "receiver_address": "trans_gbp_lon@g.eu.uk.london",
            "amount": "500",
            "currency_code": "USD",
            "currency_code_filter": null,
            "service_type": null,
            "quote_elements": [
                {
                    "quote_element_id": "dc525444-55f6-400c-8656-4a12a27da800",
                    "quote_element_type": "TRANSFER",
                    "quote_element_order": "1",
                    "sender_address": "trans_usd_sf@g.us.ca.san_francisco",
                    "receiver_address": "conct_usd_sf@g.us.ca.san_francisco",
                    "sending_amount": "495.00",
                    "receiving_amount": "495.00",
                    "sending_fee": "5.00",
                    "receiving_fee": "0.00",
                    "sending_currency_code": null,
                    "receiving_currency_code": null,
                    "fx_rate": null,
                    "transfer_currency_code": "USD"
                },
                {
                    "quote_element_id": "92dbd3ac-1241-4c7b-ad4b-6cc719948d0d",
                    "quote_element_type": "EXCHANGE",
                    "quote_element_order": "2",
                    "sender_address": "conct_usd_sf@g.us.ca.san_francisco",
                    "receiver_address": "alias_gbp_sf@g.us.ca.san_francisco",
                    "sending_amount": "495.00",
                    "receiving_amount": "381.15",
                    "sending_fee": "0",
                    "receiving_fee": "0",
                    "sending_currency_code": "USD",
                    "receiving_currency_code": "GBP",
                    "fx_rate": {
                        "rate": "0.770000000",
                        "base_currency_code": "USD",
                        "counter_currency_code": "GBP",
                        "type": "buy"
                    },
                    "transfer_currency_code": null
                },
                {
                    "quote_element_id": "684f6164-524e-4596-a048-7c4acbc48298",
                    "quote_element_type": "TRANSFER",
                    "quote_element_order": "3",
                    "sender_address": "conct_gbp_sf@g.eu.uk.london",
                    "receiver_address": "trans_gbp_lon@g.eu.uk.london",
                    "sending_amount": "381.15",
                    "receiving_amount": "381.15",
                    "sending_fee": "0.00",
                    "receiving_fee": "9.50",
                    "sending_currency_code": null,
                    "receiving_currency_code": null,
                    "fx_rate": null,
                    "transfer_currency_code": "GBP"
                }
            ],
            "liquidity_warning": null,
            "payment_method": "cash"
        },
        {
            "quote_id": "d6e195e9-44a1-423a-9399-27d6ff9e732d",
            "created_at": "2020-02-01T06:42:06.852Z",
            "expires_at": "2020-02-01T07:42:06.852Z",
            "type": "SENDER_AMOUNT",
            "price_guarantee": "FIRM",
            "sender_address": "trans_usd_sf@g.us.ca.san_francisco",
            "receiver_address": "trans_gbp_lon@g.eu.uk.london",
            "amount": "500",
            "currency_code": "USD",
            "currency_code_filter": null,
            "service_type": null,
            "quote_elements": [
                {
                    "quote_element_id": "0c01266d-f6f5-4da1-bb80-11be602614d3",
                    "quote_element_type": "TRANSFER",
                    "quote_element_order": "1",
                    "sender_address": "trans_usd_sf@g.us.ca.san_francisco",
                    "receiver_address": "conct_usd_sf@g.us.ca.san_francisco",
                    "sending_amount": "495.00",
                    "receiving_amount": "495.00",
                    "sending_fee": "5.00",
                    "receiving_fee": "0.00",
                    "sending_currency_code": null,
                    "receiving_currency_code": null,
                    "fx_rate": null,
                    "transfer_currency_code": "USD"
                },
                {
                    "quote_element_id": "c70a9434-116b-435a-96cf-eee46ae4b187",
                    "quote_element_type": "EXCHANGE",
                    "quote_element_order": "2",
                    "sender_address": "conct_usd_sf@g.us.ca.san_francisco",
                    "receiver_address": "alias_gbp_sf@g.us.ca.san_francisco",
                    "sending_amount": "495.00",
                    "receiving_amount": "381.15",
                    "sending_fee": "0",
                    "receiving_fee": "0",
                    "sending_currency_code": "USD",
                    "receiving_currency_code": "GBP",
                    "fx_rate": {
                        "rate": "0.770000000",
                        "base_currency_code": "USD",
                        "counter_currency_code": "GBP",
                        "type": "buy"
                    },
                    "transfer_currency_code": null
                },
                {
                    "quote_element_id": "0b92294a-4dd6-4815-ad90-7044be80256b",
                    "quote_element_type": "TRANSFER",
                    "quote_element_order": "3",
                    "sender_address": "conct_gbp_sf@g.eu.uk.london",
                    "receiver_address": "trans_gbp_lon@g.eu.uk.london",
                    "sending_amount": "381.15",
                    "receiving_amount": "381.15",
                    "sending_fee": "0.00",
                    "receiving_fee": "5.00",
                    "sending_currency_code": null,
                    "receiving_currency_code": null,
                    "fx_rate": null,
                    "transfer_currency_code": "GBP"
                }
            ],
            "liquidity_warning": null,
            "payment_method": "bank_account"
        }
    ],
    "quote_errors": []
}

Create quote collection with cash payment method

You can now chose to request quotes for only the cash payment method.

Tip

Payout method fees must be set using the payout_method field in the Create fee operation, but when you request a quote collection, Create quote collection accepts values for the payment_method field. Notice the difference.

Request
Copy
Copied!
POST /v4/quote_collections/
Host: sf-bank.ripplenet.com
Content-Type: application/json
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlFUazFNa1V3TkVGQ04wVTNPRFl4TlRCRE0wRTROVVl6UlVJMk9UUXpNalpHUXpJM1JUbEZRZyJ9.ey

{
	"sending_address": "trans_usd_sf@g.us.ca.san_francisco",
	"receiving_address": "trans_gbp_lon@g.eu.uk.london",
	"amount": 500,
	"currency": "USD",
	"quote_type": "SENDER_AMOUNT",
	"payment_method": "cash"
}
Response (200)
Copy
Copied!
{
    "quote_collection_id": "a8a27b47-c44a-4db6-88a4-5b2abb5f8829",
    "quotes": [
        {
            "quote_id": "df86d1f1-708a-4bf2-9503-fe7b1ea9571c",
            "created_at": "2020-02-01T07:09:25.279Z",
            "expires_at": "2020-02-01T08:09:25.279Z",
            "type": "SENDER_AMOUNT",
            "price_guarantee": "FIRM",
            "sender_address": "trans_usd_sf@g.us.ca.san_francisco",
            "receiver_address": "trans_gbp_lon@g.eu.uk.london",
            "amount": "500",
            "currency_code": "USD",
            "currency_code_filter": null,
            "service_type": null,
            "quote_elements": [
                {
                    "quote_element_id": "d83f0b8f-90a4-479b-80e3-ae0110da337d",
                    "quote_element_type": "TRANSFER",
                    "quote_element_order": "1",
                    "sender_address": "trans_usd_sf@g.us.ca.san_francisco",
                    "receiver_address": "conct_usd_sf@g.us.ca.san_francisco",
                    "sending_amount": "495.00",
                    "receiving_amount": "495.00",
                    "sending_fee": "5.00",
                    "receiving_fee": "0.00",
                    "sending_currency_code": null,
                    "receiving_currency_code": null,
                    "fx_rate": null,
                    "transfer_currency_code": "USD"
                },
                {
                    "quote_element_id": "a616a17b-58a1-475f-9df8-068af34c9847",
                    "quote_element_type": "EXCHANGE",
                    "quote_element_order": "2",
                    "sender_address": "conct_usd_sf@g.us.ca.san_francisco",
                    "receiver_address": "alias_gbp_sf@g.us.ca.san_francisco",
                    "sending_amount": "495.00",
                    "receiving_amount": "381.15",
                    "sending_fee": "0",
                    "receiving_fee": "0",
                    "sending_currency_code": "USD",
                    "receiving_currency_code": "GBP",
                    "fx_rate": {
                        "rate": "0.770000000",
                        "base_currency_code": "USD",
                        "counter_currency_code": "GBP",
                        "type": "buy"
                    },
                    "transfer_currency_code": null
                },
                {
                    "quote_element_id": "172133dd-7436-4bf1-8eb2-502c4f7969bb",
                    "quote_element_type": "TRANSFER",
                    "quote_element_order": "3",
                    "sender_address": "conct_gbp_sf@g.eu.uk.london",
                    "receiver_address": "trans_gbp_lon@g.eu.uk.london",
                    "sending_amount": "381.15",
                    "receiving_amount": "381.15",
                    "sending_fee": "0.00",
                    "receiving_fee": "9.50",
                    "sending_currency_code": null,
                    "receiving_currency_code": null,
                    "fx_rate": null,
                    "transfer_currency_code": "GBP"
                }
            ],
            "liquidity_warning": null,
            "payment_method": "cash"
        }
    ],
    "quote_errors": []
}

Notice the payment method is cash, and the receiving fee is 9.50 GBP, which is the value you set for the cash payout method fee.