Integration Guides
Tutorials
Connecting a Bank Account
A step-by-step guide to authenticate and link a bank account to a fintech app using the Auth API.
- Collect Credentials: Prompt the user for their
bank_id
,username
, andpassword
. - Authenticate: Send a
POST
request to/v1/auth
with the credentials. - Handle Response: Store the
access_token
andaccount_id
securely for future API calls. - Error Handling: Handle
401 Unauthorized
or400 Bad Request
errors by prompting the user to verify their credentials.
Building a Payment App
Use the Payments API to enable transfers in your app.
- Gather Payment Details: Collect
account_id
,amount
,recipient_account
, andreference
from the user. - Initiate Payment: Send a
POST
request to/v1/payments
with the payment details and theAuthorization
header. - Confirm Success: Display a confirmation to the user upon a successful response.
- Handle Errors: Implement retry logic for transient errors and display user-friendly error messages.
Creating a Budgeting App
Use the Transactions and Balance APIs to build a budgeting app for tracking spending.
- Fetch Balance: Query
/v1/balance
with theaccount_id
to display the current balance. - Retrieve Transactions: Use
/v1/transactions
withaccount_id
,start_date
, andend_date
to fetch transaction history. - Analyze Data: Calculate spending patterns and categorize transactions for budgeting insights.
- Update UI: Refresh the app’s dashboard with the latest balance and transaction data.
Code Samples
Python: Fetching Transactions
JavaScript: Initiating a Payment
Webhooks
Setting Up Webhooks
Configure webhooks to receive real-time updates for events like new transactions or payment confirmations.
- Register Webhook: Provide a secure HTTPS endpoint to the platform’s webhook configuration.
- Handle Payloads: Parse incoming webhook payloads to update your app’s state.
- Acknowledge Receipt: Respond with a
200 OK
status to confirm receipt.
Example Webhook Payload:
Security Tips
- Verify Signatures: Use the provided webhook signature to validate the authenticity of incoming requests.
- Secure Endpoint: Ensure your webhook endpoint uses HTTPS and is protected against unauthorized access.
- Log Events: Maintain logs of webhook events for debugging and auditing purposes.
Compliance Guide
Adhering to Ethiopian Regulations
Comply with the National Bank of Ethiopia’s open banking rules.
- Obtain Licenses: Ensure your app is licensed to operate as a fintech service in Ethiopia.
- Audit Trails: Maintain detailed logs of API interactions for regulatory audits.
Implementing User Consent Flows
- Explicit Consent: Prompt users to approve data sharing before accessing their bank account data.
- Clear Disclosure: Inform users about what data is accessed and how it will be used.
- Revoke Access: Provide an option for users to revoke consent and unlink their accounts.
Data Security
- Encryption: Use AES-256 for data at rest and TLS for data in transit.
- Secure Storage: Store sensitive data like
access_token
in a secure vault. - Regular Audits: Conduct security audits to identify and mitigate vulnerabilities.