Copied to clipboard!
Developer Platform

Build with Rwanda Pay

Powerful APIs, SDKs, and tools to integrate mobile money payments into your application.

RESTful API

Simple, predictable REST APIs with JSON responses. Accept payments, manage customers, and more.

View API Docs

Webhooks

Real-time event notifications for payments, refunds, and disputes sent to your endpoint.

Hosted Checkout

Embed our secure checkout page - PCI compliant, no extra work.

Learn More

Quick Integration Guide

Get started with Rwanda Pay in minutes

1

Get API Keys

Sign up for a merchant account and generate your API keys from the dashboard.

2

Choose Integration Type

Use Hosted Checkout (redirect) or Direct API (USSD on customer's phone).

3

Go Live

Test in sandbox, then switch to live mode and start accepting payments.

Hosted Checkout

Redirect customers to our secure payment page. We handle the entire payment flow.

  • PCI compliant out of the box
  • No need to build payment UI
  • Supports MTN & Airtel Money
  • Auto-redirect after payment
Documentation

Direct API

Initiate payments directly via API. Customer receives USSD prompt on their phone.

  • Full control over payment flow
  • USSD-based payment on customer's phone
  • Real-time status updates via webhooks
  • Customizable customer experience
Documentation

API Quick Tester

Test the checkout API directly from your browser (sandbox mode).

Quick Start Example

Initialize a hosted checkout page with just a few lines of code:

PHP (cURL)
<?php
$ch = curl_init('https://api.rwandapay.rw/api/v1/checkout/initialize');
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
    'amount' => 5000,
    'tx_ref' => 'ORDER-' . time(),
    'customer' => [
        'name' => 'John Doe',
        'email' => 'john@example.com',
        'phone' => '0788123456'
    ]
]));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'X-Public-Key: YOUR_PUBLIC_KEY',
    'X-Secret-Key: YOUR_SECRET_KEY',
    'Content-Type: application/json',
]);
$response = curl_exec($ch);
$data = json_decode($response, true);
$payment_url = $data['data']['payment_url'];
// Redirect customer to $payment_url
JavaScript (Fetch)
const response = await fetch('https://api.rwandapay.rw/api/v1/checkout/initialize', {
    method: 'POST',
    headers: {
        'X-Public-Key': 'YOUR_PUBLIC_KEY',
        'X-Secret-Key': 'YOUR_SECRET_KEY',
        'Content-Type': 'application/json',
    },
    body: JSON.stringify({
        amount: 5000,
        tx_ref: `ORDER-${Date.now()}`,
        customer: {
            name: 'John Doe',
            email: 'john@example.com',
            phone: '0788123456'
        }
    })
});
const data = await response.json();
window.location.href = data.data.payment_url;

Official SDKs

Accelerate your integration with our official SDKs

PHP SDK

composer require rwandapay/php-sdk

JavaScript SDK

npm install rwandapay-js

Python SDK

pip install rwandapay

Java SDK

Maven: com.rwandapay

Ready to integrate?

Get started with our SDKs and documentation in minutes.