Comment on page
Steps 1-2: Country, Currency & Amount
- 1.Using data retrieved from the
GET /countries/
API operation, the PSP can display a dropdown Countries list to the Sender via the PSP’s app or other channel. (Left and middle figure below.) - 2.The response to
GET /countries/
lists all Nexus-enabled countries and the currencies available in that country. If the Sender selects a country with more than one currency, the PSP should immediately:- 1.Display a second form element (eg
<select>
or<radio>
) that lists the currencies available (Right hand screen below.) - 2.Ask the Sender to select the currency that the Recipient expects to receive
- 3.The app should store the select country (and currency, if applicable) in memory, as it will be required when retrieving FX quotes
Sender would first select the country that the payment is going to. If more than one currency is available in that country, they would also select the currency (right pane).
This JSON gives an example of the data that the PSP's app will need to store whilst the payment is being set up, based on the examples shown. We will add to this data as we proceed through the setup phase.
// Example payment object stored in PSP's app
"payment": {
"destinationCountry": "SG", // destination country
"destinationCurrency": "SGD" // destination currency
}
On the next screen, the PSP should now generate a form that will allow the user to define either:
- The amount the Sender wishes to send (the Source Currency Amount), OR
- The amount the Sender wishes the Recipient to receive (the Destination Currency Amount)
The Sender would use their existing banking app to define either the amount they wish to send in their own currency, or the amount they wish the Recipient to receive, in the Recipient's currency.
Different IPSs have different limits on the maximum value of a transaction. The
GET /quotes/
API operation in Nexus will automatically apply these limits and reduce the Source Currency Amount or Destination Currency Amount accordingly. However, the PSP can also use client-side validation (eg setting the max
attribute of the HTML form input element) to cap the amounts that can be inputted:- The Source Currency Amount field (labelled “You send” in the example screen) can be capped to either:
- the maximum value that the PSP is willing to send, or
- the maximum value of the IPS to which the PSP is connected to. (This should be known by the Source PSP; it could alternatively be retrieved by calling
GET /ipss/{country_code}
with the country code of the PSP’s home country.)
- The Destination Currency Amount field (labelled “They receive” in the example screen) should be capped to the maximum defined in the
/IPSs/IPS/MaxAmt
element that is returned in response toGET /ipss/{country_code}
with the country code of the Destination Country.- Where the IPSs element contains two or more Destination IPSs with different MaxAmt values, use the larger amount as the
max
attribute on the form input element. Nexus will automatically calculate the maximum amount that can be sent for each specific quote depending on which IPS the FXP is a member of.
This JSON gives an example of the data that the PSP's app will need to store whilst the payment is being set up, based on the examples shown. We can now add AmtCcy and Amt:
// Example payment object stored in PSP's app
"payment": {
"destinationCountry": "SG", // destination country
"destinationCurrency": "SGD" // destination currency
"amountCurrency": "SGD" // shows that the Sender specified the Destination Currency Amount, not Source Currency Amount
"amount": 150, // value of the payment, in amountCurrency
}
Last modified 2mo ago