python implementation for Khser Payment API.
Project description
Ksher SDK for Python
Ksher payment SDK for Python.
📄 Documentation: API Reference
Available SDKs
Ksher SDK is available in multiple languages:
- Java: Ksher SDK (Java)
- Python: Ksher SDK (Python)
- Go: Ksher SDK (Go)
- PHP: Ksher SDK (PHP)
- .NET Core: Ksher SDK (.NET Core)
- Node.js: Ksher SDK (Node.js)
📦 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
, andpubkey
are correctly set. - Replace URLs with your actual endpoint URLs.
pubkey
inside SDK, The file name isksher_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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ksher-1.0.0.tar.gz
(3.6 kB
view details)
Built Distribution
ksher-1.0.0-py3-none-any.whl
(3.6 kB
view details)
File details
Details for the file ksher-1.0.0.tar.gz
.
File metadata
- Download URL: ksher-1.0.0.tar.gz
- Upload date:
- Size: 3.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.21
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
9dff1b8f0676cea9c2fc66fb3a015ebc358fce117c29c53032beffe1a4e3eb54
|
|
MD5 |
dc26d567ec26c821f257c22770305558
|
|
BLAKE2b-256 |
abdaf1a8307b4b902653ae6e4c3798d85ee9090b273ad81d73d06dd499a92f1d
|
File details
Details for the file ksher-1.0.0-py3-none-any.whl
.
File metadata
- Download URL: ksher-1.0.0-py3-none-any.whl
- Upload date:
- Size: 3.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.21
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
367c4d93a20890032e2c1d04c8c942c0d689bf4926969c9031a4f7774628733d
|
|
MD5 |
3aaa4a1095a0f123aef212d03e17b66f
|
|
BLAKE2b-256 |
0e5e6d81181b94b0461a5811bb49079efca0046d359251e3522b642ff82d5510
|