The checkout product is an intelligent system that integrates multiple payment methods. It is initiated by merchants to create a checkout page, where certain parameters (such as amount, currency, payment methods) can be specified without requiring any processing of the consumer flow. It supports multiple payment methods.
- Simple development, fast deployment
- No PCI certification required
- Customizable checkout page styles and logo (please contact your account manager for configuration)
For checkout payments, we provide three integration methods:
- Hosted: Single-page checkout, providing a complete URL for consumers to redirect and pay; requires minimal integration cost and simplest processing
- Drop-in: Embedded checkout that can be integrated into merchant pages, supporting certain customization
- Component: Component-based checkout that can seamlessly integrate into merchant pages with high customization
- Visa
- MasterCard
- JCB
- American Express
- Discover
- Diners Club
- Apple Pay
- Google Pay
- WechatPay
- Alipay+

- Get your transaction key
- Prepare your notification webhook address, provide it in the request parameters, and notifications will be sent to the merchant at key payment nodes
- Prepare your redirect webhook address, provide it in the request parameters, and it will redirect after checkout payment is completed
- Initiate the request
- Merchants can integrate the Query Session interface to get checkout results, or directly integrate the Query Transaction interface to get order results (if there is no final result, it means the consumer did not initiate a transaction)
API: Create Session
PayKKa's checkout (identifier: session_id) represents a payment intention in page form, and the final payment result is determined by the transaction (identifier: order_id) result. Therefore, you need to focus on the final status of the order to determine the payment result.
Checkout Query: Used to query the status and payment result of the checkout. If the consumer has not initiated payment, no transaction order will be generated.
Transaction Query: Used to query the payment result of the transaction order. After the order reaches its final state, it will be notified through webhook.

| Hosted | Drop-in | Component | |
|---|---|---|---|
| Integration Method | Redirect to PayKKa's independent payment page | Directly embedded in merchant website/App pages | Directly embedded in merchant website/App pages |
| Customization Level | Low, dependent on payment provider's theme template | Medium, merchants can customize UI and interaction flow to some extent | High, merchants can highly customize UI and interaction flow |
| Technical Requirements | Low, only requires API integration | Moderate, requires API and frontend component integration | High, requires API and frontend component integration, customizable combination |
| Flexibility | Derived from PayKKa capabilities, relatively fixed functionality | Derived from merchant integration, can provide richer functionality | Derived from merchant integration, can provide the richest functionality |
| User Experience | Page redirect, requires leaving merchant website to new page | Seamless experience, complete payment within merchant website | Seamless experience, complete payment within merchant website |
| Trust Level | Relies on merchant and PayKKa brand site payment trust | Relies on merchant site to establish payment trust | Relies on merchant site to establish payment trust |
If your payment requirements involve recurring charges from customers' bank cards or e-wallets at regular intervals (such as monthly, yearly, or custom time intervals) without requiring manual authorization each time, you can use PayKKa's recurring payment feature.
- Currently, PayKKa's recurring payment feature requires the merchant to initiate it periodically
- For the first recurring payment, PayKKa needs to store the card information of the cardholder, and subsequent recurring payments only need to provide the cardholder's token
- For subsequent recurring payments, only the cardholder's token needs to be provided, without repeating card information
First recurring request example Create Session
{
"merchant_id": "18356675194960",
"payment_type": "RECURRING",
"authorisation_type": "FINAL_AUTH",
"capture_method": "AUTOMATIC",
"trans_id": "m3246749195217",
"expire_time": "2025-05-05T17:17:24+08:00",
"session_mode": "HOSTED",
"display_locale": "fr-FR",
"currency": "HKD",
"amount": "800",
"return_url": "https://url",
"mit": false,
"payment": {
"store_payment_method": true,
"token_usage": "SUBSCRIPTION",
"shopper_reference": "854f5baaf0a735139c583c4cea14d14c"
},
"browser": {
// Consumer terminal information
},
"goods": [
// Product information
],
"bill": {
// Billing information
},
"shipping": {
// Shipping information, required for physical goods
},
"customer": {
// Consumer/customer information
}
}Subsequent recurring request example Initiate Transaction
{
"merchant_id": "18356675194960",
"payment_type": "RECURRING",
"authorisation_type": "FINAL_AUTH",
"capture_method": "AUTOMATIC",
"trans_id": "m3246749195217",
"currency": "HKD",
"amount": "800",
"mit": true,
"recurring_agreement_id": "RA4264524535435435",
"payment": {
"payment_method": "BANKCARD",
"shopper_reference": "558b5cb1b8cbcc8496062155c69cf2ab",
"token": "TK20231435132143229"
}
}PayKKa has achieved PCI-DSS Level 1 certification, with a complete and secure cardholder data encryption storage solution, and does not store sensitive cardholder data
PayKKa currently provides two forms of card information storage to provide better experience for merchants and consumers
- Quick Payment: Creating a checkout can request to store card information to provide a smoother payment experience for the current consumer's next payment (non-recurring). For the next payment (checkout form), no need to enter card information again, only CVV is required, as shown below

Request example
{
...
"payment": {
"store_payment_method": true,
"token_usage": "CARD_ON_FILE",
"shopper_reference": "854f5baaf0a735139c583c4cea14d14c"
},
...
}- Recurring Payment: Creating a recurring checkout requires mandatory storage of card information, and the next payment (recurring) requires carrying the token as a payment credential
Request example
{
...
"payment": {
"store_payment_method": true,
"token_usage": "SUBSCRIPTION",
"shopper_reference": "854f5baaf0a735139c583c4cea14d14c"
},
...
}The checkout product does not require you to handle 3DS authentication. PayKKa will automatically perform intelligent security detection and processing of payments. You only need to focus on the payment results.
The maximum validity period for the checkout is 24 hours. After expiration, payment cannot be continued.
If payment is not initiated before expiration, there will be no notification, and the checkout status will be status=EXPIRED
Reference Webhook