- Go 服务端:唯一金额/备注码/回填订单编号三路匹配、托管收银页、HMAC 回调七级重试、SQLite 单二进制 - SDK:Go / Java / PHP / Python,共享签名测试向量(docs/test_vectors.json) - 跨语言 e2e(真实二进制 × Python SDK × mock 币安)、GitHub Actions CI、Dockerfile - 协议文档 docs/protocol.md、调研与实测结论 docs/research.md Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
BinancePayTool Python SDK
仅标准库,Python 3.7+。把 bpaygate.py 拷进项目或按路径引入即可。
from bpaygate import BPayGate, BPayGateError
gw = BPayGate("https://pay.example.com", "你的API_AUTH_KEY")
order = gw.create_order("SHOP-1001", "10", currency="USDT",
callback_url="https://shop.example.com/bpg/notify")
# 跳转用户到 order["pay_url"]
# 回调(Flask 写法):
payload = BPayGate.verify_callback(request.headers, request.get_data(), SECRET)
if payload["event"] == "paid":
... # 按 merchant_order_id 幂等发货
方法:create_order / get_order / get_order_by_merchant_id / close_order / verify_callback。
完整字段见 docs/protocol.md。示例:examples/python。