Reference

Checkout Form

HTML form-based integration for creating secure checkout sessions without JavaScript. Supports order management, customer creation, payment customization, and redirect handling with simple form submissions.

Form basic example

<form action="[path]/checkout/form" method="post">
  <input type="hidden" name="public_key" value="q9ZfVf7dT9g1uEJpXj7lZ0n2W8kYz4aLJc3p5Qw7s2A">
  <input type="hidden" name="mode" value="one-off"> <!-- recurring or save -->
  <input type="hidden" name="amount" value="100.00">
  <input type="hidden" name="order_description" value="My monthly subscription service">

  <input type="submit">
</form>

Form advanced example

<form action="[path]/checkout/form" method="post">
  <input type="hidden" name="public_key" value="q9ZfVf7dT9g1uEJpXj7lZ0n2W8kYz4aLJc3p5Qw7s2A">
  <input type="hidden" name="mode" value="one-off"> <!-- recurring or save -->
  <input type="hidden" name="amount" value="100.00">
  <input type="hidden" name="currency_lookups_id" value="loo_abc123...">

  <!-- [optional: redirects] -->
  <input type="hidden" name="return_url" value="https://www.merchant.com/success">
  <input type="hidden" name="cancel_url" value="https://www.merchant.com/cancel">
  <input type="hidden" name="notify_url" value="https://www.merchant.com/notify">

  <!-- [optional: order details] -->
  <!-- either pass the order_id or the order object -->
  <input type="hidden" name="order_id" value="ord_12345">
  <!-- create a new order -->
  <input type="hidden" name="order_reference" value="ORD0045">
  <input type="hidden" name="order_description" value="Monthly plan + setup">
  <input type="hidden" name="order_items_0_sku" value="plan_pro_monthly">
  <input type="hidden" name="order_items_0_name" value="Pro Plan (Monthly)">
  <input type="hidden" name="order_items_0_quantity" value="1">
  <input type="hidden" name="order_items_0_unit_amount" value="100.00">
  <input type="hidden" name="order_items_0_tax_amount" value="0">
  <input type="hidden" name="order_items_0_metadata_custom_field_1" value="custom data 1">
  <input type="hidden" name="order_items_0_metadata_custom_field_2" value="custom data 2">

  <!-- [optional: if no customer id or object is specified a form will show, here you can specify the fields to capture]-->
  <input type="hidden" name="customer_fields" value="reference,id_number,email,contact_number,billing,shipping">

  <!-- [optional: customer details] -->
  <!-- either pass the customer_id or the customer object -->
  <input type="hidden" name="customer_id" value="cus_abc123...">
  <!-- create a new customer -->
  <input type="hidden" name="customer_reference" value="CLN240919000001">
  <input type="hidden" name="customer_company_name" value="">
  <input type="hidden" name="customer_person_name" value="John">
  <input type="hidden" name="customer_person_surname" value="Doe">
  <input type="hidden" name="customer_client_type_lookups_id" value="loo_abc123...">
  <input type="hidden" name="customer_id_type_lookups_id" value="loo_abc123...">
  <input type="hidden" name="customer_id_number" value="900112....">
  <input type="hidden" name="customer_email" value="johndoe@mail.com">
  <input type="hidden" name="customer_contact_number" value="+27831234567">
  <input type="hidden" name="customer_billing_address_line1" value="1 Loop Street">
  <input type="hidden" name="customer_billing_address_line2" value="Floor 5">
  <input type="hidden" name="customer_billing_address_city_or_town" value="Cape Town">
  <input type="hidden" name="customer_billing_address_province_or_state" value="Western Cape">
  <input type="hidden" name="customer_billing_address_postal_or_zip_code" value="8001">
  <input type="hidden" name="customer_billing_address_country_lookups_id" value="loo_abc123...">
  <input type="hidden" name="customer_shipping_contact_name" value="Jane Doe">
  <input type="hidden" name="customer_shipping_contact_number" value="+27820000000">
  <input type="hidden" name="customer_shipping_address_line1" value="1 Loop Street">
  <input type="hidden" name="customer_shipping_address_line2" value="Floor 5">
  <input type="hidden" name="customer_shipping_address_city_or_town" value="Cape Town">
  <input type="hidden" name="customer_shipping_address_province_or_state" value="Western Cape">
  <input type="hidden" name="customer_shipping_address_postal_or_zip_code" value="8001">
  <input type="hidden" name="customer_shipping_address_country_lookups_id" value="loo_abc123...">
  <input type="hidden" name="customer_metadata_custom_field_1" value="custom data 1">
  <input type="hidden" name="customer_metadata_custom_field_2" value="custom data 2"> 

  <!-- [optional: populate to specify payment methods to show else all will show] -->
  <input type="hidden" name="payment_methods_ids" value="pam_abc123...,pam_abc123...">
  <!-- [optional: set the payment type: Direct Debit (Default), Pre-Authorization] -->
  <input type="hidden" name="payment_type_lookups_id" value="loo_abc13...">

  <!-- [optional: save cards for one-time payments] -->
  <input type="hidden" name="cards_save_cards" value="true">
  <!-- [optional: show previous saved cards for use to select from]-->
  <input type="hidden" name="cards_show_cards" value="true">

  <!-- [optional: notifications] -->
  <input type="hidden" name="notifications_send_invoice" value="true">
  <input type="hidden" name="notifications_send_confirmation_email" value="true">
  <input type="hidden" name="notifications_confirmation_email_override" value="accounts@example.com">

  <!-- [optional: customization] -->
  <input type="hidden" name="customization_locale" value="en-ZA">
  <input type="hidden" name="customization_theme" value="light">
  <input type="hidden" name="customization_type" value="page">
  <input type="hidden" name="customization_display_cancel_button" value="true">
  <input type="hidden" name="customization_display_total" value="true">
  <input type="hidden" name="customization_display_cart" value="true">
  <input type="hidden" name="customization_brand_primary" value="#00DC82">

  <input type="submit">
