RESTful by design
Resource-oriented endpoints, JSON everywhere and standard HTTP codes.
Build custom payment experiences with predictable APIs, typed SDKs, signed webhooks and a full sandbox.
Resource-oriented endpoints, JSON everywhere and standard HTTP codes.
Safely retry any request with idempotency keys — no duplicate charges.
Dated API versions so upgrades happen on your schedule.
Every feature works in the sandbox with test keys and test cards.
Browse common endpoints and see example requests and responses.
Endpoints
curl https://api.rpad.com/v1/payments \
-u rb_test_key: \
-H "Idempotency-Key: 6f1c-demo" \
-d amount=4999 \
-d currency=SAR \
-d method=card \
-d customer=customer_1024{
"id": "pay_demo_48291",
"object": "payment",
"amount": 4999,
"currency": "SAR",
"method": "card",
"status": "success",
"created_at": "2026-09-28T10:24:00Z"
}Static example — no request is sent.
Examples in popular languages. All snippets are illustrative.
import RPAD from "@rpad/node";
const rpad = new RPAD(process.env.RPAD_SECRET_KEY);
const payment = await rpad.payments.create({
amount: 4999,
currency: "SAR",
method: "mada",
customer: "customer_1024",
});
console.log(payment.id); // pay_demo_48291Idiomatic libraries for the languages your team already uses.
Browser checkout and client-side tokenisation.
npm i @rpad/checkoutServer-side payments for Django, Flask and FastAPI.
pip install rpadType-safe client for JVM services.
com.rpad:rpad-java:4.1.0Drop-in support for PHP applications and CMS platforms.
composer require rpad/rpad-phpAsync server SDK with full TypeScript types.
npm i @rpad/nodeSubscribe to payment lifecycle events. Every delivery is signed so you can verify it came from RPAD.
payment.capturedA payment was successfully captured.payment.failedA payment attempt failed.refund.processedA refund was processed.payout.completedA payout was completed.POST /webhooks/rpad
Rpad-Signature: t=1790000000,v1=5f2b…demo
{
"event": "payment.captured",
"data": {
"id": "pay_demo_48291",
"amount": 4999,
"currency": "SAR"
}
}4111 1111 1111 11114000 0000 0000 0002review@rpad-testTest every flow — success, failure, refund and webhook — without moving real money.