本节将进行完整的虚拟订单请求发送
def get_order(shop_no, need_pay, return_url, backend_url, hash_a1, hash_a2, hash_b1, hash_b2):
url = 'https://sandbox.sinopac.com/QPay.WebAPI/api/Order'
origin_message = {
'ShopNo': shop_no,
'OrderNo': get_order_no(need_pay),
'Amount': 500 * 100,
'CurrencyID': 'TWD',
'PayType': 'A',
'ATMParam': {
'ExpireDate': '20210929'
},
'CardParam': {},
'PrdtName': '虚拟帐号订单',
'ReturnURL': return_url,
'BackendURL': backend_url
}
origin_json_message = json.dumps(origin_message, ensure_ascii=False, separators=(',', ':'))
print(origin_json_message)
hash_id = get_hash_id(hash_a1, hash_a2, hash_b1, hash_b2)
nonce = get_nonce(shop_no)
sign = get_sign(origin_json_message, nonce, hash_id)
messge = get_message(hash_id, origin_json_message, get_iv(nonce))
print(messge)
reqest_body = {
'Version': '1.0.0',
'ShopNo': shop_no,
'APIService': 'OrderCreate',
'Sign': sign,
'Nonce': nonce,
'Message': messge
}
r = requests.post(url=url, json=reqest_body)
return r.json()
shop_no = 'NA0249_001'
hash_a1 = '86D50DEF3EB7400E'
hash_a2 = '01FD27C09E5549E5'
hash_b1 = '9E004965F4244953'
hash_b2 = '7FB3385F414E4F91'
need_pay = True
order_url = 'https://sandbox.sinopac.com/QPay.WebAPI/api/Order'
return_url = 'http://10.11.22.113:8803/QPay.ApiClient/Store/Return'
backend_url = 'http://10.11.22.113:8803/QPay.ApiClient/AutoPush/PushSuccess'
将收到的response print出来
print(get_order(shop_no, need_pay, return_url, backend_url, hash_a1, hash_a2, hash_b1, hash_b2))
结果如下
E3501 – 讯息内容错误
继续盘查是什麽问题
<<: 连续 30 天 玩玩看 ProtoPie - Day 15
>>: [Day17] - Django-REST-Framework 第一个 API 实作
1. 推资料进新分支 (建立新分支 + 推资料进新分支) (1)建立新专案 命名新专案,并记录网址 ...
Hi Dai Gei Ho~ 我是 Winnie ~ 在今天文章中,我们要来继续延伸 昨天文章的主题...
在IT行业工作了26年左右之後,我在2018年成功实现了年度目标,在9个月内通过了19项考试,重新...
绑定事件就是可以回传在执行时的动作位置,虽然说有很多的不同事件可以使用,但是要注意,当滑鼠与键盘同时...
想知道如何在云端上传递和处理来自使用者的网路请求讯息吗?AWS的SQS可以帮助我们做到这一点。我们往...