Offers
List of endpoints
Description | Endpoint |
---|---|
GET/offers
|
What is an offer?
An offer is the price for an available payment method (credit card, bank transfer, etc.) for a payment.
Example: The payer needs to pay 5,000 USD for tuition, one of the offers is "Pay 4,300 CNY via Bank Transfer". The offer tells the payer what they have to pay, including FX rates and fees if those apply.
The amount to pay (price) in offers can change due to FX rates. The final amount is only "locked in" when you create a payment from the order.

If a payment is done in two different currencies, the amount your payer pays depends on the current FX rate. Since FX rates frequently change, the amount to pay can change too.
The amount to pay for an offer (given in the price parameter) is the amount at the time you requested the offer. It can change at any moment, even if the offer is used for an order.
The offers that are available for a payment depends on a combination of the following factors:
-
The chosen recipient.
-
The country or countries involved in the payment (for example, paying from China to the US).
-
The amount of money being paid.
An offer can also contain additional information needed from the payer to process the payment.
Getting a List of Offers
Request
When you're getting a list of offers with, Flywire will return all the offers available for the combination of recipient, amount to pay, and country of the payer.
Do not re-use offer IDs for different payments.
You need to get an offer each time you want to create a payment. The offer ID depends on the provided amount, country and currency, so different IDs will be generated for the same payment method.
Parameters for the Request Body
No request body is needed.
Required Query Parameters

The amount to pay. It must be greater than 0.
You need to provide the amount in your billing currency.
The billing currency is the currency in which the recipient of the payment is billing their payer. The billing currency depends on the
The amount is specified in the smallest unit of the currency, called subunits. For example, in USD, the subunit is cents, and 100 cents equal 1 USD. So, an amount of 12025 (cents) is equivalent to 120.25 USD.
Note that the subunit-to-unit ratio varies by currency, it is not always 100. See Currencies for the subunits of each currency.

The country code (in ISO 3166-1 alpha-2 format) of the payer's country (meaning the country the money will be sent from).

The recipient ID (also called portal code).
The recipient ID is the unique three-letter ID that identifies the recipient, for example FWU for Flywire University. The recipient ID has been assigned by Flywire when the recipient has been set up.

You can use this request to get a list of all recipients that are available to you as a client and what their recipient ID is:
For details see Getting a List of all available Recipients.
Optional Query Parameters for Pagination
This endpoint supports pagination. If you are not providing any pagination parameters, the response is returned with default pagination settings.
Pagination parameters are added as query parameters with the request in the format
{endpoint_path}?page=2&per_page=10

The default setting is:
-
page=1 (start on page 1)
-
per_page=10 (display 10 entries per page)

Enables you to access a specific page of the results.
Possible values: Any positive number except zero.

Enables you to define how many results will be included per page.
Possible values: min 1
, max 100
curl https://base-url-placeholder/offers?amount=12000&country=US&recipient=FWU&page=1&per_page=10
-X GET
-H "Content-Type: application/json"
-H "X-Authentication-Key: {api_key}"
Response
Parameters for pagination

The total number of items in the full result list, not just of the current page.

The total number of pages available.

The current page of the results.

The maximum number of results to return at one time (on one page).
offers object

The offer ID.
The offer ID is a string of characters that uniquely identifies a specific offer.
Example format: MTAxMSEgcHXfY8Fua499cmFuc2Zlcl9l7XigRWM
payment_method object
Contains information about the payment method of this offer.

Identifier of the payment method associated with this offer.

The name of the payment method associated with this offer.

The payment method type.
Possible values:
bank_transfer |
Payment is done via bank transfer. |
online |
Payment is done via an alternative payment method (APM), through a third-party provider. |
card |
Payment is done via credit or debit card. You'll get additional information about the type of card in the parameter card_classification (either credit or debit). |
direct_debit |
Payment is done via direct debit. |
529_payments |
Payment is done via a 529 provider. |

Description of the payment method of this offer.

Only returned in specific cases.
Extra terms configured for this payment method in that specific country.
price object
Contains the amount of money the payer has to send if this offer is selected.
The amount to pay (price) in offers can change due to FX rates. The final amount is only "locked in" when you create a payment from the order.

If a payment is done in two different currencies, the amount your payer pays depends on the current FX rate. Since FX rates frequently change, the amount to pay can change too.
The amount to pay for an offer (given in the price parameter) is the amount at the time you requested the offer. It can change at any moment, even if the offer is used for an order.

The amount in the payer currency.
The amount to pay (price) in offers can change due to FX rates. The final amount is only "locked in" when you create a payment from the order.

If a payment is done in two different currencies, the amount your payer pays depends on the current FX rate. Since FX rates frequently change, the amount to pay can change too.
The amount to pay for an offer (given in the price parameter) is the amount at the time you requested the offer. It can change at any moment, even if the offer is used for an order.
The amount is specified in the smallest unit of the currency, called subunits. For example, in USD, the subunit is cents, and 100 cents equal 1 USD. So, an amount of 12025 (cents) is equivalent to 120.25 USD.
Note that the subunit-to-unit ratio varies by currency, it is not always 100. See Currencies for the subunits of each currency.

The payer currency in ISO 4217 format.


Amount of Flywire fees that are being applied to this offer.

Flywire exchange rate of the offer used to calculate the price if conversion needed.
fields array
Some countries' regulations require extra fields in order to process a payment depending on the selected offer. If an offer contains any extra fields, they are required fields.

-
Paying in China with certain methods requires the payer to provide their Chinese identification number and exact name that appears on the ID.
-
Paying in India with certain methods requires the payer to provide their PAN number and source of funds.
-
Paying in Brazil with certain methods requires the payer to provide their CPF number (Cadastro de Pessoas Físicas or Natural Persons Register).

Identifier of the field.

The value for this field.
{
"total_entries": 1,
"total_pages": 1,
"page": 1,
"per_page": 10,
"offers": [
{
"id": "MXZwMDAyHHUSE9PVF9POlIgS33j",
"payment_method": {
"id": "529_provider",
"name": "Domestic USD 529 payment",
"kind": "529_payment"
},
"description": "529 payment with specific provider",
"extra_terms": null,
"price": {
"value": 1200000,
"currency": "USD"
},
"fees": 0,
"exchange_rate": 1,
"fields":[]
}
]
}