- 27 Mar 2024
- Print
- PDF
International remittance
- Updated on 27 Mar 2024
- Print
- PDF
SyncteraPay - International remittance
Background
Many of our FinTechs have existing relationships with Third Party payments providers to send and receive international remittances. For example, more mature FinTechs that already have a relationship with TransferWise or correspondent banks JPMC… and these fintechs would like to use their Synctera accounts and the ledger to process payments through these third parties.
To enable this, the SyncteraPay product allows FinTechs to process payments with their Third Party payments providers and as a result, the payment is stored in the Synctera Ledger with all the relevant payment information (network reference ID, sender, recipient, FX conversion, ect…)
All of this information is needed for compliance and account statements.
SyncteraPay Outbound International remittance (Send):
Allows FinTech to Send international remittances to an external account via a Third Party Payments provider (i.e TransferWise). As a result, the FinTech account is debited with the transaction amount and credited to a SyncteraPay Settlement account of choice (configurable per FinTech and use for daily settlement). The Synctera Implementation team creates the settlement account for the FinTech.
The Outbound International remittances flow works as follows:
- Prerequisite: Add the transaction final recipient as a ‘non-customer’ with name and address and add external account for the ‘non-customer’
- The FinTech calls/connect with the Third Party payments provider to initiate transfer and receive FX rate conversion for international remittance.
- Perform SyncteraPay authorization: (POST /v1/synctera_pay)
As a result:
- An authorization debiting the fintech customer account is created. The authorization means that the account can transact and fraud, OFAC and limits checks have passed.
- The FinTech customer is debited in USD
- The FinTech then can call their third party provider in parallel and confirm the transfer
- After the transfer is confirmed with the third party provider the transaction in the Synctera platform is patched with the external network reference ID, transaction info and vendor info.
- At this point the transaction is considered confirmed by the FinTech and third party
- As a final step, the FinTech confirms the transfer in the Synctera Ledger and adds the required transaction data (i.e external network reference ID) (PATCH /v1/synctera_pay/{id})
Step 1: Transaction Authorization
Create a transaction authorization to hold available funds
JSON
`// request
{
"amount": 10000,
"currency": "USD",
"dc_sign": "DEBIT",
"effective_date": "2022-03-18",
"customer_id": "46fec39e-e776-4571-bf90-d0e1d15172fe",
"account_id": "b01db9c7-78f2-4a99-8aca-1231d32f9b96",
"direction": "OUTGOING",
"synctera_pay_network": "WISE",
"subtype": "OUTGOING_INTERNATIONAL_REMITTANCE",
"synctera_pay_vendor_id": "7d943c51-e4ff-4e57-9558-08cab6b963c7"
}
// response
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"amount": 10000,
"currency": "USD",
"dc_sign": "DEBIT",
"effective_date": "2022-03-18",
"customer_id": "46fec39e-e776-4571-bf90-d0e1d15172fe",
"destination_account_id": "fccb4a46-1261-4e91-b622-73b5b946183d",
"originating_account_id": "b01db9c7-78f2-4a99-8aca-1231d32f9b96",
"direction": "OUTGOING",
"synctera_pay_network": "WISE",
"subtype": "OUTGOING_INTERNATIONAL_REMITTANCE",
"synctera_pay_vendor_id": "7d943c51-e4ff-4e57-9558-08cab6b963c7",
"status": "PENDING",
"transaction_id": "45b5246f-ad97-4629-9aac-465b74a05505",
"reference_id": "d8536d12-4780-4de6-b6b0-638638985f2c",
"failed": false,
"suspended": false
}`
If successful, this means that the transaction has passed all the checks and balances, and can be committed with the third-party provider.
Step 2: Transaction Posted
Update the status to POSTED once funds are verified to post the hold
JSON
`// request
{
"status": "POSTED",
"exchange_details": {
"source_currency": "USD",
"target_currency": "GBP",
"source_amount": 10000,
"target_amount": 10000,
"rate": "1.30445",
"fees": [
{
"fee_type": "FX",
"description": "string",
"amount": 0,
"percentage": "string",
"currency": "string"
}
// response
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"amount": 10000,
"currency": "USD",
"dc_sign": "DEBIT",
"effective_date": "2022-03-18",
"posting_date": "2022-03-19",
"customer_id": "46fec39e-e776-4571-bf90-d0e1d15172fe",
"destination_account_id": "fccb4a46-1261-4e91-b622-73b5b946183d",
"originating_account_id": "b01db9c7-78f2-4a99-8aca-1231d32f9b96",
"direction": "OUTGOING",
"synctera_pay_network": "WISE",
"subtype": "OUTGOING_INTERNATIONAL_REMITTANCE",
"synctera_pay_vendor_id": "7d943c51-e4ff-4e57-9558-08cab6b963c7",
"status": "POSTED",
"network_status": "POSTED",
"transaction_id": "45b5246f-ad97-4629-9aac-465b74a05505",
"reference_id": "d8536d12-4780-4de6-b6b0-638638985f2c",
"failed": false,
"suspended": false,
"exchange_details": {
"source_currency": "USD",
"target_currency": "GBP",
"source_amount": 10000,
"target_amount": 10000,
"rate": "1.30445",
"fees": [
{
"fee_type": "FX",
"description": "string",
"amount": 0,
"percentage": "string",
"currency": "string"
}
If successful, the third-party provider has processed the transaction, and it can now be posted to the customer's account. At this stage, the FinTech should include the transaction reference ID provided by the third-party provider for future transaction reconciliation.
International Remittance required data
The following data is required from the FinTech in order to comply with the international remittances reporting, reconciliation and compliance oversight.
field name | example |
---|---|
synctera_pay_network | WISE |
source_currency | USD |
target_currency | GDP |
source_amount | 10000 |
target_amount | 17899 |
rate | 1.30445 |
fee_type | FX |
description | string |
amount | 0 |
percentage | string |
currency | string |
reference_id | d8536d12-4780-4de6-b6b0-638638985f2c |
Note: The reference_id is the third party provider transaction ID that is used for reconciliation