Skip to main content

Python

Python Github SDK Python SDK สำหรับการเชื่อมต่อ python กับ Ksher Payment Gateway สามารถตรวจสอบเอกสาร API อย่างเป็นทางการของเราได้ที่นี่

Requirement#

  • Python 3.7
    • python 3 เวอร์ชันอื่นๆสามารถงานได้เช่นกัน แต่ python package version อาจมีการติดตั้งซ้ำซ้อนกัน
  • Ksher Payment API Account
    • การติดต่อขอบัญชีสำหรับทดสอบ โปรดติดต่อ solutions@ksher.com
  • API_URL
    • นอกจากบัญชี sandbox แล้ว ร้านค้าจะได้รับ API_URL ในรูปแบบนี้: s[ชื่อเฉพาะ].vip.ksher.net
  • API_TOKEN

SDK ดังกล่าวสำหรับ *.vip.ksher.net เท่านั้น

วิธีการติดตั้ง#

สามารถ git clone repository ดังกล่าวและติดตั้งแพ็คเกจ

ขั้นตอนที่1: clone repository#

git clone https://github.com/ksher-solutions/payment_sdk_python

ขั้นตอนที่2: เข้าถึง source code และ ติดตั้ง package ผ่าน pip install#

cd payment_sdk_python
pip install -r requirements.txt
pip install .

วิธีการใช้งาน#

you need to first init the payment object and that you can use it to; ร้านค้าสามารถเริ่มต้นการชำระเงิน โดยใช้ API ดังต่อไปนี้

  • สร้างรายการใหม่
  • ตรวจสอบถานะรายการ
  • คืนเงิน

ตั้งค่า Object#

from ksherpay import Payment
API_URL = 'https://sandboxbkk.vip.ksher.net'
API_TOKEN = testtoken1234
payment_handle = Payment(base_url=API_URL, token=API_TOKEN)

สร้างรายการใหม่#

merchant_order_id จะต้องไม่ซ้ำกัน มิเช่นนั้นการสร้างรายการดังกล่าวจะ error

data = {
"amount": 100,
"merchant_order_id": "OrderId000001",
"channel": "linepay,airpay,wechat,promptpay,truemoney,card",
"note": "string",
"redirect_url": "http://www.baidu.com",
"redirect_url_fail": "http://www.baidu.com",
"signature": "string",
"timestamp": "string"
}
resp = payment_handle.order.create(data)
print(resp.status_code) # หากการรายการสำเร็จจะ return 200

ตรวจสอบถานะรายการ#

merchant_order_id = 'OrderId000001'
resp = payment_handle.order.query(merchant_order_id)
print(resp.status_code) # หากการตรวจสอบรายการสำเร็จจะ return 200

การคืนเงิน#

Refund_id ะต้องไม่ซ้ำกัน มิเช่นนั้นการคืนเงินรายการดังกล่าวจะ error

merchant_order_id = 'OrderId000001'
refund_id = "Refund_" + merchant_order_id
data = {
'refund_amount':100,
'refund_order_id':refund_id
}
resp = payment_handle.order.refund(merchant_order_id,params=data)
print(resp.status_code) # this should return 200