common utils of opps sdk
Project description
opps sdk 工具类
安装
远程下载并安装:
pip install opps-sdk
简介
为了提高客户接入的便捷性,本系统提供 SDK 方式介入,使用本 SDK 将极大的简化开发者的工作,开发者将无需考虑通信、签名、验签等,只需要关注业务参数的输入。
使用方法
初始化SDK
未入网前,可使用以下测试商户参数进行开发测试
import opps_sdk
public_key = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlfkjf2F4xsEsWFwVAjjOoqhEh6u0dMl2Z1xsTL/ytzyGRaMRXJUr47zdwpI6+3OZE+IlJwECp8T0jdFzml5vP8TWENQ4OMFt7aZ1Z/F7F9lpvMAQ+4WvucQ5ypRoLG/md0ZGnYOTb4Vnc8Pc3/fsd5UxD/nzOu5Lf4XU04FG1M0kYyjr4KelYvXPmSAVEIvik7m9kaX4oif/2RSyQhlw6gEO52TzWHrH+5w/PyTGA1xaIBAD9H7hB83nwydl1SW8u1WXiD6KTZmZ+bhi2GjeJ8KJgqBUNbN19g0DHeyHVxUAfSzOif4/ETrKw3JRjOItMpRWnfx6tcU9PmNgWx3ZhwIDAQAB"
private_key = "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCiWHVf8ygNPn927zTLeqfdhww/VEIs53a59jOseAmrBwodZIKYeKuUBArEKJeTzT5ny4OG7H2COfglRYV3EO7rZa6u1IoltnSKg7xPzk/ENTPDuC5uemiJ/xIAYrjAN2ThrkjGBFwcteAraoUxs1ac7AlrnyyrKYse2HK1uq+1xowTIhXLmlIg9o07JYbOQrQyuG48u1TjwZLxjOG96DnWOYn0mXmJC8OlAoDtIUos6eJawsEP3s1XyTDiCRQaO30k6pAbMcCSaRLtpEJPB3Yk7OjNybm/TyTsDXiMDlTsZtnPfJeTmkGcLg5KkZQ27Qv9nA5gYIhT7itPj6LaVL6zAgMBAAECggEAGSuf3yWDEzKabqU9yUKWHjmfA36b1/x3IvPyJQ5jaVnpDo+T0/H5oDRUOv+UKL1MrKkYFmY6O2Ojfpvdyo0cjfCw+bhIRvqX7RXpr3HsWh5pjTHUORrPdH3Qm7CytlKgWIE+FT19zpHAVNrqFb+ZcTEDcOU39r21LS4f8t8j+Qm0WJpV8M6hreWFpvHf1IFEuTUjKm/mZG9NENp+IHxm6CNvkE0LoENf8W5SzH2kx/ZMXcC6O75tV82k4XqoWiL0e2QCDln+Njw9RD78j6icLJJiZAxUZisji/vJ0wDTnHiPcU5pk7cj+pu3qgbeT2GThKRw2DR5HOJEp2tupeot+QKBgQDz1+apnit8twVpllZ2Ev4cPDQp98iXuF8ya3YmbFJbIvfK0ab2n62b1iRIqaW50Fu4hzsM/EGz3yvKoprXUHRcufKg5sO99FlpLE2ChdLRB+4Uy1gRwCwreil/ni5YPscpv/JepoJ+l0arc45N1PDGECp6wrPOVTSDmjKt7nBYVQKBgQCqcGzqcrP63VO8dgjq1GJeGszRKr6Q0aZQS3KKXdd9yf+rVyJ7uTI2GSJj1FBfuJ0R90dOlPHmzKng6oMT08wmYVT3SHuzpwtRKNss9kyb6akRRXfRTYcnhbXFT6nA1Yb/2slcxkaBSxpfZQuUoVOzPYmf/sp/j26c24fJExLi5wKBgDb2TzOkR0ERL9Mg49Qxa72JhGiBRWGNWUfQGQ2IFPgd5aR9pRip3UPm/L60HnrHkCUDtjezFEwq3YALLsOhitjrwNirqytBzHV8Wuw0pdQf6XYeb3dwzYPvQTNWwDN70wCCF2tmNLu79V3n6gd5G9xJAIozILw9UFzpgMrbl88RAoGAR0SzhmVoNOIPfaKtn+QnLcpvEpeZD91aegDSaGFNFmA89Fx/ItUR1eU0qCHDagM8SqLnwkgtzqCN+GqXXNcXaoUQjkZU045qAQngfDCRYDCYbYxqya5tcW1L0LG6/dNLm/jUcmLGYJIS+Qi7iu7anPyCa9CSxDwpuJVjdgTvxMkCgYBzkZ1YDrtw61dJkIdI2w1L1PEx5I1iIbHFB+UbwaPYcpHcCIGa4Cc91CF8tKTNkDf/rLbdyMP/hux9PEqlZSO5TIDxVcF5IlqfvKwn5Wpb6wnzeUj3xHOnJevGxpHptSYDsK7V891GQCb4yRI1E0sy9hFOO4XtINw27GiMHBp8ag=="
sys_id = "6666000018269234"
product_id = "SPIN"
opps_sdk.OppsClient.mer_config = opps_sdk.MerConfig(private_key, public_key, sys_id, product_id)
参数说明:
参数
中文名
public_key
公钥
private_key
私钥
sys_id
系统号
product_id
产品号
接口调用
以支付宝支付为例,根据接口文档说明,构建请求参数体
required_params = { "huifu_id": "6666000106120347", "trade_type": "A_NATIVE", "trans_amt": "1.00", "req_date": datetime.datetime.now().strftime('%Y%m%d'), "req_seq_id":generate_mer_order_id() "merOrdId": str(int(time.time())) + str(random.randint(100000, 9999999)), "goods_desc": "goods_desc", "notify_url": "virgo://http://www.xxx.com", }
调用接口
url = "https://spin.cloudpnr.com/top/trans/pullPayInfo" result = opps_sdk.request_post(url, required_params)
其他调用方式
除了通用的基于 BsPayClient 来调用接口之外,SDK 还针对部分重要交易接口提供了一种更便捷的方法,
将一些默认、非必须、无需特别关注的参数传递,以及数据脱敏、加密处理进行了封装。
使用方法如下所示:
response = opps_sdk.ScanPayment.create(huifu_id=huifu_id, trade_type=trade_type, trans_amt=amount, goods_desc="goods_desc", notify_url="virgo://http://www.xxx.com", **extra_info) print(response)
现支持模块功能列表如下
- 聚合扫码 ScanPayment
订单创建 - create
订单查询 - query
退款创建 - refund
退款查询 - refund_query
反扫 - scan_pay
关单 - close
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
opps-sdk-0.0.10.tar.gz
(15.7 kB
view details)
File details
Details for the file opps-sdk-0.0.10.tar.gz
.
File metadata
- Download URL: opps-sdk-0.0.10.tar.gz
- Upload date:
- Size: 15.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.22.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.7.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6986d37af49fb5bdde0494069e731d17073ea001d2672a6482c8def5e9962990 |
|
MD5 | 0cd31abf0687d3845ed16daea2cff7d7 |
|
BLAKE2b-256 | 42c5fee96143aa208a8ed2da1d49c9a11eeb9ff54bec1869ad0e27c2a40c1fac |