sandbox

Payments infrastructure for platforms in Asia

Accept cards, Apple Pay, Google Pay and local wallets with one integration. apay routes every payment to the best processor or partner bank, runs 3‑D Secure and tokenisation, and tells your server what happened with a signed webhook.

This checkout is live. Pay it with test card 4242 4242 4242 4242, any future date, any CVC, and watch the webhook arrive.

9:41●●● ⌁
Nimbus Store
sandbox · card or PayPal
$29.99

Secured by apay · 3‑D Secure · PCI DSS SAQ A

Routes to 50+ processors and partner banks
StripeAdyenCheckout.comAirwallexXenditRazorpayFiuuCybersource
Modular payments stack

Everything you need to get paid, on one platform

apay is a payment switch: your app talks to one API and one checkout, and apay handles processors, banks, wallets, 3‑D Secure, vaulting and reconciliation behind it. Switch processors on in the dashboard; nothing changes in your code.

Cards, done properly

Visa, Mastercard, American Express, JCB and UnionPay with automatic or manual capture, partial refunds, disputes and 3‑D Secure decided per payment.

Take a card payment

Apple Pay and Google Pay

Wallet buttons on web and in‑app. Certificates, domain verification and token decryption handled by apay, so a card added to the phone works at once.

Set up wallets

Local methods and routing

PayNow, FPS, GCash, GrabPay, UPI and bank transfers through partner processors, routed by country, currency and amount, with automatic retry on a second processor.

Configure routing
How a payment moves

Create. Confirm. Verify.

Your server talks to apay twice: once to open a payment, once when the webhook lands. Card entry, wallets and 3‑D Secure happen inside the checkout, so card data never touches your page or your server.

  1. 1

    Create the payment on your server

    Post the amount and currency with your secret key. You get back a client_secret for the browser.

    # server
    POST /api/payments
    api-key: sk_…
    
    { "amount": 2999, "currency": "SGD",
      "authentication_type": "three_ds" }
    
    → "status": "requires_payment_method",
      "client_secret": "pay_…_secret_…"
  2. 2

    Confirm it in the browser

    Mount the checkout with the client_secret. The customer pays with a card or a wallet; a 3‑D Secure challenge appears only when you ask for one.

    // browser
    const hyper = Hyper(publishableKey);
    const widgets = hyper.widgets({ clientSecret });
    widgets.create("payment", { wallets: {
      applePay: "auto", googlePay: "auto" } })
      .mount("#checkout");
    
    await hyper.confirmPayment({ widgets,
      confirmParams: { return_url } });
  3. 3

    Verify the webhook, then fulfil

    apay signs every event with HMAC‑SHA512 over the raw body. Check the signature, read the status, ship the order.

    # your endpoint
    POST https://shop.example/webhook
    x-webhook-signature-512: 3f9a…
    
    { "event_type": "payment_succeeded",
      "content": { "object": {
        "payment_id": "pay_…",
        "status": "succeeded" } } }
Designed for developers

Integrate in an afternoon, not a quarter

Create a payment from your server, mount the checkout in the browser, listen for the webhook. The API is documented, versioned and portable, with predictable objects and idempotent requests, so there is nothing exotic to learn and nothing to unwind later.

Quickstart
API reference
Test cards and sandbox rules

# create a payment (server side)
curl https://apay.to/api/payments \
  -H "api-key: $APAY_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 2999, "currency": "SGD",
    "customer_id": "cus_123",
    "capture_method": "automatic",
    "authentication_type": "three_ds",
    "return_url": "https://shop.example/thanks"
  }'

# → { "payment_id": "pay_…",
#     "client_secret": "pay_…_secret_…" }
1integration for every processor, wallet and bank
50+processors available as connectors
0card numbers stored on your servers
<1 dayto a working sandbox integration
Global by design

Every way your customers already pay

One checkout shows the right methods for each customer, filtered by country, currency and amount. Add a market by switching on a processor or partner bank; the checkout updates itself.

VISA
Cards
Pay
Apple Pay
G Pay
Google Pay
PayNow
Singapore
FPS
Hong Kong
GCash
Philippines
GrabPay
SEA
UPI
India
PayPal
Wallet
Bank
Transfers
Kaspi
Kazakhstan
3‑DS
Authentication
USDEURGBPSGDHKDAEDPHPINRTHBMYRIDRJPYKZTUZSTRY
For banks and payment institutions

Bring your licence. We bring the platform.

apay connects licensed banks and processors in Asia and the CIS to platforms that need modern payments. Partners plug in through one connector contract and get a merchant pipeline, a hosted checkout and an operations dashboard on day one.

Bank partner programmeDue‑diligence pack

Get started

Start a proof of concept this week

Get sandbox keys, run the demo checkout on your phone, and see payments and webhooks flow end to end. When you are ready, we switch on the processor or bank for your market.

Try the checkoutTalk to us

  • Sandbox keys and dashboard access the same day
  • Test cards for success, decline and 3‑D Secure
  • Signed webhooks with a sample receiver
  • Wallets on real processor sandboxes
  • Two‑week PoC playbook with success criteria