Charge in your language, not the provider’s.

One call creates the payment; Reevit picks the provider, retries the failures, and streams every event back. Copy it, paste it, ship it.

Official documentation
import Reevit from '@reevit/node'; const reevit = new Reevit('pfk_live_…', 'org_…'); // One request — Reevit picks the provider and fails over for you.const payment = await reevit.payments.createIntent(  {    amount: 45000, // GHS 450.00, in pesewas    currency: 'GHS',    method: 'mobile_money',    country: 'GH',    customer_id: 'cust_123',  },  { idempotencyKey: 'order_8817' },); console.log(payment.id, payment.status);

CLI + local sandbox

Feel a failover before you commit.

Trigger real sandbox payments through the simulator and stream the resulting events to your localhost — signed exactly like production, without moving real money.

Homebrewbrew install reevit-platform/tap/reevit
npmnpm install -g @reevit/cli
reevit — sandbox

$ reevit listen --forward-to http://localhost:3000/webhooks

listening for test-mode events · signed like production

$ reevit trigger payment.failed

sandbox payment created through the simulator — no real money

→ payment.created forwarded 200

→ payment.failed forwarded 200

Failover, in the response

The route is part of the contract.

Every payment response carries its route: which connection was tried, what failed, how long it took, and where the charge finally landed. A timeout reroutes inside the same request — and the payload shows the whole story.

Read the routing docs →
POST /v1/payments · 200

{

"id": "0ad4a9c2-900c-4f2a-…",

"status": "succeeded",

"amount": 45000,

"currency": "GHS",

"route": [

{

"connection_id": "hubtel_live",

"provider": "hubtel",

"status": "failed",

"error": "provider timeout",

"latency_ms": 2400

},

{

"connection_id": "paystack_live",

"provider": "paystack",

"status": "succeeded",

"latency_ms": 812

}

]

}

Stop losing payments to provider downtime.

Free for your first 1,000 payments a month, and failed payments are never billed. Connect a provider and take your first payment before the coffee gets cold.