01简体中文zh-Hans-HK
订单说明
Merchant
¥ 68
合计¥ 68 CNY
选择支付方式
更多支付方式+2
点击下方按钮,即表示你同意服务条款与隐私政策。
由 Waffo 安全处理
9:41
https://checkout.waffo.com/
Accept one-time payments and subscriptions through one integration. Waffo handles local payment methods and languages, with checkout designed for desktop and mobile browsers.
A single integration supports one-time purchases and subscription billing.
Local languages and payment methods are matched automatically to reduce cross-border checkout friction.
Checkout is designed for both desktop and mobile browsers, so customers can pay on the screen they use.
New payment methods, page updates and security patches are handled by the Waffo team.
Choose a hosted page or embed checkout in your product. Both use Waffo’s payment and subscription capabilities; you decide how much of the frontend to manage.
Waffo hosts the whole page. Create a session from your backend, redirect the shopper to the secure URL Waffo returns, and they come back when the payment is done.
Waffo-hosted page
Waffo Checkout resolves the available methods from payment mode, region, currency and your own business rules — one checkout, a different list in every market.
From creating the order to confirming the payment, Waffo runs a standard flow that the shopper never has to think about.
The shopper clicks checkout on your site and your backend creates a Payment Session or Subscription.
Depending on the integration, the shopper is redirected to the Waffo-hosted page or the component opens in place.
The interface language follows the market of the method the shopper picks, so there is less to read and less to misread.
Card details or a QR scan, with 3DS run only when it is required. A failure keeps the page open and names the reason so the shopper can retry.
The shopper lands on the success page while Waffo posts a webhook to your server, so order state stays in sync.
POST https://yourstore.com/webhooks/waffo { "eventType": "PAYMENT_NOTIFICATION", "paymentRequestId": "req_8Kd2f19", "status": "SUCCESS" }
Brand color, text color, radius and layout are all configuration, not a fork.
Apple Pay
Google Pay
Payeasy Online Banking
Credit/Debit CardWaffo Checkout resolves the interface language from the locale the merchant passes, the visitor’s browser preference and the region their IP resolves to, in that order of precedence — the shopper never has to switch it.
Checkout composes with the rest of the payment stack, so the path you choose changes how much frontend you own — not what you can charge for.
The least code for one-time or subscription payments: create a session, redirect, done.
const waffo = Waffo.fromEnv(); const res = await waffo.order().create({ paymentRequestId: genRequestId(), // idempotency orderAmount: '12.90', orderCurrency: 'SGD', notifyUrl: 'https://yourstore.com/webhooks/waffo', successRedirectUrl: 'https://yourstore.com/paid', }); // Waffo hosts the page — hand the shopper the link. redirect(webUrlOf(res.getData().orderAction));
Mount the checkout via SDK or component when the experience and styling should be under your control.
const waffo = await loadWaffo(PUBLISHABLE_KEY); // orderId comes from your own /api/orders route, // which runs the server snippet above. const checkout = await waffo.checkout.mount('#pay', { orderId, appearance: { theme: 'light', layout: 'split' }, onComplete: ({ status }) => { if (status === 'SUCCESS') router.push('/paid'); }, });
Create payments and subscriptions, query state, receive notifications, and drive checkout behaviour dynamically.
export async function POST(req: Request) { const event = await waffo.webhooks.verify( await req.text(), req.headers.get('waffo-signature'), ); if (event.eventType === 'PAYMENT_NOTIFICATION') { await fulfil(event.paymentRequestId, event.status); } return new Response(null, { status: 200 }); }
Checkout supports 480+ payment methods worldwide. Which ones a given shopper sees depends on their region and on your own configuration.
Yes. Checkout complies with the relevant payment security and compliance standards, including PCI DSS, and handles sensitive payment data over secure channels.
The checkout page stays open and names the reason, so the shopper can retry or switch card. Common reasons are insufficient funds, wrong card details, or a decline from the issuing bank.
Two paths, one promise: you build the product, Waffo runs the payments.