283 字
1 分钟
支付宝转账码生成
支付宝转账码生成
重要更新
userId 已改为 outUserNo
获取 outUserNo
- 登录 https://b.alipay.com/page/home
- 查看源码搜索
outUserNo - 复制16位数字(以2088开头)
完整示例
alipays://platformapi/startapp?appId=20000123&actionType=scan&biz_data={"s": "money","u": "2088712204441975","a": "0.01","m":"备注"}参数说明
{ "s": "money", // 固定值 "u": "2088xxxxxxxxxx", // outUserNo "a": "0.01", // 金额(字符串) "m": "备注" // 可选}Python代码
基础版本
import jsonimport urllib.parse
def generate_alipay_url(out_user_no, amount, memo=""): biz_data = { "s": "money", "u": out_user_no, "a": str(amount), "m": memo }
biz_data_json = json.dumps(biz_data, ensure_ascii=False) biz_data_encoded = urllib.parse.quote(biz_data_json)
return f"alipays://platformapi/startapp?appId=20000123&actionType=scan&biz_data={biz_data_encoded}"
# 使用url = generate_alipay_url("2088712204441975", "0.01", "测试")print(url)生成二维码
import qrcode
def create_qr(url, filename="qr.png"): qr = qrcode.QRCode(version=1, box_size=10, border=4) qr.add_data(url) qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white") img.save(filename) return filename
# 使用url = generate_alipay_url("2088712204441975", "0.01", "测试")qr_file = create_qr(url)print(f"二维码已保存: {qr_file}")完整示例
import jsonimport urllib.parseimport qrcode
def generate_alipay_qr(out_user_no, amount, memo="", filename="alipay.png"): # 生成URL biz_data = {"s": "money", "u": out_user_no, "a": str(amount), "m": memo} biz_data_encoded = urllib.parse.quote(json.dumps(biz_data, ensure_ascii=False)) url = f"alipays://platformapi/startapp?appId=20000123&actionType=scan&biz_data={biz_data_encoded}"
# 生成二维码 qr = qrcode.QRCode(version=1, box_size=10, border=4) qr.add_data(url) qr.make(fit=True) qr.make_image(fill_color="black", back_color="white").save(filename)
return url, filename
# 使用url, file = generate_alipay_qr("2088712204441975", "0.01", "测试")print(f"URL: {url}")print(f"文件: {file}")安装依赖
pip install qrcode[pil]注意事项
- outUserNo 格式:16位数字,以2088开头
- 金额必须是字符串格式
- 备注可选,避免特殊字符