/ developers
An API your engineers
will actually enjoy.
REST + webhooks, idempotent retries, typed SDKs in Node, Python, Go, Ruby, PHP, Java, and .NET, and a sandbox that mirrors production behavior — including soft declines and 3DS challenges.
- Typed SDKs (TypeScript-first)
- Webhook signing + replay
- Idempotency on every endpoint
- OpenAPI spec + Postman bundle
- Sandbox mirrors prod, incl. declines
- Vault tokens portable between MIDs
// Charge a card, route intelligently, settle next-day.
import PayVeta from '@payveta/node';
const pv = new PayVeta(process.env.PAYVETA_KEY);
const charge = await pv.charges.create({
amount: 4999, // $49.99
currency: 'usd',
source: 'tok_visa_4242',
customer: 'cus_K3R7n9',
capture: true,
metadata: { plan: 'pro_annual' }
});
if (charge.status === 'succeeded') {
console.log('Cleared on', charge.acquirer);
} / SDKs
Typed SDKs in 7 languages.
TypeScript-first, with idiomatic SDKs in Python, Go, Ruby, PHP, Java, and .NET. Every release ships from the same OpenAPI spec — so the SDKs never drift from the API.
- Node / TypeScript with full d.ts coverage
- Python with async + sync clients
- Go, Ruby, PHP, Java, .NET
- Generated from a single OpenAPI 3.1 spec
/ Webhooks
Webhooks you can trust.
HMAC-signed payloads, replay protection, automatic exponential backoff up to 72 hours, and a dashboard event log you can replay from with one click.
- HMAC-SHA256 signing with rotating secrets
- Replay-protection nonces in every event
- Automatic retry with backoff up to 72h
- Event log replay from the dashboard
/ Sandbox
A sandbox that mirrors prod.
Sandbox replays the same decline reasons, 3DS challenges, and acquirer timing as production. Use magic card numbers to test 50+ scenarios from soft decline to issuer-step-up.
- 50+ canned scenarios via magic test data
- Soft declines, hard declines, 3DS challenges
- Simulated acquirer outages for failover testing
- Free, unlimited sandbox keys
Build with an API that respects your time.
Read the docs, grab a sandbox key, and ship in an afternoon.