Mobile Money Integration
Mobile money is the most popular payment method in Ethiopia. BirrLink supports integration with major mobile money providers including Telebirr, CBE Birr, and others.
Supported Providers
- Telebirr: Ethiopia's national mobile money service
- CBE Birr: Commercial Bank of Ethiopia's mobile money platform
- Awash: Awash International Bank's mobile money service
- Hibret: Hibret Bank's mobile money solution
- Dashen: Dashen Bank's mobile money service
Integration Process
1. Create Payment Request
To initiate a mobile money payment, create a payment request with the required information:
{
"amount": 100.00,
"currency": "ETB",
"payment_method": "mobile_money",
"customer": {
"phone": "+251912345678"
},
"description": "Payment for order #12345",
"mobile_money_provider": "telebirr"
}
2. Payment Initiation
The payment flow for mobile money typically involves:
- Your application sends payment request to BirrLink
- BirrLink forwards to the selected mobile money provider
- Customer receives SMS/USSD prompt to confirm payment
- Mobile money provider processes the transaction
- Status is updated in real-time
3. Handling Payment Responses
Mobile money payments may have different statuses:
pending: Payment initiated, waiting for customer confirmationprocessing: Customer has confirmed, payment being processedcompleted: Payment successfully completedfailed: Payment failed due to various reasons (insufficient funds, etc.)cancelled: Customer declined or timed out
Webhook Notifications
Mobile money transactions send webhook notifications with the following event types:
mobile_money.pending: Payment initiatedmobile_money.processing: Customer confirmed paymentmobile_money.completed: Funds transferred successfullymobile_money.failed: Payment failed
Error Handling
Common mobile money errors include:
insufficient_funds: Customer has insufficient balanceinvalid_phone: Phone number format is invalidprovider_unavailable: Mobile money provider temporarily unavailablecustomer_declined: Customer declined the payment request
Testing Mobile Money
For testing purposes, use the sandbox environment with test credentials provided by each mobile money provider:
Telebirr Test Credentials:
- Phone:
+251900000000 - PIN:
1234
CBE Birr Test Credentials:
- Phone:
+251900000001 - PIN:
5678
Best Practices
User Experience
- Clearly indicate that customer action is required (SMS/USSD confirmation)
- Provide estimated time for completion
- Allow customers to cancel pending payments
- Show clear instructions for the confirmation process
Error Handling
- Provide user-friendly error messages
- Implement retry logic for temporary failures
- Log transaction IDs for troubleshooting
- Handle partial failures gracefully
Security
- Validate phone numbers before initiating payments
- Never store sensitive mobile money information
- Implement rate limiting to prevent abuse
- Monitor for suspicious transaction patterns
Provider-Specific Considerations
Telebirr
- Minimum transaction amount: 1 ETB
- Maximum transaction amount: 20,000 ETB
- Daily limit: 50,000 ETB per customer
- Confirmation timeout: 10 minutes
CBE Birr
- Minimum transaction amount: 1 ETB
- Maximum transaction amount: 15,000 ETB
- Daily limit: 30,000 ETB per customer
- Confirmation timeout: 15 minutes
Other Providers
Each provider has different limits and requirements. Check the provider's API documentation for specific details.