python implementation for Ksher 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-api/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, andpubkeyare correctly set. - Replace URLs with your actual endpoint URLs.
pubkeyinside SDK, The file name isksher_pubkey.pem. This value is optional, you not need to pass with it.- Use the correct
channel_listbased on your integration.
📖 For full documentation, visit Ksher API Docs.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ksher-1.0.2.tar.gz.
File metadata
- Download URL: ksher-1.0.2.tar.gz
- Upload date:
- Size: 3.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c032c453f301475dae95865048c89033598e7efe316aafaae853edb43a81429c
|
|
| MD5 |
e286736d32de46466d7795a45321cc7d
|
|
| BLAKE2b-256 |
e2e889cb718d3959c8d77e4489c117c3d394c0fc4c769b4731c0f1a01e6528eb
|
File details
Details for the file ksher-1.0.2-py3-none-any.whl.
File metadata
- Download URL: ksher-1.0.2-py3-none-any.whl
- Upload date:
- Size: 3.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3589764a12907db15a334cd4bfc38a9898ac51d56cbc5bd5ed397ac2daab88a1
|
|
| MD5 |
be2967a41c144ba29c2a1eeca59d6ca8
|
|
| BLAKE2b-256 |
a6a8869bd4e5da0ae81f11f235ac76cfd145a9cace0dc1ac0bd051af565c56f5
|