Use payMethodType and payMethodName to control which payment methods are displayed in the cashier.For payment method exceptions and App WebView / iframe limitations, see Payment method integration notes.
The language must match the currency/country. For example, an order with IDR currency can only use id-ID or en; specifying pt-BR returns error code A0026.
en is the universal language and works with all currencies and countries.
Currencies not listed in the table above (e.g. USD, EUR, SGD) are only supported with en.
These variables are injected into the cashier UI rendering layer and override the default theme. They affect the payment method selection page, card form page, transition page, and payment result page.
Log in to the Merchant Portal and set a global default theme on the cashier configuration page. This is the best option when all transactions should share a unified brand style.
Pass theme configuration when initializing the frontend SDK (@waffo/payment-sdk). This has the lowest priority and takes effect only when neither the API nor the Merchant Portal has a theme configured.
Use orderExpiredAt to set the order expiration time (ISO 8601, UTC+0).
{ "orderExpiredAt": "2026-03-25T11:00:00.000Z"}
This field controls the time window during which the user can submit the order in the cashier. Once the order is submitted to the payment channel, the expiration time is governed by the payment method itself. A small number of payment methods support passing a channel-side expiration time from the merchant. Check the Payin page in the Portal for expiration details per payment method.
Both HTTPS URLs and deeplinks (e.g. for in-app scenarios) are supported.
Redirect URLs control the user experience only and do not represent the payment result. Always rely on Webhooks or the query API for the authoritative payment outcome.