
Changelog
Changes to the PesaBridge API and the developer portal, newest first. API status
2026-10-28 · Version 2026-10-28
Test mode for online payments, team sign-in and API versions
- NewTest mode for online payments on the live platform: test keys create simulated payments, payment links, refunds, disputes and payouts. The test card, phone or bank number picks the outcome; no real money moves.
- NewTrigger any webhook event for a test payment with POST /partner/test/trigger, and read every test number and outcome at GET /test/scenarios.
- NewTeam members sign in with their own email, password and one-time code. The admin, developer and viewer roles are enforced on every call: 403 role_denied.
- NewEvery reply carries the PesaBridge-Version header. Send the header to pin a version for one call, or pin one for the app in Settings; an unknown version gets 400 unsupported_version.
- NewThe changelog and the list of guides are served by the API (GET /docs/changelog and GET /docs/guides) in 12 languages, so the website and this portal show the same text.
- NewPayments that score into review send payment.review_required, then payment.review_approved or payment.review_declined; the payment carries a risk object. A blocked payment gets 402 risk_blocked.
- NewBilling API under /partner/billing: plans, customers, subscriptions, cancelling and invoices, with 11 subscription.* and 5 invoice.* webhook events.
- NewTeam sign-in calls are in the reference: invite, accept, sign in, one-time code and the member's own profile.
- ChangedBreaking: GET /partner/me no longer returns the callback signing secret, only webhook_signing_secret_masked. Read the secret in the portal (Webhooks > Show secret) or with POST /partner/webhooks/secret/reveal from a portal session after a one-time code; server keys get 403 portal_only.
- ChangedTest keys on the live platform no longer get 403 test_key_live_money for online payments, payment links and refunds: those calls now run in test mode. No code change is needed.
2026-10 · Version 2026-10-01
Online payments, remittance, webhooks and repeat-safe calls
- NewOnline payments (gateway) API: create and read payments, refunds, payment links, payouts and disputes under /partner/gateway, with webhook events payment.*, refund.*, settlement.* and dispute.*.
- NewRemittance partner API: credit money sent from abroad (/partner/remit/inbound), read and list transfers.
- NewWebhook endpoints now get every event they subscribe to (prompt-to-pay, online payments, payouts), in their own mode. Subscribe with the real event names; old names are refused.
- NewDefault callback URL on the Webhooks page, test events of any type, endpoint editing and new signing secrets.
- NewIdempotency-Key header on every money call: a repeat returns the first reply with Idempotent-Replayed: true; a reused key with another body gets 409 idem_reused.
- New429 replies carry Retry-After and the code rate_limited.
- NewSecret rotation with an overlap of up to 48 hours, and ending server tokens without rotating.
- NewRequest logs keep a masked copy of the request and reply and the idempotency key.
- NewTest publishable keys open checkout pages on the test platform.
- NewDocs in this portal: guides, a reference page per API group, every event and every error code, all built from the API contract.
- ChangedEndpoints subscribed to the old names (charge.success, payout.success, …) received nothing; they were moved to the matching real names.
- ChangedOn the live platform, test keys can no longer send a real payment prompt from an invoice, make a payment link or a till-to-till request: 403 test_key_live_money.
2026-10 · Version 2026-10-01
Key limits, sandbox outcomes and owner approval
- NewAllowed server addresses: live keys can be limited to your servers' addresses or ranges (Credentials → API access). Calls from anywhere else get 403 ip_not_allowed.
- NewPer-product key limits: tick the products your keys may use (collect, pay out, pay businesses and tax, reverse). Other products answer 403 scope_denied. Status, balance and logs stay open.
- NewSandbox outcomes: test payers 254796000001 to 254796000005 play paid, cancelled, not enough money, no answer and a duplicate callback, so you can test every branch of your code.
- NewGoing live now needs the approval of the business you collect for: give its short code when you ask, and its owner or a manager approves with a one-time code.
- NewJava examples on every API page, next to cURL, Node, Python and PHP, and a Java webhook signature check.
- NewThis changelog and a public status page.
- ChangedNo code change is needed: keys with no address list and no product limits behave exactly as before.