API capability overview
POST /api/v1/paymentsCreate payment and return checkout_url
GET /api/v1/payments/:idQuery status, amount, currency, and order ID
WebhookSigned callback after payment succeeds
payment_descriptorControl channel-facing product feedback
Authentication
After email verification and merchant approval, generate an API key from the dashboard.
Authorization: Bearer rp_test_xxx
How to avoid exposing full product information
Do not put full product names, SKUs, detailed usage, or purchase lists into `title`. Use `payment_descriptor` or `title` for a lawful, concise payment summary. Keep real order details in your own database and map them by `merchant_order_id`.
Avoid
{
"title": "500pcs exact SKU-A991 custom buyer catalog..."
}
Recommended
{
"merchant_order_id": "B2B-20260723-8819",
"payment_descriptor": "Merchant Invoice Payment",
"metadata": {
"private_order_ref": "stored_by_merchant"
}
}
Create payment
POST /api/v1/payments
Content-Type: application/json
{
"amount": "99.00",
"currency": "USD",
"merchant_order_id": "ORDER10001",
"payment_descriptor": "Cross-border Ecommerce Order",
"return_url": "https://merchant.example/success",
"notify_url": "https://merchant.example/webhook",
"metadata": {
"private_note": "Full SKU remains in merchant system"
}
}
The response includes `checkout_url`; redirect the buyer there to complete payment.
{
"id": "pay_xxx",
"status": "pending",
"checkout_url": "https://routermodels.com/checkout/pay_xxx"
}
Query payment
GET /api/v1/payments/pay_xxx Authorization: Bearer rp_test_xxx
Webhook
After payment succeeds, the platform sends a signed callback to `notify_url`. Merchants must verify the signature before fulfillment.
X-RamboPay-Timestamp: 1784780000 X-RamboPay-Signature: hex_hmac_sha256(timestamp + "." + raw_body)
Launch checklist
- Merchant email is verified and account approved.
- Default descriptor is configured and does not include full product names or SKUs.
- notify_url is reachable and webhook signature verification is implemented.
- Merchant system can recover real order details using merchant_order_id.
- Fulfillment is idempotent.