Skip to main content
POST
cURL
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 a sessionId 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
Flinks records the resolved destination account in the session so each transaction remains fully traceable.

User Identity Matching

Fields such as firstName 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

While referenceId 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, but 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
When amount is omitted:
  • 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

Supported Province Codes

AB, BC, MB, NB, NL, NT, NS, NU, ON, PE, QC, SK, YT

Account Label Display

Control how the “To Account” line is displayed in the UI using the accountLabel field:
  1. accountLabel provided: Same text shown in “To Account” section
  2. accountLabel omitted, payee account present: Flinks builds label using existing logic
  3. accountLabel omitted, no payee account: “To Account” section is hidden

Headers

x-client-id
string

Body

application/json
referenceId
string | null
type
enum<string>
default:EFT
Available options:
EFT,
e-Transfer
direction
enum<string>
default:DEBIT
Available options:
DEBIT,
CREDIT
currency
enum<string>
Available options:
CAD
amount
number<decimal> | null
options
object
payor
object
payee
object

Response

Created

sessionId
string<uuid>
referenceId
string | null