Have you registered to begin using Hosted Payments Page? Contact your Solution Engineer or [email protected]. During integration, you'll be able to specify your payment capture and 3D Secure settings.
Set up webhooks to be notified when the payment has been approved, so you can continue the sales fulfillment flow.
When a customer purchases something from you, you can create a Hosted Payments Page session by using the
post
/hosted-payments endpoint and providing us with details of the purchase.
To get a detailed view of all required and optional fields, see our API reference.
Note
Checkout.com does not support Hosted Payments Pages embedded within an iframe.
Note
http://localhost/ can only be used for the URL fields during testing and will not work in production.
post
https://api.checkout.com/hosted-payments
post
https://api.sandbox.checkout.com/hosted-payments
Some payment methods may require you to provide additional fields or specific values when you perform a payment request. Refer to the API reference for more details.
Payment method
Field requirements
Card payments
No additional requirements.
Apple Pay
Apple Pay is processed as a card transaction.
Google Pay
Google Pay is processed as a card transaction.
Alipay CN
amount must be provided
customer.email or customer.id must be provided
payment_type must be set to Regular or Recurring
products[] must be provided
for each product in products[], the following must be provided:
name
quantity
reference
unit_price
billing.address.country value must be CN, for China
currency value must be one of:
CNY
HKD
SGD
Alipay HK
amount must be provided
customer.email or customer.id must be provided
payment_type must be set to Regular or Recurring
products[] must be provided
for each product in products[], the following must be provided:
name
quantity
reference
unit_price
billing.address.country value must be HK, for Hong Kong
currency value must be one of:
HKD
SGD
Bancontact
customer.name must be provided
billing.address.country value must be BE, for Belgium
currency value must be EUR
Benefit Payment Gateway
billing.address.country value must be BH, for Bahrain
currency value must be BHD
reference must be provided
Dana
amount must be provided
customer.email or customer.id must be provided
payment_type must be set to Regular or Recurring
products[] must be provided
for each product in products[], the following must be provided:
name
quantity
reference
unit_price
billing.address.country value must be ID, for Indonesia
currency value must be one of:
IDR
HKD
SGD
EPS
billing.address.country value must be AT, for Austria
currency value must be EUR
GCash
amount must be provided
customer.email or customer.id must be provided
payment_type must be set to Regular or Recurring
products[] must be provided
for each product in products[], the following must be provided:
name
quantity
reference
unit_price
billing.address.country value must be PH, for the Philippines
currency value must be one of:
PHP
HKD
SGD
iDEAL
billing.address.country value must be NL, for Netherlands
currency value must be EUR
Kakao Pay
amount must be provided
customer.email or customer.id must be provided
payment_type must be set to Regular or Recurring
products[] must be provided
for each product in products[], the following must be provided:
name
quantity
reference
unit_price
billing.address.country value must be KR, for South Korea
currency value must be one of:
KRW
HKD
SGD
Klarna
products[] must be provided
customer.name must be provided
billing.address.country value must be one of:
AT, for Austria
AU, for Australia
BE, for Belgium
CH, for Switzerland
CZ, for Czech Republic
DE, for Germany
DK, for Denmark
ES, for Spain
FR, for France
FI, for Finland
GB, for United Kingdom
GR, for Greece
IE, for Ireland
IT, for Italy
NL, for Netherlands
NO, for Norway
PL, for Poland
PT, for Portugal
SE, for Sweden
currency value must be one of:
AUD
CHF
CZK
DKK
EUR
GBP
NOK
PLN
KNET
billing.address.country value must be KW, for Kuwait
currency value must be KWD
locale value must be ar – if no value is provided, the en-GB locale is used by default
Multibanco
customer.name must be provided
billing.address.country value must be PT, for Portugal
currency value must be EUR
Przelewy24
customer.name must be provided
customer.email must be provided
billing.address.country value must be PL, for Poland
currency value must be EUR or PLN
QPay
billing.address.country value must be QA, for Qatar
currency value must be QAR
description must be provided
stc pay
billing.address.country must be set to SA
currency value must be SAR
reference must be provided
Touch 'n Go
amount must be provided
customer.email or customer.id must be provided
payment_type must be set to Regular or Recurring
products[] must be provided
for each product in products[], the following must be provided:
name
quantity
reference
unit_price
billing.address.country value must be MY, for Malaysia
currency value must be one of:
MYR
HKD
SGD
TrueMoney
amount must be provided
customer.email or customer.id must be provided
payment_type must be set to Regular or Recurring
products[] must be provided
for each product in products[], the following must be provided:
name
quantity
reference
unit_price
billing.address.country value must be TH, for Thailand
currency value must be one of:
THB
HKD
SGD
Venmo
billing.address.country must be US, for the United States
When your customer completes the payment, they will be redirected to the success URL. The session ID (cko-session-id) or payment ID (cko-payment-id) is provided in the query parameter included in the redirect URL. It will look something this:
You can set up webhooks to be notified when the payment has been approved, so you can continue the sales fulfillment flow.
To keep track of the payments you request as a Hosted Payments Page, you can check the status using the id returned when you created the session. It will look like hpp_xGQBg0AXl3cM.
There are three statuses:
Payment Pending: The Hosted Payments Page can accept a payment from the customer. A payment may have been attempted by the customer but not completed successfully.
Payment Received: A payment has been received successfully using this Hosted Payments Page.
Expired: The Hosted Payments Page has expired and can no longer be accessed.
For a full explanation of the fields, see our API reference.