- Complete the standard Flinks Pay onboarding process and verification.
- Meet applicable MSB requirements and receive service approval from your dedicated Relationship Manager.
- Receive your production GEFT credentials (Username/Client ID and Password/Client Secret) and base URI.
- Configure your GEFT integration following the steps below.
- Implement session creation using the /api/v2/sessions endpoint for each payment request.
- Track user progress through the payment flow using:
- Frontend event listeners for real-time updates
- Status polling via /api/v2/sessions//status
- Webhook notifications for terminal status changes
- Test your integration thoroughly using the Sandbox Guide.
- Go to production with your dedicated Technical Account Manager support.
Step 1: Authentication
All GEFT API requests that require authentication use an API key passed in thex-api-key header. Your API key will be provided during onboarding.
Headers
Step 2: Create Session
Endpoint
Required Fields
Optional Fields
Example Request
Response
Step 3: Launch iFrame
Once you have asessionId, launch the GEFT user flow:
Event Listening
Monitor frontend events to track user progress:Step 4: Monitor Session Status
Endpoint
Example Request
Response
Status Codes
Step 5: Handle Completion
Successful Completion (EFT0301)
When status is “Completed” with “EFT0301”:- Payment is guaranteed and scheduled
- Funds will be settled according to EFT processing windows
- No further action required
Failed Scenarios
Guarantee Declined (EFT0402)- Offer alternative payment methods
- Transaction cannot proceed with GEFT
- User information doesn’t match bank account
- Session must be terminated
- User exited flow without completing
- Can retry with new session
Destination Account Logic
GEFT supports routing payments to different accounts:- With payee object: Funds settle to specified account
- Without payee object: Funds settle to your default account (configured by Flinks)
- No payee + no default: Request rejected with error
Important Implementation Notes
User Identity Matching
firstNameandlastNamemust accurately reflect the bank account owner- Significant name differences will cause session failure (EFT0403)
- Identity validation occurs after account connection
Reference ID Best Practices
- Use unique identifier for each transaction
- Include in reconciliation and support requests
- Appears in all status responses and reconciliation files
Amount Handling
- If amount provided: User cannot modify, “Enter amount” step is grayed out
- If amount omitted: User enters amount in flow
- Min/max limits configured at client level by Flinks
Character Limits
- Names: 255 characters
- Email: 256 characters
- Reference ID: 100 characters
- Country: 2 characters (ISO country code)
- Account Number: 7 to 12 digits
- Transit Number: 5 digits
- Institution Code: 3 digits
Error Handling
Next Steps
- Event Handling: Implement comprehensive event tracking
- Sandbox Guide: Test your integration
- API Reference: Complete API documentation
Testing Your Integration
Use the sandbox environment with test scenarios:- Happy1: Successful flow
- Happy2: Next-best-offer scenario
- Unhappy1: Guarantee failure