Estimating Fees and Exchange Rates for Payments

When sending International Payments through Routable, there are several fees and currency conversions that contribute to the overall cost of the funds transfer. These rates change frequently as a result of the fluctuations in international currency valuations. To help you ensure that you're never taken by surprise by a fee or a currency exchange rate, we've created a pair of Rate Estimates API endpoints.

Rate Estimates for a Payable

To estimate the fees and currency exchange rate for a payment you're considering making, create a Payable request body of type=international, just as you would if you were going to Create a Payable. However, instead of POSTing this payload to /v1/payables, you'll POST it to our Rate Estimates endpoint. You'll receive a response that looks something like this:

{
	"object": "RateEstimate",
	"amount_receiver": "500.00",
	"amount_sender": "431.32",
	"country_code_receiver": "CA",
	"currency_code_receiver": "CAD",
	"currency_code_sender": "USD",
	"exchange_rate": "1.2730",
	"exchange_rate_retrieved_at": "2022-01-04T14:15:22+00:00",
	"payment_method": "international",
	"delivery_method": "international_ach",
	"fees": {
		"object": "List",
		"results": [{
				"object": "Fee",
				"amount": "0.40",
				"currency_code": "USD",
				"is_estimate": false,
				"name": "Landing Fee"
			},
			{
				"object": "Fee",
				"amount": "10.00",
				"currency_code": "USD",
				"is_estimate": true,
				"name": "Conversion Fee"
			},
			{
				"object": "Fee",
				"amount": "1.50",
				"currency_code": "USD",
				"is_estimate": false,
				"name": "Delivery Fee"
			}
		]
	}
}

Your response will contain an exchange_rate showing you the conversion rate between the sender's currency and the receiver's currency. You'll also see the amount_sender and amount_receiver, as well as a currency_code_sender and currency_code_receiver. So, whichever currency you created the Payable with will be the sender and the currency the receiver gets will be the receiver.

You'll also see an array of Fee objects. Each Fee is charged to you when the withdrawal for your payment is processed. Note that these fees are estimates, because rates can change -- although they are very unlikely to if you send the payment right away after checking the fees.

Rate Estimates without a Payable

If you don't want to create a full Payable and you're just looking for a quick conversion, say, to display on your public website to inform vendors, you can use the Currency Conversion and Rate Estimates endpoint. This endpoint also accepts a POST, but with a far simpler request body that doesn't include details like a vendor's company and account IDs.

📘

It works both ways!

In your request, you can specify either all of the sender fields OR all of the receiver fields. So, if you know you owe $100 USD to a vendor, you can pass in amount_sender = 100 and currency_code_sender = USD. But what if you know you owe a vendor 150€ EUR and you don't know how much that is in USD? No problem -- just make the request with amount_receiver = 150 and currency_code_receiver = EUR and the response will tell you the USD amount. Either way, you will also get the full listing of associated fees.

{
	"amount_receiver": "168.31",
	"country_code_receiver": "CA",
	"currency_code_receiver": "CAD",
	"payment_method": "international",
	"delivery_method": "international_ach",
  "swift_charge_option": "our"
}

The response will be formatted identically to the one displayed above.

Understanding SWIFT fees

When using the international_swift delivery option, fees are incurred from the SWIFT network. Routable users have the option to pay this entire fee themselves, or split it with their vendors, using the swift_charge_option request field. Passing our (the default) will charge the full fee to you, and passing sha will cause the fee to be shared with the vendor.

🚧

Only use this option when making international_swift Payables, as the SWIFT fee does not apply to international_ach transactions.

Learn more about these fees in our Routable Help Center.