Developer Docs

Build with Gemmy Pay

One API for mobile money, cards, and bank transfers across Africa. Integrate once, accept every payment method.

Quick Start

Get started in minutes

1. Sign up for a Gemmy Pay account and get your API keys.

2. Install our SDK: npm install gemmy-pay

3. Create your first charge — mobile money, card, or bank transfer — in a few lines of code.

4. Handle webhook events to stay in sync with payment statuses in real time.

example.js
const gemmy = new GemmyPay({
 apiKey:"sk_test_..."
});
// Charge a mobile money wallet
const payment = await gemmy.charges.create({
 amount: 5000,
 currency:"RWF",
 method:"mobile_money",
 provider:"mtn",
 phone:"+250788123456"
});
console.log(payment.status); //"succeeded"

SDKs & Libraries

SDKs for every stack

Node.jsNode.js

Server-side integration with our JavaScript SDK.

TypeScriptTypeScript

Type-safe SDK for TypeScript projects.

PythonPython

Python SDK for Django, Flask, and FastAPI backends.

GoGo

Go SDK for high-performance backends.

PHPPHP

Laravel and Symfony ready PHP package.

JavaJava

Java SDK for Android and Spring Boot apps.

ReactReact

Frontend components for seamless checkout flows.

React NativeReact Native

Cross-platform mobile payments SDK.

FlutterFlutter

Mobile SDK for Android and iOS wallet apps.

SwiftSwift

Native iOS SDK for SwiftUI apps.

.NET.NET

C# SDK for ASP.NET Core and .NET MAUI apps.

API Reference

Core endpoints

POST/chargesCreate a payment charge (mobile money, card, bank)
GET/charges/:idRetrieve a charge's status and details
POST/transfersSend money to a mobile money or bank account
GET/balanceCheck your available balance
POST/webhooksRegister a webhook endpoint for events
GET/transactionsList all transactions with filters

Start building today

Get your sandbox API keys and start integrating in minutes.