</form>

Request Parameters

Field
RequiredType
Description
Example
public_keyYStringPublic API key for authentication (generated under integrations)q9ZfVf7dT9g1uEJpXj7lZ0n2W8kYz4aLJc3p5Qw7s2A
modeYStringPayment mode - one-off, recurring, or saveone-off
amountYStringPayment amount100.00
currency_lookups_idNString(32)Currency lookup IDloo_abc123...
return_urlNStringURL to redirect on successful paymenthttps://www.merchant.com/success
cancel_urlNStringURL to redirect on cancelled paymenthttps://www.merchant.com/cancel
notify_urlNStringWebhook URL for payment notificationshttps://www.merchant.com/notify
order_idNString(32)ID of existing order (alternative to creating new order)ord_12345
order_referenceNString(35)Reference identifier for new order, if left blank a new reference will be generatedORD0045
order_descriptionYStringDescription of the order/item being purchasedMy monthly subscription service
order_items_0_skuNStringProduct SKU for first itemplan_pro_monthly
order_items_0_nameNStringProduct name for first itemPro Plan (Monthly)
order_items_0_quantityNIntegerItem quantity for first item1
order_items_0_unit_amountNStringUnit price for first item1200.00
order_items_0_tax_amountNNumberTax amount for first item0
order_items_0_metadata_custom_field_1NStringCustom metadata for first itemcustom data 1
order_items_0_metadata_custom_field_2NStringCustom metadata for first itemcustom data 2
customer_fieldsNStringComma-separated list of customer fields to capture in form (if no customer_id or customer object is specified)reference,id_number,email,contact_number,billing,shipping
customer_idNString(32)ID of existing customer (alternative to creating new customer)cus_abc123...
customer_referenceNString(35)Reference to identify a specific customerCLN240919000001
customer_company_nameNString(64)Company name if applicable
customer_person_nameNString(32)Customer's first nameJohn
customer_person_surnameNString(32)Customer's surnameDoe
customer_client_type_lookups_idNString(32)Client type lookup IDloo_abc123...
customer_id_type_lookups_idNString(32)ID type lookup (e.g. South African ID, passport)loo_abc123...
customer_id_numberNString(13)ID number900112....
customer_emailNString(128)Customer email addressjohndoe@mail.com
customer_contact_numberNString(16)Customer contact number+27831234567
customer_billing_address_line1NStringBilling address line 11 Loop Street
customer_billing_address_line2NStringBilling address line 2Floor 5
customer_billing_address_city_or_townNStringBilling cityCape Town
customer_billing_address_province_or_stateNStringBilling province/stateWestern Cape
customer_billing_address_postal_or_zip_codeNStringBilling postal code8001
customer_billing_address_country_lookups_idNString(32)Billing country lookup IDloo_abc123...
customer_shipping_contact_nameNStringShipping contact nameJane Doe
customer_shipping_contact_numberNString(16)Shipping contact number+27820000000
customer_shipping_address_line1NStringShipping address line 11 Loop Street
customer_shipping_address_line2NStringShipping address line 2Floor 5
customer_shipping_address_city_or_townNStringShipping cityCape Town
customer_shipping_address_province_or_stateNStringShipping province/stateWestern Cape
customer_shipping_address_postal_or_zip_codeNStringShipping postal code8001
customer_shipping_address_country_lookups_idNString(32)Shipping country lookup IDloo_abc123...
customer_metadata_custom_field_1NStringCustom metadata field 1custom data 1
customer_metadata_custom_field_2NStringCustom metadata field 2custom data 2
payment_methods_idsNStringComma-separated list of payment method IDs to showpam_abc123...,pam_abc123...
payment_type_lookups_idNString(32)Payment type lookup ID (Direct Debit, Pre-Authorization)loo_abc13...
cards_save_cardsNBooleanWhether to save card for future use (for one-time payments)true
cards_show_cardsNBooleanWhether to show previous saved cards for selectiontrue
notifications_send_invoiceNBooleanSend invoice to customertrue
notifications_send_confirmation_emailNBooleanSend confirmation emailtrue
notifications_confirmation_email_overrideNStringOverride email for confirmationsaccounts@example.com
customization_localeNStringCheckout page localeen-ZA
customization_themeNStringCheckout page theme - light or darklight
customization_typeNStringDisplay type - page or embedpage
customization_display_cancel_buttonNBooleanShow cancel button on checkouttrue
customization_display_totalNBooleanDisplay total amounttrue
customization_display_cartNBooleanDisplay cart detailstrue
customization_brand_primaryNStringPrimary brand color hex code#00DC82

Copyright © 2024 Kwik