Skip to main content

Rwanda

CurrencyRWF
Country codeRW
Phone formatCountry code 250 + number, digits only, no + (e.g. 250788123456)
Collect withMobile money push, Checkout
Send withprovider: "INTASEND-XB"
Amount limitsRWF 100 to 5,000,000

Networks​

NetworkDetected by prefix / operator_code
MTN MoMoDetected from number
Airtel MoneyDetected from number

Collect a payment​

Send a mobile money prompt to the customer's phone:

curl -X POST https://api.intasend.com/api/v1/payment/intasend-xb-push/ \
-H "Authorization: Bearer $INTASEND_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 1000,
"currency": "RWF",
"country": "RW",
"phone_number": "250788123456",
"api_ref": "order-123"
}'

The response contains an invoice in PENDING or PROCESSING state. Wait for the collection_event webhook or poll payment status until state is COMPLETE or FAILED.

Send money​

Validate the recipient first​

curl -X POST https://api.intasend.com/api/v1/send-money/validate-accounts/ \
-H "Authorization: Bearer $INTASEND_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "INTASEND-XB",
"country": "RW",
"account": "250788123456"
}'

Initiate the payout​

curl -X POST https://api.intasend.com/api/v1/send-money/initiate/ \
-H "Authorization: Bearer $INTASEND_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{
"currency": "RWF",
"country": "RW",
"provider": "INTASEND-XB",
"requires_approval": "NO",
"callback_url": "https://example.com/intasend/payouts",
"transactions": [
{
"name": "John Doe",
"account": "250788123456",
"amount": "1000",
"narrative": "Payout"
}
]
}'

Track it with /send-money/status/ using the returned tracking_id.