Now live in sandbox β€” production-ready API
πŸ‡ΊπŸ‡ΈπŸ‡¨πŸ‡¦United States & Canada

Modern payment infrastructure for ambitious businesses.

ZewstPay is a Stripe-shape payment API for businesses and the platforms that build on top of them. Accept cards in person and online, settle directly to your bank, and offer marketplace splits without the integration overhead of a generic processor.

Sandbox is free. Production processing on the standard tier β€” no setup fees, no monthly minimums.

Everything you need. None of what you don't.

A focused payments stack β€” not a sprawl of features that don't ship together.

Stripe-shape API

Customers, payment methods, charges, refunds, payouts, disputes. If you've shipped against Stripe before, you'll be running in an hour.

Payment links + checkout

Hosted checkout at link.zewstpay.com. One-tap Apple Pay and Google Pay, saved cards, partial payments, group bills.

Marketplace from day one

Fee profiles, platform splits, franchise hierarchies. Onboard sub-merchants with KYB and ship the same day.

Subscriptions

Recurring billing with proration, trials, cancel-at-period-end, and webhook events for the whole lifecycle.

Direct settlement

Funds land in your bank, not in a processor-held balance you have to withdraw. Daily or instant payouts, your choice.

Multi-tenant by design

Multi-currency, store credit, refund attribution down the franchise tree, surcharge-aware fees. Built for businesses that operate at scale.

Built for engineers.

First-class SDKs for Node, JS, and React. OpenAPI for the rest. Webhook signatures, idempotency keys, and PCI-compliant hosted fields out of the box.

  • Idempotency keys on every mutating call
  • HMAC-signed webhooks with replay protection
  • Hosted fields via Finix.js β€” your servers never touch the PAN
  • 3DS, network tokens, account updater β€” handled
charge.ts
import { ZewstPay } from "@zewstpay/sdk-node";

const zp = new ZewstPay(process.env.ZEWSTPAY_API_KEY);

// Customer + charge in one call
const customer = await zp.customers.create({
  email: "buyer@example.com",
});

const charge = await zp.charges.create({
  amount: 4250,           // $42.50
  currency: "USD",
  customer: customer.id,
  capture: true,
});

Ready to start accepting payments?

Sandbox in under a minute. Move to live charges the same day with standard KYB.