Built to be integrated, not demoed.

A clean REST API. Typed SDKs for Node, Python, and PHP. Signed webhooks with automatic retries. A sandbox with full production parity, free forever.

African engineering team collaborating on code

Your first payment in three steps.

1 · Get your keys

Sign up, open Developers in the dashboard, copy zyp_test_sk_...

2 · Create a payment

terminal
curl -X POST https://api.zyndpay.io/v1/payments \
  -H "X-Api-Key: zyp_test_sk_..." \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{ "amount": "100.00", "externalRef": "order_1234" }'

3 · Receive the webhook

When the payment confirms, ZyndPay POSTs payin.confirmed to your endpoint, signed with HMAC-SHA256.

Install, import, ship.

Node

npm install @zyndpay/sdk
View package →

Python

pip install zyndpay
View package →

PHP

composer require zyndpay/zyndpay-php
View package →

Every SDK ships with typed clients, webhook verification, and sandbox support. No extra packages to install.

Signed. Retried. Replayable.

  • HMAC-SHA256 over timestamp + raw body, on every delivery.
  • Automatic retries with exponential backoff over ~2 hours.
  • Replay from the dashboard when you need to resync.
  • SSRF-protected — private IPs rejected at registration.
Developer reviewing API documentation and dashboards

Full parity. Free forever.

Same endpoints. Same response shapes. Same webhook events. Same ledger semantics. Your zyp_test_sk_... key unlocks it on signup — no approval, no time limit, no feature gate.

WordPress? One plugin.

Install the ZyndPay gateway in WooCommerce, paste your API keys, enable the payment method. Customers check out; orders fulfill automatically when the payment confirms.

Download the plugin →
ZyndPay · Build — REST API, SDKs, and a free sandbox.