Hosted checkout
A polished embedded checkout iframe with branded payment methods, session validation, and real-time order status.
RahaPay brings M-Pesa, Airtel Money, cards, hosted checkout, merchant analytics, and withdrawal workflows into one clean platform for online stores, apps, and marketplaces.
POST /v1/payment_intents
Live API + hosted iframe
Launch checkout, track payment intents, manage destinations, and move funds from one merchant console.
A polished embedded checkout iframe with branded payment methods, session validation, and real-time order status.
Create, confirm, and inspect payments through a Stripe-like API model that works cleanly with server and client apps.
Save payout destinations, withdraw balances, and manage merchant settlement flows from the dashboard.
Full-width payment tables, analytics, balances, destination management, and operations tools for your finance team.
Node, Python, CLI, WooCommerce, CDN starter, mobile, desktop, and embedded packages for faster integration.
Move value between RahaPay users or merchants for marketplace, vendor, agent, and internal settlement workflows.
Embed RahaPay checkout in ecommerce sites, SaaS billing flows, mobile webviews, or custom checkout apps. Merchants list their allowed domains, and RahaPay validates the session while keeping the iframe easy to deploy.
<script src="https://checkout.staging.rahapay.co.ke/rahapay.js"></script>
const rahapay = RahaPay("pk_test_...");
rahapay.checkout({
clientSecret: "pi_..._secret_...",
container: "#checkout"
});
Open live demo →
Use direct REST calls, install SDKs, or start with hosted checkout. RahaPay keeps server-side creation and client-side confirmation separate and predictable.
import RahaPay from "@rahapay/server-sdk";
const rahapay = new RahaPay({
secretKey: process.env.RAHAPAY_SECRET_KEY,
});
const intent = await rahapay.paymentIntents.create({
amount: 8100,
currency: "KES",
merchant_reference: "ORDER-1024",
customer: {
name: "Tony Mutai",
phone: "254712345678"
}
});
from rahapay import RahaPay
client = RahaPay(secret_key=os.environ["RAHAPAY_SECRET_KEY"])
intent = client.payment_intents.create(
amount=8100,
currency="KES",
merchant_reference="ORDER-1024",
customer={"phone": "254712345678"},
)
curl https://api.staging.rahapay.co.ke/v1/payment_intents \
-H "Authorization: Bearer sk_test_..." \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-1024" \
-d '{
"amount": 8100,
"currency": "KES",
"merchant_reference": "ORDER-1024"
}'
Ship faster with RahaPay SDKs, plugins, and starter installers.
RahaPay is designed for teams that need more than a checkout button. See payment history, inspect payment details, add withdrawal destinations, and trigger transfers without crowding the payments table.
Open dashboardUse publishable keys on the client, secret keys on the server, idempotency for payment creation, and allowed-origin controls for hosted checkout sessions.
Use this public page as a launch-ready pricing section, then plug in your final commercial terms when approved.
For new online shops and pilot integrations.
CustomFor active merchants, marketplaces, and teams.
CustomFor PSP, marketplace, and embedded finance use cases.
CustomKeep this section short, practical, and focused on buyer confidence.
Yes. RahaPay hosted checkout is designed to render inside merchant applications while session validation happens through RahaPay.
The public checkout UI is prepared for M-Pesa, Airtel Money, and card payments. The merchant dashboard also supports payout destination workflows.
No. You can integrate directly with the REST API. SDKs and installers are available to reduce integration time.
Yes. The dashboard separates payments from payment operations, with withdrawal destinations and payout actions in their own page.
Use the dashboard, demo store, and SDK downloads to complete your merchant integration.