Ksher SDK for Python
Ksher payment SDK for Python.
📄 Documentation: API Reference
Available SDKs
Ksher SDK is available in multiple languages:
📦 Installation
There are two ways to install this package:
Option 1: Install via Pip
pip install ksher
Option 2: Clone and Install Manually
Step 1: Clone the Repository
git clone https://github.com/ksher-solutions/ksher_sdk_python.git
Step 2: Navigate and Install Dependencies
cd ksher_sdk_python
pip install -r requirements.txt
pip install .
Alternatively, install locally with:
pip install ./ksher_sdk_python --user
🚀 How to Use
First, initialize the payment object to perform various payment actions:
- Initialize Payment Object
- Create New Order
- Query Order Status
- Refund an Order
🔹 Redirect API (Default)
To use the Redirect API, initialize as follows:
from ksher.ksher_pay_sdk import KsherPay
appid = "mch35000"
privatekey = "/path/to/mch_privkey.pem"
pubkey = "/path/to/ksher_pubkey.pem"
payment_handle = KsherPay(appid, privatekey, pubkey)
data = {
"total_fee": "100",
"fee_type": "THB",
"mch_code": "",
"refer_url": "http://www.example.com",
"mch_redirect_url": "http://www.example.com/success",
"mch_redirect_url_fail": "http://www.example.com/fail",
"mch_notify_url": "http://www.example.com/notify",
"product_name": "",
"channel_list": "promptpay,linepay,airpay,truemoney,atome,card,ktc_instal,kbank_instal,kcc_instal,kfc_instal,scb_easy,bbl_deeplink,baybank_deeplink,kplus,alipay,wechat,card,ktc_instal,kbank_instal,kcc_instal,kfc_instal"
}
data['mch_order_no'] = "HelloWebsite"
resp = payment_handle.gateway_pay(data)
🔹 C_Scan_B API (QR Code Payment)
To use the C_Scan_B API, specify the API type when initializing:
from ksher.ksher_pay_sdk import KsherPay
appid = "mch35000"
privatekey = "/path/to/mch_privkey.pem"
pubkey = "/path/to/ksher_pubkey.pem"
payment_handle = KsherPay(appid, privatekey, pubkey)
data = {
"mch_order_no": "202208101150",
"total_fee": "100",
"fee_type": "THB",
"channel": "promptpay",
"notify_url": "http://www.example.com/notify"
}
data['mch_order_no'] = "HelloKiosk"
resp = payment_handle.native_pay(data)
📌 Notes
- Ensure that the
appid
, privatekey
, and pubkey
are correctly set. - Replace URLs with your actual endpoint URLs.
pubkey
inside SDK, The file name is ksher_pubkey.pem
. This value is optional, you not need to pass with it.- Use the correct
channel_list
based on your integration.
📖 For full documentation, visit Ksher API Docs.