Build with the Paynancial API.
A REST API, webhooks and SDKs designed to get payments into your product quickly and securely — built to be called just as reliably by an AI agent as by a person, from a single sandbox key to an enterprise integration processing millions of calls.
Integration Guide
Step-by-step setup instructions for common stacks and frameworks.
SDKs
Official client libraries for PHP, JavaScript and Python.
API Reference
Every endpoint, parameter and response documented in full.
Sandbox
Test your integration safely with sandbox API keys before going live.
Webhook Documentation
Subscribe to real-time events for payments, refunds and settlements.
API Keys
Manage sandbox and live API keys from your dashboard.
Authenticate with an API key
All requests are authenticated using an API key passed as basic-auth username. Keep live keys server-side only.
$client = new Paynancial\Client('YOUR_API_KEY');
$refund = $client->refunds->create([
'payment_id' => 'pay_9F3kd82',
'amount' => 20000,
]);
Payment API
Full reference documentation and examples.
Payout API
Full reference documentation and examples.
Transaction API
Full reference documentation and examples.
Refund API
Full reference documentation and examples.
Designed for the caller to be an agent, not just a person.
A growing share of integrations calling this API won't be a person clicking through a checkout — they'll be an AI agent retrying a failed charge, reconciling a ledger, or approving a payout inside limits a business set. That changes what "reliable" means for an API, at any scale from a solo developer's script to an enterprise's agent fleet.
Safe to retry, by default
An agent retries on timeout without asking a human first. Every write endpoint accepts an idempotency key, so a retried request is recognized and returns the original result instead of creating a duplicate payment or payout.
Structured, machine-readable errors
Error responses carry a stable code and category an agent can branch on programmatically — insufficient_funds vs. invalid_method vs. rate_limited — not just a human-readable message an agent has to guess at.
Event-driven, not poll-driven
Webhooks push payment, payout, refund and settlement events as they happen, so an agent orchestrating a workflow reacts to state changes in real time instead of polling on a schedule.
// An agent-safe payout: the idempotency key means a retried
// call after a timeout returns the original result, not a
// second payout.
$payout = $client->payouts->create([
'beneficiary_id' => 'bene_3Kd91',
'amount' => 250000, // in paise
'mode' => 'upi',
], [
'idempotency_key' => 'agent-payout-run-2026-08-29-0417',
]);
echo $payout->status;