chore: initialize tuhui repository

This commit is contained in:
Codex
2026-03-08 19:28:32 +08:00
commit ee10c46aae
189 changed files with 17754 additions and 0 deletions

View File

@@ -0,0 +1,157 @@
# Ysm-SDK-python
易收米支付Python SDK提供支付相关API的Python实现。
## 安装依赖
```bash
pip install -r requirements.txt
```
或者手动安装:
```bash
pip install aiohttp fastapi uvicorn jinja2 python-multipart
```
## 文件说明
- `api.py` - 基础API工具类提供HTTP请求和签名方法
- `pay.py` - 发起支付模块
- `query.py` - 订单查询模块
- `notify.py` - 支付回调处理模块
- `demo.py` - 命令行演示脚本
- `web_demo.py` - Web服务演示
- `requirements.txt` - 依赖包列表
## 使用示例
### 发起支付
```python
from pay import create_payment
# 配置信息
appid = '20********' # 支付通道ID
appsecret = 'e605ac7******************4af5164' # AppSecret
# 创建支付
pay_url = create_payment(
appid=appid,
appsecret=appsecret,
order_id="123321123321",
description="快充数据线",
amount=100, # 1元
notify_url="http://example.com/notify",
nopay_url="http://example.com/cancel",
callback_url="http://example.com/success",
pay_type=1 # 微信内支付
)
print(f"支付链接: {pay_url}")
```
### 查询订单
```python
from query import query_order
# 配置信息
appid = '20********' # 支付通道ID
# 查询订单
order_info = query_order(
appid=appid,
mch_orderid='202305105056', # 商户订单号
)
print(f"订单信息: {order_info}")
```
### 处理支付回调
```python
from flask import Flask, request
from notify import PaymentNotify
app = Flask(__name__)
@app.route('/notify', methods=['POST'])
def payment_notify():
# 配置信息
appid = '20********' # 支付通道ID
appsecret = 'e605ac7******************4af5164' # AppSecret
# 创建通知处理器
notify_handler = PaymentNotify(appid, appsecret)
# 获取请求数据
request_data = request.get_data()
# 处理通知
success, message = notify_handler.process(request_data)
if success:
# 处理成功
return message
else:
# 处理失败
return {"error": message}, 400
if __name__ == '__main__':
app.run(debug=True)
```
## 支付类型说明
- `pay_type=1`: 微信内支付
- `pay_type=2`: 微信扫码支付
- `pay_type=3`: 微信H5支付(非原生)
- `pay_type=11`: 支付宝H5支付
## 演示程序
### 1. 命令行演示
运行完整的SDK功能演示
```bash
python demo.py
```
这个演示会展示:
- 创建支付订单
- 查询订单状态
- 处理支付回调
- 不同支付类型说明
### 2. Web服务演示
启动Web演示服务
```bash
python web_demo.py
```
然后访问 `http://localhost:8000` 查看:
- 支付表单页面
- 订单查询界面
- 支付成功/取消页面
- 支付回调处理接口
### 配置说明
在使用前请修改以下配置:
1.`demo.py` 中修改:
```python
self.appid = 'your_appid' # 替换为你的AppID
self.appsecret = 'your_appsecret' # 替换为你的AppSecret
```
2. 在 `web_demo.py` 中修改:
```python
APPID = 'your_appid'
APPSECRET = 'your_appsecret'
NOTIFY_URL = "http://your-domain.com/notify" # 替换为你的回调地址
```