Escrow Safe Trade is live: protect your next high-value deal Learn more
ProductsPayment links & checkoutM-Pesa, cards, invoices, split payoutsEscrow Safe TradeMilestone and release-based escrowWallets & P2PPersonal and business walletsChama, Lengo & DeniGroup savings, goals and IOUsBusiness toolkitAccounting, payroll, POS, ticketingBulk payments & payrollPay many people in one uploadSubscriptions & billingRecurring plans and renewalsRent, loans & donationsCollections and campaignsAll products
SolutionsMerchantsBuyersChama groupsBusiness solutionsIndustries
Pricing
DevelopersDeveloper overviewQuickstart, auth and sandboxREST APIsCheckout, invoices and requestsWebhooksSigned, real-time eventsWallet-as-a-ServiceVirtual sub-accountsDocumentationGuides and API reference
Security
CompanyAbout usCareersPartnersBlogHelp centreContact us
Log in Get started Talk to sales
Get started

Idempotency

Retry money-moving calls without paying twice. Send an idempotency key and a replay returns the original result instead of creating a second transaction.

Base URLhttps://api.paysasa.com/api/v1Authx-api-keyFormatJSON

Send X-Idempotency-Key on money-moving requests. Replays return the original result with idempotent_replay: true when applicable.

  • Required: /p2p/transfers, /checkout/sessions/:id/pay
  • Recommended: /payouts (withdrawals), /wallets/convert, /invoices/:id/pay
  • Business-scoped: checkout payments key on business + idempotency key
HTTP
X-Idempotency-Key: 7f3c2b1a-4e5d-6f7a-8b9c-0d1e2f3a4b5c