Active States
WAITING_TO_PAY
WAITING_TO_PAY
Description: Transaction created, awaiting payment from userWhat Happens:
- Transaction reference generated
- User redirected to payment page
- Timer starts for quote validity
- Complete payment via card or open banking
- Cancel the transaction
- View transaction details
VERIFYING- Payment successfully receivedCANCELLED- User cancelled before paymentEXPIRED- Payment not completed within 10 minutes
VERIFYING
VERIFYING
Description: Payment received, undergoing compliance checksWhat Happens:
- AML/CFT screening initiated
- Sanctions list checking
- Risk score calculation
- PEP screening (if applicable)
- Transaction pattern analysis
- Automated compliance checks run
- Manual review triggered if flagged
- Compliance team notified (if needed)
PAID- All checks passed, funds disbursedPENDING_REFUND- Compliance or payment after transaction expirationFAILED_TO_DELIVER- Delivery issues detected
Most transactions (95%+) pass automated checks and move to PAID within 0-2 minutes.
FAILED_TO_DELIVER
FAILED_TO_DELIVER
Description: Delivery attempt failed, automatic retry in progressCommon Causes:
- Invalid or closed bank account
- Inactive mobile money account
- Network timeout or provider downtime
- Incorrect account details
- Beneficiary name mismatch
- Exponential backoff between retries
- Notify compliance team after 2nd failure
- Contact user for corrections if needed
PAID- Retry successfulPENDING_REFUND
PENDING_REFUND
PENDING_REFUND
Description: Refund initiated, processing back to senderTriggers:
- Compliance rejection (AML/sanctions)
- Delivery failure after max retries
- Customer dispute (within refund window)
- Technical error requiring reversal
- Refund request submitted to payment processor
- Original payment method receives credit
- Refund notification sent to user
- Transaction marked for closure
- Full transaction amount (send amount)
- All fees included
- Same payment method as original
REFUNDED- Refund completed successfully
State Transition Triggers
Understanding what causes state changes helps you build better error handling.Payment-Related Transitions
| From State | To State | Trigger | Action Required |
|---|---|---|---|
WAITING_TO_PAY | VERIFYING | Payment successful | Automatic |
WAITING_TO_PAY | CANCELLED | User cancelled | None |
WAITING_TO_PAY | EXPIRED | 10 min timeout | Request new quote |
Compliance-Related Transitions
| From State | To State | Trigger | Action Required |
|---|---|---|---|
VERIFYING | PAID | All checks passed | None - Automatic |
VERIFYING | PENDING_REFUND | Compliance/Payment failed | Contact support |
VERIFYING | FAILED_TO_DELIVER | Delivery issue | Check beneficiary details |
Refund Transitions
| From State | To State | Trigger | Action Required |
|---|---|---|---|
PENDING_REFUND | REFUNDED | Refund processed | Automatic |
Webhook Configuration
Learn how to set up webhooks for real-time updates
Common Scenarios
Scenario 1: Successful Transaction
Scenario 2: Compliance Rejection
Scenario 3: Delivery Failure with Recovery
API Reference
Transaction Status Endpoint
View complete API documentation for tracking transaction status
Beneficiary Lifecycle
Learn how to create and validate beneficiaries
Quote Calculator Integration
You can easily integrate a Quote Calculator into your own website or dashboard using our ready-made widget. This handles flag updates, country selection, and real-time exchange rates automatically.Integration Guide
Add the following code to your HTML page where you want the widget to appear:Add the Container
Place this
div in your layout. You can customize the initial values using data- attributes.Configuration Options
Customize the widget behavior by adding these attributes to the containerdiv:
| Attribute | Description | Default |
|---|---|---|
data-default-send-country | ISO3 Code for the default sending country | GBR |
data-default-receive-country | ISO3 Code for the default receiving country | NGA |
data-default-amount | Initial amount for the “Send” field | 100 |
data-button-text | Text displayed on the main button | Send Money Now |
data-button-color | Color code for the action button | #000000 |
