Interac E-Transfer Deposit

How do I fund an account via Interac E-Transfer in my Canadian bank?

This guide walks you through the process of depositing funds to a Cybrid fiat account using the instant deposit rail Interac E-Transfer.

👍

Interact E-Transfer is only available to Canadian banks on the Cybrid Platform and can only be used to deposit CAD to CAD-based fiat accounts

Prerequisites

Before you begin, ensure you have:

  • Customer already created and verified
  • A CAD fiat account created for the customer

Overview

The e-transfer deposit process involves five main steps:

  1. Create a funding quote
  2. Execute a transfer with the payment_rail set to etransfer
  3. Display the gateway_url on the resulting transfer to your customer and instruct them to authorize the payment
  4. Wait for your customer to authorize the payment and the transfer to transition to the completed state

Step 1: Create a funding quote

First you are required to create a quote via the POST /api/quotes endpoint. An example payload that you can pass to this API follows:

{
  "product_type": "funding",
  "customer_guid": "your-customer-guid",
  "asset": "CAD",
  "side": "deposit",
  "receive_amount": 10000
}

Step 2: Execute the transfer

Next, create the transfer by executing a POST /api/transfers API call with a transfer_type of funding and set the payment_rail to etransfer. Note the quote_guid in the payload is the guid from the quote you created in the previous step.

{
  "quote_guid": "your-quote-guid",
  "transfer_type": "funding",
  "payment_rail": "etransfer"
}

Step 3: Display the gateway_url to your customer and instruct them to authorize the payment

Next, you'll need to wait for the transfer to transition to the pending state. Once in the pending state you can read the gateway_url from the identifiers array on the transfer. The type of the identifier will be gateway_url and the value of the identifier will be the URL that you will need to display to your customer.

You can display the gateway_url to your customer in any manner that you would like: e.g., you can display it in your application, send it to them via email or SMS, etc.

👍

You can either poll the transfer vie the GET /api/transfers/transfer_guid API to determine when its state is pending or you can register for webhooks. The transfer_guid is the guid on the transfer you created in Step 2

Step 4: Wait for the transfer to transition to the completed state

After you've displayed the gatway_url to your customer you must wait for the transfer to transition to the completed state. Once in the completed state the associated funds are available on the platform to your customer.

Error handling

E-transfer request URLs if not authorized by your customer will expire. They can can also be rejected by your customer as well. In both cases, the transfer will transition to the failed state. If the request expires you'll see a failure_code of payment_request_expired and if it's been rejected you'll see a failure_code of cancelled.