Offers

This resource is only relevant for 529 Payments.

List of endpoints

Description Endpoint

Getting a List of Offers

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.

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

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

GET/offers

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

offers object

payment_method object

Contains information about the payment method of this offer.

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.

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.

{
  "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":[]
    }
  ]
}