GPay 创付 · 开发者文档
发起支付
兼容易支付协议:提交签名表单到 /epay/submit(浏览器跳转收银台)或 /epay/create(JSON 直接拿二维码)。金额单位为元(如 9.90),签名见签名与验签。
参数
| 参数 | 必填 | 说明 |
|---|---|---|
pid | 是 | 商户号(API 密钥页可见) |
type | 是 | wxpay(微信)或 alipay(支付宝) |
out_trade_no | 是 | 商户订单号,64 字符内,同一商户内唯一;重复提交返回同一订单(幂等) |
notify_url | 是 | 支付结果异步回调地址,必须为 https 且返回纯文本 success |
return_url | 是 | 支付完成后买家浏览器回跳地址(须为 http/https) |
name | 是 | 商品名称,显示在收银台 |
money | 是 | 金额(元),如 9.90,最多两位小数 |
sign | 是 | 签名,见 签名与验签 |
sign_type | 是 | 固定 MD5 |
curl 示例
curl -i -X POST 'https://pay.example.com/epay/submit' \ -d 'pid=10012&type=wxpay&out_trade_no=order-9527¬ify_url=https%3A%2F%2Fshop.example.com%2Fpay%2Fnotify&return_url=https%3A%2F%2Fshop.example.com%2Fpay%2Freturn&name=AI%20%E4%BC%9A%E5%91%98%20%C2%B7%20%E6%9C%88%E5%8D%A1&money=9.90&sign=签名&sign_type=MD5'
PHP 示例
<?php
$params = [
'pid' => '10012',
'type' => 'wxpay',
'out_trade_no' => 'order-9527',
'notify_url' => 'https://shop.example.com/pay/notify',
'return_url' => 'https://shop.example.com/pay/return',
'name' => 'AI 会员 · 月卡',
'money' => '9.90',
];
$params['sign'] = md5(http_build_query($params) . '<你的密钥>');
$params['sign_type'] = 'MD5';
header('Location: https://pay.example.com/epay/submit?' . http_build_query($params));
Python 示例
import hashlib
import os
from urllib.parse import urlencode
PID, KEY = os.environ["GPAY_PID"], os.environ["GPAY_KEY"]
params = {
"pid": PID,
"type": "wxpay",
"out_trade_no": "order-9527",
"notify_url": "https://shop.example.com/pay/notify",
"return_url": "https://shop.example.com/pay/return",
"name": "AI 会员 · 月卡",
"money": "9.90",
}
params["sign"] = hashlib.md5((urlencode(params) + KEY).encode()).hexdigest()
params["sign_type"] = "MD5"
print("https://pay.example.com/epay/submit?" + urlencode(params))
幂等语义
以 out_trade_no 为幂等键:参数一致时重复提交返回同一订单(收银台链接不变);参数不一致返回 400。因此客户端重试可以安全重放,只需保证订单号与金额不变。
通道与限额
当前支持微信支付(wxpay)与支付宝(alipay)。个人收款边界:单笔 ≤ ¥1,000、单日 ≤ ¥50,000、单月建议 ≤ ¥100,000(超出请联系管理员升级企业模式)。