Alternative Payment Methods
Checkout Alternative Payment Methods
Integrate Bex (BKM Express), Garanti Pay (GPay), Cash Register, and Confirmation Payment into your checkout. Each method follows a distinct step sequence—use the one that matches your storefront configuration.
Bex is a bank consortium payment method. The flow covers BIN lookup, nonce generation, installment selection, and payment completion.
Garanti Pay (GPay) redirects customers to an external page for QR-code or link-based payment and returns them upon completion.
Cash Register is a point-of-sale method for store staff. It supports installment selection and in-store payment completion.
Confirmation Payment lets the customer place an order first and confirm payment later through a separate channel. The flow includes agreement review and a confirmation step.
Authentication
These endpoints support both authenticated and anonymous sessions.
Authenticated users: Session cookie (
sessionid) tracks checkout progress.Anonymous users: Guest checkout is available when the
CAN_GUEST_PURCHASEsetting is enabled.
Request Format
Include the following header in all checkout requests:
x-requested-with:
XMLHttpRequest
Dynamic Settings
The following settings are managed at runtime through the admin interface and do not require a server restart.
CASH_REGISTER_AUTH_CONF
Authentication credentials for the cash register payment service. Includes the service username and password.
INSTALLMENT_FILTERS
Filters applied during Bex and Cash Register installment selection to restrict the available options.
Static Settings
The following settings are configured in the server environment and require a restart to take effect.
DEFAULT_CARD_SLUG
Fallback card identifier used when a Bex BIN number lookup returns no match. Defaults to other.
GPAY_BIN_NUMBER
The identifier used to look up the virtual card for Garanti Pay transactions. Must match a record in the database. Defaults to GPAY00.
CASH_REGISTER_DEFAULTS
Fallback store staff information (staff ID, email address, and store ID) used when the corresponding request headers are absent.
Last updated
Was this helpful?

