Skip to main content
The GEFT (Guaranteed Electronic Funds Transfer) API provides enterprise-grade payment processing with guaranteed settlement for EFT transactions. This API reference covers all endpoints needed to integrate GEFT payments.

Base URLs

Production: {{BaseUri}} Sandbox: {{BaseUri}}

Authentication

All GEFT API requests use OAuth 2.0 Client Credentials flow:
  1. Authenticate with Basic auth using Client ID and Secret
  2. Receive Bearer token valid for 599 seconds (10 minutes)
  3. Use Bearer token for all subsequent API calls
  4. Refresh token before expiration

API Endpoints

Authentication

Session Management

Quick Start

1. Authenticate

2. Create Session

3. Launch User Flow

4. Monitor the Session

Session Object

Status Codes

Session Status Values

Status Meanings

EFT0101 - Session Created: A SessionId has been created and Flinks is awaiting for the user to start the session. EFT0301 - Transaction Scheduled: The user has successfully completed the session and a transaction schedule has been instructed. User is fully complete - transaction information can be checked for status of the schedule. This relates to an EFT transaction being instructed. EFT0302 - Bank Account Validated: The user has successfully validated their account (if required) - however, Flinks is awaiting the user to sign the PAD. EFT0401 - Login Failed: The user was not able to successfully login to their Financial Institution (received an invalid login). EFT0402 - Eligibility Failed: The user was not offered a Guaranteed EFT because of their account information (for example NSF or overall risk). Refer to reconciliation or the /Guarantees endpoint for more information. EFT0403 - Identity Failed: Invalid user information from their Financial Institution did not match provided user information, hence the session has failed. EFT0501 - Session Canceled: A call to the /Sessions/Cancel endpoint was made with the associated SessionId. EFT0601 - Session Timed Out: The sessionId timed-out before the user completed the session.

Field Specifications

Character Limits

Validation Rules

Amount:
  • Maximum: $99,999.99 (default)
  • Minimum: Client-configurable
  • Decimal places: Up to 2
Currency:
  • Only “CAD” supported
Province Codes:
  • AB (Alberta), BC (British Columbia), MB (Manitoba)
  • NB (New Brunswick), NL (Newfoundland and Labrador)
  • NT (Northwest Territories), NS (Nova Scotia), NU (Nunavut)
  • ON (Ontario), PE (Prince Edward Island), QC (Quebec)
  • SK (Saskatchewan), YT (Yukon)
Phone Numbers:
  • Numbers only
  • No country codes, spaces, or special characters
  • Example: “5551234567” (not “+1-555-123-4567”)

Payment Processing

EFT Processing Windows

GEFT follows Payments Canada EFT processing schedule: Weekend/Holiday Processing: No processing on weekends or holidays. Settlement Timeline: Payments created before a cutoff are delivered approximately 2 hours after the next submission window.

Destination Account Logic

GEFT supports flexible destination account routing:
  1. With payee object: Funds settle to specified account
  2. Without payee object: Funds settle to your configured default account
  3. No payee + no default: Request rejected with error

Payment Instructions

When a guarantee is accepted, Flinks issues:
  1. EFT credit from Flinks float account to your destination account
  2. EFT debit from end-user’s account to Flinks float account
The EFT credit to your account is the key status for settlement confirmation.

Frontend Integration

iFrame URL Pattern

Event Monitoring

Error Handling

API Errors

Authentication Failed:
Invalid Request:
Session Not Found:

Common Integration Issues

  1. Token Expiration: Access tokens expire after 599 seconds
  2. Name Mismatch: User info must match bank account holder
  3. Amount Limits: Respect min/max amount configurations
  4. Character Limits: Validate field lengths before submission

Rate Limits

API endpoints have the following rate limits:
  • Authentication: 60 requests per minute
  • Session Creation: 100 requests per minute
  • Status Queries: 1000 requests per minute
Rate limit headers are included in responses:

Testing

Use the sandbox environment for integration testing:
  • Test Scenarios: Happy1, Happy2, Happy3, Unhappy1, Unhappy7, Unhappy8
  • Credentials: Provided during onboarding
  • Test Data: Predefined user profiles and expected outcomes
See Sandbox Guide for complete testing procedures.

Support

Technical Support:
  • Contact your Technical Account Manager
  • Reference session IDs and timestamps in support requests
  • Include relevant API request/response data
Documentation:

Next Steps

  1. Authentication: Set up API authentication
  2. Session Creation: Create and manage sessions
  3. Setup Guide: Complete implementation walkthrough