Skip to content

Hosted

Introduction

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:
  1. Hosted: Single-page checkout, providing a complete URL for consumers to redirect and pay; requires minimal integration cost and simplest processing
  2. Drop-in: Embedded checkout that can be integrated into merchant pages, supporting certain customization
  3. Component: Component-based checkout that can seamlessly integrate into merchant pages with high customization

To integrate Component/Drop-in, you need to provide your domain name to remove cross-origin restrictions

Supported Payment Methods

  • Visa
  • MasterCard
  • JCB
  • American Express
  • Discover
  • Diners Club
  • Apple Pay
  • Google Pay
  • WechatPay
  • Alipay+

Payment Process

Description of image
  1. Get your transaction key
  2. Prepare your notification webhook address, provide it in the request parameters, and notifications will be sent to the merchant at key payment nodes
  3. Prepare your redirect webhook address, provide it in the request parameters, and it will redirect after checkout payment is completed
  4. Initiate the request
  5. 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.

Description of image

Mode Differences

HostedDrop-inComponent
Integration MethodRedirect to PayKKa's independent payment pageDirectly embedded in merchant website/App pagesDirectly embedded in merchant website/App pages
Customization LevelLow, dependent on payment provider's theme templateMedium, merchants can customize UI and interaction flow to some extentHigh, merchants can highly customize UI and interaction flow
Technical RequirementsLow, only requires API integrationModerate, requires API and frontend component integrationHigh, requires API and frontend component integration, customizable combination
FlexibilityDerived from PayKKa capabilities, relatively fixed functionalityDerived from merchant integration, can provide richer functionalityDerived from merchant integration, can provide the richest functionality
User ExperiencePage redirect, requires leaving merchant website to new pageSeamless experience, complete payment within merchant websiteSeamless experience, complete payment within merchant website
Trust LevelRelies on merchant and PayKKa brand site payment trustRelies on merchant site to establish payment trustRelies on merchant site to establish payment trust

Purchase and Recurring

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.

Integration Method

  1. Currently, PayKKa's recurring payment feature requires the merchant to initiate it periodically
  2. 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
  3. 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"
  }
}

Store Card Information

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 belowDescription of image

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"
    },
    ...
}

3DS Processing

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.

Validity Period

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

Error Code

See Transaction Error Code

Result Notification

Reference Webhook