Send CAD payouts via Interac e-Transfer
Verify a recipient’s Interac Autodeposit status and send CAD payouts from your CAD balance or another supported currency.
Use Fincra to send Canadian dollars directly to a recipient’s Canadian bank account through Interac e-Transfer.
The recipient is identified using the email address registered for Interac Autodeposit. You do not need their bank account number.
This guide explains how to:
- Verify that the recipient has Interac Autodeposit enabled.
- Send CAD from your CAD wallet.
- Send CAD from another supported currency, such as KES.
- Track the payout until it succeeds or fails.
flowchart TD
A["Collect recipient's<br/>Interac email"] --> B["Verify email and<br/>Autodeposit status"]
B --> C{"Autodeposit<br/>enabled?"}
C -->|Enabled| D["Generate a quote<br/>if currencies differ"]
C -->|Disabled| E["Stop and ask the recipient<br/>to enable Autodeposit"]
D --> F["Create the payout"]
F --> G["Track the payout<br/>using webhooks"]
The number of API calls depends on the source currency:
| Payout | Required API calls |
|---|---|
| CAD → CAD | Resolve recipient, then create payout |
| KES → CAD | Resolve recipient, generate quote, then create payout |
Before you begin
You need:
- Your Fincra API credentials.
- Your Fincra business ID.
- Access to CAD payouts through Interac.
- A funded wallet for the source currency.
- The recipient’s Interac email address.
- The recipient’s legal account name.
- A webhook URL configured to receive payout updates.
Step 1: Verify the recipient’s Interac email
Call the account-resolution endpoint before creating the payout.
This checks whether the email is registered for Interac Autodeposit and returns the name attached to the registered bank account.
POST /accounts/resolve
Request
{
"currency": "CAD",
"type": "interac_etransfer",
"interacEmail": "[email protected]"
}The currency must be CAD, and interacEmail must be a valid email address.
Autodeposit enabled
A successful response with autoDepositEnabled: true means the recipient can receive the payout automatically.
{
"data": {
"email": "[email protected]",
"accountName": "John Barret",
"autoDepositEnabled": true
},
"message": "Account resolve successful"
}For example, if you send CAD 100 to [email protected], the money will be deposited into the Canadian bank account linked to that email.
Before continuing, show the returned accountName to your user and ask them to confirm that it belongs to the intended recipient.
Use the returned name as beneficiary.accountHolderName when creating the payout.
Autodeposit disabled
The resolution request may succeed while returning autoDepositEnabled: false.
{
"data": {
"email": "[email protected]",
"accountName": null,
"autoDepositEnabled": false
},
"message": "Account resolve successful"
}This is not an API error. It means the email is not currently registered for Interac Autodeposit. Ask the recipient to enable Interac Autodeposit for that email and verify it again before continuing.
Step 2: Generate a quote for a cross-currency payout
Skip this step when both the source and destination currencies are CAD.
When the source currency differs from CAD, generate a quote before creating the payout. The quote calculates the conversion rate, applicable fee, source amount and CAD amount the
recipient will receive.
For example, generate a quote when funding the CAD payout from a KES wallet.
POST /quotes/generate
Request
{
"business": "{{businessID}}",
"sourceCurrency": "KES",
"destinationCurrency": "CAD",
"amount": 10000,
"action": "send",
"transactionType": "disbursement",
"paymentDestination": "bank_account",
"paymentScheme": "interac",
"beneficiaryType": "individual"
}Because the action is send, the amount represents the amount being sent from the source wallet. In this example, the merchant wants to fund the payout with KES 10,000.
Response
The exact converted amounts and rate will depend on the quote generated at request time.
{
"data": {
"sourceCurrency": "KES",
"destinationCurrency": "CAD",
"sourceAmount": 10000,
"destinationAmount": 100,
"amountToCharge": 10000,
"amountToReceive": 100,
"rate": 0.01,
"fee": 0,
"reference": "b862026b-c15c-46b1-b1d4-f584f80b53ea",
"expireAt": "2026-09-13T21:30:00.000Z"
},
"message": "Quote generated successfully"
}The amounts above are illustrative.
Store data.reference. You will pass it as quoteReference when creating the payout.
The following values must agree with the generated quote:
- sourceCurrency
- destinationCurrency
- amount
- quoteReference
The payout amount must equal the quote’s sourceAmount. You must generate another quote if the existing quote expires or the payout amount changes.
Step 3: Create the payout
After confirming that Autodeposit is enabled, create the payout.
POST /disbursements/payouts
Use:
- CAD as the destination currency.
bank_accountas the payment destination.interacas the payment scheme.CAas the beneficiary country.- The verified email as
beneficiary.interacEmail. - The resolved recipient name as
beneficiary.accountHolderName.
The amount must be a JSON number, not a string.
Send CAD from a CAD wallet
A same-currency payout does not require a quote.
{
"business": "{{businessID}}",
"sourceCurrency": "CAD",
"destinationCurrency": "CAD",
"amount": 100,
"description": "CAD payout via Interac",
"paymentDestination": "bank_account",
"paymentScheme": "interac",
"customerReference": "cad-interac-001",
"beneficiary": {
"firstName": "John",
"accountHolderName": "John Barret",
"interacEmail": "[email protected]",
"type": "individual",
"country": "CA"
}
}In this example, CAD 100 is funded from the merchant’s CAD wallet and sent to the bank account registered to [email protected].
Send CAD from a KES wallet
A cross-currency payout must include the reference returned by the quote endpoint.
{
"business": "{{businessID}}",
"sourceCurrency": "KES",
"destinationCurrency": "CAD",
"amount": 10000,
"quoteReference": "b862026b-c15c-46b1-b1d4-f584f80b53ea",
"description": "KES to CAD payout via Interac",
"paymentDestination": "bank_account",
"paymentScheme": "interac",
"customerReference": "kes-cad-interac-001",
"beneficiary": {
"firstName": "John",
"accountHolderName": "John Barret",
"interacEmail": "[email protected]",
"type": "individual",
"country": "CA"
}
}Here, amount is KES 10,000 because KES is the source currency. It must match the quote’s sourceAmount.
Important fields
| Field | Description |
|---|---|
business | Your 24-character Fincra business ID. |
sourceCurrency | Currency of the wallet funding the payout. |
destinationCurrency | Must be CAD. |
amount | Amount in the source currency, supplied as a JSON number. |
quoteReference | Required when the source currency is not CAD. |
description | A non-empty description of the payout. |
customerReference | Your unique reference for identifying and reconciling the payout. |
paymentDestination | Must be bank_account. |
paymentScheme | Must be interac. |
beneficiary.country | Must be CA. |
beneficiary.interacEmail | Recipient’s verified Interac email. |
beneficiary.accountHolderName | Name returned or confirmed during account resolution. |
Step 4: Handle the payout response
A successful request means Fincra has accepted the payout for processing. It does not necessarily mean the recipient has already received the money.
A response can look like this:
{
"data": {
"id": 12345,
"reference": "FPY-8E74262E",
"customerReference": "cad-interac-001",
"status": "processing",
"message": null,
"isDocumentRequired": false,
"documentsRequired": []
},
"message": "Payout initiated successfully."
}Store both references:
- reference is the Fincra-generated payout reference.
- customerReference is the reference supplied by your application.
Use these references when reconciling the payout, investigating an issue or matching webhook events to your internal transaction.
Step 5: Track the final payout status
Payout processing is asynchronous. Use payout webhooks to determine whether the transfer eventually succeeds or fails.
A successful payout produces:
payout.successful
A failed payout produces:
payout.failed
A webhook contains the Fincra reference, your customer reference, the recipient, currencies, amounts, payment scheme and final status.
Example successful webhook excerpt:
{
"event": "payout.successful",
"data": {
"id": 12345,
"reference": "FPY-8E74262E",
"customerReference": "cad-interac-001",
"sourceCurrency": "CAD",
"destinationCurrency": "CAD",
"status": "successful",
"amountCharged": 100,
"amountReceived": 100,
"paymentScheme": "interac",
"paymentDestination": "bank_account",
"recipient": {
"name": "John Barret",
"type": "individual",
"interacEmail": "[email protected]"
}
}
}Common integration errors
Autodeposit is disabled
The resolution request succeeds, but autoDepositEnabled is false.
Stop the flow and ask the recipient to enable Autodeposit before trying again.
The quote reference is missing
This happens when you create a cross-currency payout without first generating a quote.
Generate a new quote and include its reference as quoteReference.
The quote amount does not match the payout amount
The payout amount must equal the quote’s sourceAmount.
Generate a new quote if the source amount changes.
The quote has expired
Generate another quote and use its new reference.
The beneficiary country is missing or incorrect
Use:
"country": "CA"
The Interac email is missing or invalid
Supply the same valid email address that passed the account-resolution check.
Next steps
For complete request fields, response schemas and error definitions, see:
- Resolve an Interac recipient
- Generate a quote
- Create a payout
- Retrieve a payout
- Payout webhook events
Updated about 5 hours ago

