Skip to main content
In HaiPay’s payment architecture, Payment Methods (what the customer pays with—such as cards, Apple Pay, Google Pay, or local e-wallets) and Checkout Integration Modes (how the checkout UI is presented to the customer) are decoupled:
  • Whether you are building a one-time payment, an MIT (Merchant-Initiated Transaction) authorization, or a recurring subscription, your server calls the corresponding create endpoint.
  • The API response returns both payUrl and clientToken—you simply choose whether to redirect the customer to HaiPay’s hosted checkout via payUrl (Checkout Mode) or mount the embedded component on your own page via clientToken (Component Mode).

Checkout Mode

Deploy in checkout mode for quick verification. Use the returned payUrl to redirect users to a HaiPay-hosted payment page with almost zero frontend code.

Component Mode

Deploy in component mode for optimal build efficiency. Use the returned clientToken to mount a pre-built payment UI directly inside your page.
Comparison between Component Mode (deploy in component mode for optimal build efficiency) and Checkout Mode (deploy in checkout mode for quick verification)

Visual and architectural comparison between Component Mode and Checkout Mode

Comparison & Selection Matrix

Following industry standards for checkout experience and PCI compliance scope, here is how the two integration modes compare:
HaiPay Component Mode is designed as an extensible payment container. Beyond cards (supporting both credit and debit cards across VISA / MasterCard / JCB / AMEX / Diners / Discover), Apple Pay, and Google Pay, regional e-wallets and local payment methods will progressively become available in Component Mode. Once enabled on your merchant account, new methods can be rendered without rebuilding your checkout frontend.

Dynamically Controlling Displayed Methods & Order (paymentMethods vs. inBankCode)

When calling Card Collection (/usd/collect/apply), MIT Apply (/usd/mit/apply), or Subscription Apply (/subscription/apply), you can control whether a single payment method or a dynamically ordered list is presented:
Important Rules:
  1. inBankCode and paymentMethods are mutually exclusive: when inBankCode is omitted, paymentMethods is required, and vice versa.
  2. Dynamic filtering and top-to-bottom ordering via paymentMethods also applies to the Global Cashier (/global/cashier/collect/apply).

How to Choose?

  • Quick verification & fastest launch: Launch a complete payment flow in hours with virtually zero frontend work.
  • Link-based or cross-channel scenarios: Ideal for mobile H5, email invoices, chat links, or lightweight apps.
  • Zero UI maintenance: Let HaiPay handle responsive layout, browser compatibility, and security isolation.
👉 Read the Checkout Mode Guide
Last modified on November 12, 2026