Start accepting payments in Zimbabwe in minutes.
One API. Every payment method. No redirects.
Integration paths
Watenga.js Widget
Embed 3 lines of code. Full prebuilt payment UI.
Watenga Elements
Build your own form with individual components.
Hosted Checkout
Zero integration. Share a payment link.
Watenga Mobile SDK
In-app payments for React Native.
Start with your stack
OpenAPI & Postman
OpenAPI spec
Interactive reference and YAML/JSON downloads.
Postman collection
Import the full merchant API into Postman.
Node SDK
Official TypeScript/JavaScript client.
PHP SDK
Composer package for PHP integrations.
Official libraries
Server SDKs with the same resources and method names in every language, browser and app SDKs that pay a checkout session, and tools for your terminal and your AI assistant. See Official SDKs.
| Library | Scope |
|---|---|
| Node.js, Python, PHP, Go, Dart | Full server SDKs: checkout, payments, refunds, links, invoices, quotations, subscriptions, customers, saved cards, webhooks |
| Watenga.js | Embedded checkout in your page |
| iOS, Android, React Native, Flutter | Native payment sheets |
| CLI | watenga listen, trigger and logs tail |
| MCP server | Your AI assistant, with your key and its scopes |
Popular guides
EcoCash Integration
Accept mobile money with USSD push payments.
Never double-charge
How idempotency keys protect your customers.
Go live safely
The sandbox testing checklist before launch.
Quick start
Add Watenga.js to your site in three lines:
typescript
// Server (secret key): the amount is decided here
const session = await watenga.checkoutSessions.create({ amount: '25.00', currency: 'USD', reference: 'ORD-1001' });
// Browser (publishable key): pays that session
Watenga('pk_test_your_publishable_key').mount('#pay', {
clientSecret: session.client_secret, amount: 25.00, currency: 'USD', reference: 'ORD-1001',
onSuccess: (txn) => console.log(txn.id),
});