Initiate Session
Create a new EFT session and obtain a sessionId for launching the user payment flow.
For regular EFT, set type to EFT and options.guarantee.enable to false.
Funds settle to your client’s configured bank account — payee is not supported for EFT.
Requires the RegularEft feature to be enabled on your client (otherwise 403).
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 EFT Session
This endpoint creates a session on the Regular EFT path and returns asessionId that your application uses to launch the hosted Flinks Pay flow — either by redirecting the user to the app URL or loading it in an iframe.
Set type to EFT and options.guarantee.enable to false. Funds settle to your client’s configured bank account, so payee is not supported for EFT.
Authentication Requirements
- You must authenticate and obtain a valid
access_tokenfrom the /Authorize endpoint. - Create the session while the token is still valid (599 seconds). If it expires, re-authenticate and call this endpoint again.
- Your client must have the RegularEft feature enabled. If it is not, the request returns
403 Forbidden.
User Identity Matching
firstName and lastName 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 return an error (EFT0403) and the transaction will not be processed.
Reference ID Best Practices
WhilereferenceId is not mandatory, it is strongly recommended:
- It should uniquely identify the end user or transaction in your system.
- It appears in responses and reconciliation files for easy matching.
- For EFT it flows through as the cross-reference number, so it must be 1–36 alphanumeric characters or hyphens.
Amount Handling
- When
amountis provided — the value is pre-set and the user cannot modify it in the flow. It must fall within your client’s configured minimum/maximum EFT amount. - When
amountis omitted — the user enters the amount during the hosted flow.
Payor Address
payor.address is optional for regular EFT. If you include it, address line 1, city, province, postal code, and country are required. (An address is only mandatory for Guaranteed EFT.)
Launching the Payment Flow
Once you have asessionId, launch the user flow by directing users to:
Request Example
Response
Field Specifications
Character Limits
| Field | Limit | Notes |
|---|---|---|
firstName, lastName | 100 characters | Required for identity matching |
email | 100 characters | Required; used for notifications |
referenceId | 1–36 characters | Alphanumeric and hyphens only |
postalCode | 6 characters | No spaces (e.g., M5H2N2) |
province | 2 characters | Provincial code (e.g., ON, QC) |
country | 2 characters | Only CA supported |
Supported Province Codes
AB, BC, MB, NB, NL, NT, NS, NU, ON, PE, QC, SK, YTRelated Endpoints
- Get Session Details — retrieve comprehensive session information
- Cancel Session — terminate an active session
Authorizations
Bearer token obtained from the /api/v1/authorize endpoint.
Headers
Bearer token received from the /authorize endpoint.
^Bearer .+Body
The payment rail. Must be EFT for this API.
EFT "EFT"
Payment direction. Only DEBIT is supported for EFT.
DEBIT "DEBIT"
The end user being debited. firstName, lastName, and email are required for regular
EFT. address is optional for regular EFT (it is required only when a guarantee is enabled).
Currency code. Only CAD is supported (defaults to CAD if omitted).
CAD "CAD"
Payment amount, up to 2 decimal places. Optional — if omitted, the user enters the amount in the hosted flow. When provided, it must fall within the client's configured minimum/maximum EFT amount.
x >= 0.01100
Your internal reference identifier (strongly recommended). 1–36 alphanumeric characters or hyphens. Flows through as the EFT cross-reference number and appears in reconciliation files.
36^[a-zA-Z0-9\-]{1,36}$"USER12345"