How To: Add Support for Interac Payout

Learn how to enable Interac e-Transfer payouts for Canadian users

Overview

Interac e-Transfer is Canada’s most popular digital money transfer service, allowing users to send and receive money instantly using just an email address or phone number. Coinflow supports Interac e-Transfer payouts for Canadian users, enabling instant CAD disbursements.

Interac payouts are only available for users who have verified their identity and are located in Canada.

Prerequisites

Before implementing Interac payouts, ensure:

  1. Your merchant account has Interac payouts enabled. Contact the Coinflow integrations team to enable this feature.
  2. Users must complete KYC verification and be Canadian residents.
  3. Users must have a valid Canadian phone number (10 digits) OR email address linked to their Interac account.

UI Implementation

If you are leveraging Coinflow’s bank authentication UI, once Interac payouts are configured on your merchant account, your Canadian customers can link an Interac account as a payout destination straight from the UI.

For Merchant Payouts: Pass the linked Interac token into the payout endpoints. This token can be retrieved from the Get Withdrawer Endpoint.

For User Custodial Payouts: This is a configuration setting on Coinflow’s end. No additional implementation is needed to support Interac payouts. Reach out to your point of contact for integrations at Coinflow to enable this feature.

API Implementation

After following your usual KYC verification flow, follow these steps to allow linking an Interac payout destination:

2

Retrieve Interac Account Details

Call the Get Withdrawer endpoint to retrieve the tokenized Interac account details.

Request
1curl --request GET \
2 --url https://api-sandbox.coinflow.cash/api/withdraw \
3 --header 'Authorization: YOUR_API_KEY' \
4 --header 'accept: application/json' \
5 --header 'x-coinflow-auth-user-id: user1234'
Response
1{
2 "withdrawer": {
3 "_id": "68aa405463dc197a7d9410cc",
4 "currency": "CAD",
5 "email": "user@example.com",
6 "verification": {
7 "status": "approved"
8 },
9 "wallets": [
10 {
11 "wallet": "user1234",
12 "blockchain": "user"
13 }
14 ],
15 "bankAccounts": [],
16 "cards": [],
17 "interac": {
18 "type": "interac",
19 "alias": "(XXX) XXX-1234",
20 "token": "a8bbb23b-8732-42b0-82d9-afad14f51453"
21 }
22 }
23}

The alias field displays a masked version of the phone number (e.g., “(XXX) XXX-1234”) or the full email address, depending on which was used to link the account.

3

Initiate Payout

Use the Payout from Delegated Settlement Wallet endpoint with the Interac token to request a payout. Funds will be sent instantly to the user’s Interac account.

Request
1curl --request POST \
2 --url https://api-sandbox.coinflow.cash/api/merchant/withdraws/payout/delegated \
3 --header 'Authorization: YOUR_API_KEY' \
4 --header 'accept: application/json' \
5 --header 'content-type: application/json' \
6 --data '
7{
8 "amount": {
9 "cents": 5000
10 },
11 "speed": "interac",
12 "account": "a8bbb23b-8732-42b0-82d9-afad14f51453",
13 "userId": "user1234",
14 "idempotencyKey": "123-abc-456-def"
15}
16'
Response
1{
2 "signature": "47pMMVtHceA8CiJwhuwM9E49Bysgaw5L5YtaBAzTiSotPy2zqBm3Eeg43KE9cnt5jdjMusfrUwEd4BPno36je1Jj"
3}

The endpoint to initiate a payout may differ depending on your payout flow:

  • BYO Wallet: Pass the Interac token to the do payout endpoint.
  • User Custodial Wallet: Pass the Interac token to the get transaction endpoint.

Interac Verification PIN

Some Canadian banks require users to enter a verification PIN when depositing Interac e-Transfers. This applies to users who do not have Interac Autodeposit enabled on their bank account.

Coinflow automatically generates and communicates the verification PIN to users. The PIN is:

  • Included in the withdrawal confirmation email sent to the user
  • Displayed in the Coinflow Merchant Dashboard for the withdrawal record

How it works

  1. When an Interac payout is initiated, Coinflow automatically retrieves the verification PIN from the payment network.
  2. The PIN is stored with the withdrawal record and included in the notification email sent to the user.
  3. When the user opens their banking app to deposit the funds, they may be prompted for a verification PIN.
  4. The user enters the PIN provided in their email to complete the deposit.

Users who have Interac Autodeposit enabled on their bank account will not be prompted for a PIN. The funds will be deposited automatically.

Retrieving the PIN

There are two ways to access the Interac verification PIN:

Option 1: Merchant Dashboard

Merchants can view the Interac verification PIN for any withdrawal in the Coinflow Merchant Dashboard. Navigate to the withdrawal details to see the PIN, which can be copied and shared with the user if needed.

Option 2: API

You can retrieve the PIN programmatically by calling the Get Withdrawal endpoint:

Request
1curl --request GET \
2 --url https://api-sandbox.coinflow.cash/api/merchant/withdraws/{withdrawalId} \
3 --header 'Authorization: YOUR_API_KEY'
Response
1{
2 "withdrawal": {
3 "withdrawer": "68aa405463dc197a7d9410cc",
4 "transferId": "chk_abc123",
5 "wallet": "user1234",
6 "blockchain": "user",
7 "transaction": "47pMMVtHceA8...",
8 "amount": {
9 "cents": 5000,
10 "currency": "CAD"
11 },
12 "status": "completed",
13 "speed": "interac",
14 "createdAt": "2024-01-15T09:30:00Z",
15 "updatedAt": "2024-01-15T09:30:00Z",
16 "pin": "7392"
17 }
18}

The pin field is only present for Interac withdrawals. For other withdrawal types, this field will not be included in the response.

Phone Number Format

When linking an Interac account with a phone number, ensure the number follows these requirements:

RequirementValid ExampleInvalid Examples
Exactly 10 digits416555123414165551234 (includes country code)
Numbers only4165551234416-555-1234 (contains dashes)
No spaces4165551234416 555 1234 (contains spaces)
No formatting4165551234(416) 555-1234 (contains parentheses)

Updating Interac Account Details

Each user can only have a single Interac account linked at a time. Users can update their linked Interac account (for example, to fix a typo or switch from phone number to email) before a successful payout has been made. Simply call the Add Interac Account endpoint again with the new phone number or email, and it will replace the existing account.

Once a successful Interac payout has been completed, the linked account is locked. If you attempt to add a different account, the original token (used for the successful payout) will be restored. This ensures payout continuity for the user.

Error Handling

Error CodeDescriptionSolution
400Withdrawer must be from CanadaInterac is only available for Canadian users. Verify the user’s country is set to CA.
422Invalid phone number formatEnsure the phone number is exactly 10 digits with no formatting.
422Must provide either phone number or emailProvide exactly one of phoneNumber or email in the request.
500Merchant not eligible for InteracContact the Coinflow integrations team to enable Interac payouts on your merchant account.

Testing

In the sandbox environment, you can test Interac payouts using any valid 10-digit phone number or email address format. The sandbox will simulate successful Interac transfers without sending actual funds.

Use test phone numbers like 4165551234 or test emails like test@example.com in the sandbox environment to verify your integration before going live.