E-transfer
Initiate Session
POST
Create a new Interac e-Transfer session and obtain a
If
sessionId for launching the user payment flow.
To successfully call this endpoint, you must first call the /Authorize endpoint to obtain a valid access token.
Initiate an e-Transfer Session
This endpoint creates an e-Transfer (Request For Money) session and returns asessionId that your application uses to launch the hosted user flow—either by redirecting the user to the app URL, loading it in an iframe, or letting Flinks deliver an Interac link by email.
Authentication Requirements
- You must authenticate and obtain a valid
access_token - Create the session while the token is still valid (599 seconds)
- If the token expires, re-authenticate and call this endpoint again
User Identity Matching
ThefirstName, lastName, and (optionally) middleName fields are used for identity matching against the payor’s bank account. They must accurately reflect the person who owns the external account expected to make the payment.
Critical: If the provided name differs significantly from the name on the linked bank account, the session will fail and the transaction will not be processed.
Reference ID Best Practices
WhilereferenceId is not mandatory, it is strongly recommended:
- In production, it should uniquely identify the end user or transaction in your system
- Appears in responses and reconciliation files for easy matching
- Makes support requests much easier to resolve
- Used in sandbox to trigger specific test scenarios
Amount Handling
Whenamount is provided
- Value is pre-set for the user
- End user cannot modify the amount in the payment flow
- Amount cannot be updated during any later phase of the session lifecycle
Notification Preferences
Useoptions.notificationPreferences to control how the end user is notified:
sendInteracLink— whentrue, Flinks sends the Interac e-Transfer request link directly topayor.email. Whenfalse(or omitted), you are responsible for distributing the hosted app URL yourself.
Payor and Payee
payor— required. Identifies the end user requested to pay. At minimum, includefirstName,lastName, andemail.payee— optional for e-Transfer. When omitted, funds are sent to your configured default settlement account.
Payee Account (Optional)
Thepayee.account object lets you specify which destination account should receive the funds:
- When
payee.accountis provided — funds are routed to the account you specify (institutionCode,transitNumber,accountNumber). Use this when you need per-session routing (for example, settling to different merchant accounts). - When
payee.accountis omitted — Flinks falls back to the default client bank account configured during onboarding. If no default account is configured on your client, the request is rejected.
Launching the Payment Flow
Once you have asessionId, launch the user flow by directing users to:
sendInteracLink is true, Flinks will email the link directly to the payor.
Response
Field Specifications
Character Limits
| Field | Limit | Notes |
|---|---|---|
firstName, lastName, middleName | 100 characters | Required for identity matching |
email | 100 characters | Used for notifications and link delivery |
referenceId | 100 characters | Strongly recommended for tracking |
accountNumber | 7–12 characters | Numbers only |
transitNumber | 5 characters | Numbers only |
institutionCode | 3 characters | Numbers only |
Related Endpoints
- Session Details — retrieve full session information
- /Authorize — obtain an access token