Create GEFT Session
GEFT
Initiate Session
POST
Create GEFT Session
Create a new GEFT session and obtain a 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.
Create a GEFT Session
This endpoint creates a GEFT session and returns asessionId that your application uses to launch the GEFT user flow in the hosted iFrame.
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
Destination Account Logic
GEFT supports routing payments to different destinations:- With payee object: Funds are settled to the specified account
- Without payee object: Flinks automatically uses your client’s configured settlement account
- No payee + no settlement account configured: Request will be rejected with an error
User Identity Matching
Fields such asfirstName and lastName are used for identity matching against the external 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:
- In production, 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
When amount is provided:- Value is pre-set for the user
- End user cannot modify the amount in the payment flow
- “Enter an amount” step is displayed grayed out
- Amount cannot be updated during any later phase of the session lifecycle
- No Next Best Offer (NBO) will be created with a preset amount
- User enters amount during the payment flow
- Min/max limits (if configured) are enforced
- Next Best Offer may be presented if the requested amount cannot be guaranteed
Launching the Payment Flow
Once you have a sessionId, launch the GEFT 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 | Used for notifications |
referenceId | 100 characters | Strongly recommended for tracking |
postalCode | 6 characters | No spaces (e.g., M5V0T7) |
province | 2 characters | Provincial code (e.g., ON, QC) |
accountNumber | Between 7 and 12 characters | Numbers only |
transitNumber | 5 characters | Numbers only |
institutionCode | 3 characters | Numbers only |
Supported Province Codes
AB, BC, MB, NB, NL, NT, NS, NU, ON, PE, QC, SK, YTAccount Label Display
Control how the “To Account” line is displayed in the UI using theaccountLabel field:
accountLabelprovided: Same text shown in “To Account” sectionaccountLabelomitted, payee account present: Flinks builds label using existing logicaccountLabelomitted, no payee account: “To Account” section is hidden
Related Endpoints
- Get Session Status - Monitor payment progress
- Get Session Details - Retrieve comprehensive session information
- Cancel Session - Terminate active session
Authorizations
Bearer token obtained from /api/v1/authorize endpoint
Headers
Bearer token received from /authorize endpoint.
Pattern:
^Bearer .+Body
application/json
The payment rail for the transaction.
Available options:
EFT Payment direction relative to the target account.
Available options:
DEBIT Your internal reference ID for transaction tracking (strongly recommended).
Maximum string length:
100Example:
"USER12345"
Currency code for the payment.
Available options:
CAD Payment amount in dollars and cents. If omitted, user enters amount.
Required range:
0.01 <= x <= 99999.99Must be a multiple of 0.01Example:
500
Destination account information. If omitted, funds settle to configured default account.