Skip to main content

Two checkout modes

Waffo supports two checkout integration modes. Choose the one that fits your needs:
  • Waffo-hosted checkout: Waffo provides the complete payment page. Users select a payment method and complete payment on the Waffo side.
  • Merchant-built checkout (direct API): The merchant builds their own payment page. Users select a payment method on the merchant side, and the merchant specifies the payment channel via API parameters.

Comparison

DimensionWaffo CheckoutMerchant-built checkout
Payment method selectionUser selects on the Waffo checkout pageUser selects on the merchant page
Integration complexityLow (redirect only)High (custom UI + specify payment method parameters)
Payment method coverageAutomatic full coverage; new methods require no code changesMust maintain the supported list manually
PCI DSS complianceHandled by WaffoMerchant is responsible (card payment scenarios)
UI customizationSupports theme color, logo, language, etc.Fully custom
Suitable forMost merchantsLarge merchants with their own checkout

Waffo Checkout: request parameters

When users select a payment method on the Waffo side, the merchant does not need to pass payMethodType or payMethodName. The Waffo checkout automatically displays all available payment methods. For the full payment method parameter rules and examples, see Cashier integration - Customization options.

Merchant-built checkout: request parameters

The user has already selected a specific payment method on the merchant page. Pass parameters to tell Waffo which channel to use.
Card payment: Do not pass payMethodName; pass payMethodType only. Waffo automatically identifies Visa / Mastercard / JCB / AMEX via the card BIN.VA: Pass only payMethodType: "VA". The user selects the specific bank on the Waffo side.E-wallet: Pass payMethodName to specify the wallet (e.g., DANA, GCash). This bypasses the Waffo checkout page and sends the user directly to the specified wallet’s payment flow. The Waffo checkout itself supports all payment methods; passing payMethodName is specifically for routing users straight to a given wallet without showing the checkout selection screen.
For the full request examples per payment method, see Cashier integration - Customization options.

Embedding options

After receiving orderAction, you can direct the user to the payment page via redirect, iframe embed, or App WebView. For each option’s suitable scenarios and requirements, see Checkout integration steps and Payment method integration notes.