Interac E-Transfer Withdrawal
How do I withdraw CAD from a Cybrid fiat account via Interac E-Transfer?
Withdraw funds from a Cybrid fiat account using the instant withdrawal rail Interac E-Transfer.
AvailabilityInterac E-Transfer is only available to Canadian banks on the Cybrid Platform and can only be used to withdraw CAD from CAD-based
fiataccounts.
Prerequisites
Before you begin, ensure you have:
- a customer already created and verified;
- the customer's identity record populated with an email address or phone number — the e-transfer is routed to the recipient using this contact information;
- a
CADfiataccount with sufficient funds for the customer; and, - a security question and answer that the recipient will be required to answer to claim the funds.
Overview
The e-transfer withdrawal process involves four main steps:
- Create a
fundingquote with thepayment_railset to etransfer - Execute a
transferwith thepayment_railset to etransfer and asecurity_question/security_answerpair - Wait for the
transferto transition to thecompletedstate - Handle any terminal
failedstates
Step 1: Create a funding quote
funding quoteCreate a quote via POST /api/quotes. The payment_rail field is required on the quote for
e-transfer withdrawals.
{
"product_type": "funding",
"customer_guid": "customer_guid",
"asset": "CAD",
"side": "withdrawal",
"payment_rail": "etransfer",
"deliver_amount": 10000
}
Nodestination_account_guidrequiredUnlike EFT withdrawals, Interac E-Transfer withdrawals do not take a
destination_account_guid. The recipient is resolved at transfer time using the customer's email or phone, not via an external bank account.
Step 2: Execute the transfer
transferCreate the transfer via POST /api/transfers with transfer_type set to funding and payment_rail
set to etransfer. The quote_guid is the guid from the quote created in Step 1.
Both security_question (max 40 characters) and security_answer (max 25 characters) are
required for e-transfer withdrawals. The recipient must answer the question correctly to claim
the funds.
Do not include external_bank_account_guid — it is not used on the e-transfer rail.
{
"quote_guid": "quote_guid",
"transfer_type": "funding",
"payment_rail": "etransfer",
"security_question": "What city were we in?",
"security_answer": "Toronto",
"source_participants": [
{
"type": "customer",
"guid": "customer_guid",
"amount": 10000
}
],
"destination_participants": [
{
"type": "customer",
"guid": "customer_guid",
"amount": 10000
}
]
}Step 3: Wait for the transfer to transition to the completed state
transfer to transition to the completed stateAfter the transfer is created, wait for it to transition to completed. Once completed, the funds
have been sent to the recipient and debited from the customer's fiat account.
Poll the transfer via GET /api/transfers/{transfer_guid} to check the state, or register for
webhooks. The transfer_guid is the guid from the transfer created in Step 2.
Step 4: Handle terminal failures
An e-transfer withdrawal can transition to failed for several reasons. Inspect the failure_code
field on the transfer to determine the cause:
customer_contact_info_missing-- The customer's identity has no email or phone populated. Add an email or phone to the customer's identity and create a new transfer to retry.payment_request_expired-- The recipient did not claim the e-transfer before it expired.cancelled-- The recipient declined the e-transfer.
Other failure_code values may apply. See the
Cybrid Bank API reference for the full set.
Updated about 1 hour ago
