新版传递金额充值【推荐】
大约 3 分钟
新版传递金额充值【推荐】
接口编码
| 编码格式 | 密级 |
|---|---|
| UTF-8 | 公开 |
版本记录
| 版本 | 修改内容 | 记录人 | 修改时间 |
|---|---|---|---|
| 1.0.0 | 建立文档 | 李思琼 | 2022-09-01 |
已对接的游戏
| 游戏名称 |
|---|
| 星变 |
| 龙域 |
场景说明
- 研发代码内实现这个api得到一个二维码图片地址
- 获取到地址后使用img标签进行展示充值二维码图片展示,使用微信扫码用微信支付,使用支付宝扫码用支付宝支付**
效果展示
二维码展示

微信扫码后展示

接口说明
| URL | 请求方式 |
|---|---|
| https://pay.51.com/qrcode/small | GET |
请求参数说明
| 参数 | 类型 | 必填 | 描述 | 示例值 |
|---|---|---|---|---|
| data | String | 是 | 充值请求跳转url,生成的二维码扫码后会跳转这个链接 | |
| token | String | 是 | 校验传递参数一致性(规则如下) | wewewewewewddedewref |
data参数说明
| 参数 | 类型 | 必填 | 描述 | 示例值 |
|---|---|---|---|---|
| game_id | String | 是 | 用户名(同登录接口中user参数) | 606 |
| areasign | int | 是 | 游戏ID(运营提供) | 722 |
| user | int | 是 | 游戏区服ID | 11 |
| money | int | 是 | 充值金额 | 20 |
| time | int | 是 | 请求时间戳(unix) | 1662371339 |
| gamerole | int | 否 | 角色ID | 223610094744846927 为空不参数签名 |
| gamerole_name | String | 否 | 角色名 | 花你狠扯蛋为空不参数签名 |
| gameorder_no | String | 否 | 游戏方订单号(没有传空) | |
| game_order_ext | String | 否 | 游戏拓展字符串 | |
| ip | String | 是 | 用户客户端IP | 61.183.116.90 |
| token | String | 是 | 签名(规则如下) | 04bf0e78ced15f3932587552cedcf80a |
data参数生成参考data参数说明进行传递生成
注意:https://pay.51.com/h5/url/pay 这个是固定值,后⾯参数下⾯表格具体说明
操作举例
//请求参数举例
$game_id= 606;
$areasign = 722;
$user = 11;
$money = 20;
$time = time();
$gameorder_no = '';
$game_order_ext = '';
$gamerole = 722800744;
$gamerole_name = "花你狠扯蛋";
$ip = "61.183.116.90";
//生成支付链接加密key
$requestStr = "areasign={$areasign}&game_id={$game_id}";
//角色为空不参与加密
if(!empty($gamerole)){
$requestStr .= "&gamerole={$gamerole}";
}
//角色名为空不参与加密
if(!empty($gamerole_name)){
$requestStr .= "&gamerole_name={$gamerole_name}";
}
$requestStr .= "&money={$money}&time={$time}&user={$user}";
//支付请求链接加密key
$paykey = "111to51ny8kytcht53mthghmnz5lr222";
$sign = md5($requestStr."&".$paykey);
//屏蔽data参数的整个链接并加上签名参数
$requestUrl = "https://pay.51.com/h5/url/pay?".$requestStr."&token={$sign}&gameorder_no={$gameorder_no}&=game_order_ext={$game_order_ext}&ip={$ip}";
//生成二维码请求链接加密key
$qcodekey = '223FH@j-9j493-7G^!G&*D+@$)@)KD5848233';
$token = md5($requestUrl.$qcodekey);
$outUrl = "https://pay.51.com/qrcode/small?data=".urlencode($requestUrl)."&token=".$token;
//将生成的链接outUrl放入到img标签中进行展示
最终请求链接返回及展示
//api返回链接信息
https://pay.51.com/qrcode/small?data=https%3A%2F%2Fpay.51.com%2Fh5%2Furl%2Fpay%3Fareasign%3D722%26game_id%3D606%26gamerole%3D722800744%26gamerole_name%3D%E8%8A%B1%E4%BD%A0%E7%8B%A0%E6%89%AF%E8%9B%8B%26money%3D20%26time%3D1662434218%26user%3D11%26token%3Dbc9825c2579a4604c8e9477cbee0fb55%26gameorder_no%3D%26%3Dgame_order_ext%3D%26ip%3D61.183.116.90&token=9138308cf54453c66cbde84eeeb8651d
<img src="https://pay.51.com/qrcode/small?data=https%3A%2F%2Fpay.51.com%2Fh5%2Furl%2Fpay%3Fareasign%3D722%26game_id%3D606%26gamerole%3D722800744%26gamerole_name%3D%E8%8A%B1%E4%BD%A0%E7%8B%A0%E6%89%AF%E8%9B%8B%26money%3D20%26time%3D1662434218%26user%3D11%26token%3Dbc9825c2579a4604c8e9477cbee0fb55%26gameorder_no%3D%26%3Dgame_order_ext%3D%26ip%3D61.183.116.90&token=9138308cf54453c66cbde84eeeb8651d">
平台提供的物料汇总
game_id 游戏id paykey 支付加密key qcodekey 生成二维码链接加密key
