# 苹果代币支付签名算法
* KEY_WORD: 提供给小鹅通的密钥
* nonce: 6 位随机字符
* timestamp: 时间戳单位秒(5 分钟超时)
* data :除上述以外的其他参数
~~~
/**
* 生成签名 *
* @param $data
* @param $nonce
* @param $timestamp
* @return string */
public static function generateSign($data, $nonce, $timestamp)
{
$secret = self::APP_SECRET;
$timestamp = strval($timestamp);
is_array($data) && $data = self::setSignArrData($data);
$arr = compact('data', 'nonce', 'timestamp', 'secret');
sort($arr);
return md5(implode("", $arr));
}
/**
* 生成签名 data *
* @param $data
* @return string */
public static function setSignArrData($data)
{
foreach($data as $each_key => $each_param){
$data[$each_key] = strval($each_param);
}
sort($data);
return implode("", $data);
}
~~~
* `function setSignArrData()` :
* data 对象的每一个值都需要转字符串
* data 对象排序后,无符号拼接成字符串
* `function generateSign()` :
* 时间戳(单位秒) 转成字符串,
* `data`, `nonce`, `timestamp`, `key_word` 字段 排序后,无符号拼接成字符串
* 最后 md5 加密,获得签名
**返回值**
**返回格式**
* code : 状态码 0 成功 1 失败
* msg :提示语
* data :其他值
~~~
{
"code": 1,
"msg": "系统异常",
"data": []
}
~~~
**接口**
**检查订单是否付款成功接口(提供给小鹅通查询)**
* 调用支付后,小鹅通主动查询订单状态(避免支付回调错误)
* url :`**`
* method :`POST`
* content-type :`application/json`
**入参**
| 字段名 | 类型 | 示例 | 备注 |
| --- | --- | --- | --- |
| sign | string | 5b94924ae2aa36dfb7b024839b363754 | 签名 |
| nonce | string | abcedf | 随机字符串 |
| timestamp | string | 1634550379 | 当前时间戳 |
| out_trade_no | string | oo_6247cdccddbc5_9xPY0N4g | 小鹅订单号 |
**示例**
~~~
{
"sign": "5b94924ae2aa36dfb7b024839b363754",
"timestamp": "1634550379",
"out_trade_no": "oo_5ac1dd24803ae_GtfAOxiS1",
"transaction_id": "42000000682018040207188274111",
"nonce": "abcdef"
}
~~~
**response**
~~~
{
"code": 0, // 0 访问成功 1 系统错误 2 签名错误 3 参数错误 4 查无此单
"msg": "ok",
"data": {
"order_state": 'UNPAID', // UNPAID 未支付 FAILED 付款失败 DELETED 已删除 PAID 已付款 REFUND 已退款 CLOSED 已关闭
"out_trade_id": 'oo_6247cdccddbc5_9xPY0N4g',//小鹅订单号
"transaction_id": '2022040222001406041408616653'//交易号
}
}
~~~
**退款通知(提供给小鹅通)**
* 小鹅通通知接入方发起退款,校验退款金额是否超出,并发起扣款
* url :`**`
* method :`POST`
* content-type :`application/json`
**入参**
| 字段名 | 类型 | 示例 | 备注 |
| --- | --- | --- | --- |
| sign | string | 5b94924ae2aa36df b7b024839b363754 | 签名 |
| nonce | string | abcedf | 随机字符串 |
| timestamp | string | 1634550379 | 当前时间戳 |
| out_trade_no | string | oo_6247cdccddbc5_9xPY0N4g | 小鹅订单号 |
| out_refund_no | string | oo_5c7799b5cb44c_UVUwvSmv | 退款唯一交易编号 |
| amount | int | 100 | 退款金额,单位分 |
**示例**
~~~
{
"sign": "5b94924ae2aa36dfb7b024839b363754",
"timestamp": "1634550379",
"nonce": "abcdef",
"out_trade_no": "oo_5ac1dd24803ae_GtfAOxiS1",
"out_refund_no": "oo_5c7799b5cb44c_UVUwvSmv",
"transaction_id": "42000000682018040207188274111",
"amount": 100
}
~~~
**response**
~~~
{
"code": 0, // 0 访问成功 1 系统错误 2 签名错误 3 参数错误 4 查无此单
"msg": "ok",
"data": {
"refund_status": 2, //1 退款成功, 2 退款失败
"reason": "超出订单金额", //退款失败原因
}
}
~~~
- 开发前必读
- 小鹅云介绍
- 更新日志
- 开始开发
- 开发指南
- 创建并授权应用
- 获取access_token(含代码示例)
- 开通接口权限
- 全局返回码
- 常用工具
- 日志排查工具
- 场景方案
- 同步用户场景
- 同步商品场景
- 同步订购关系场景
- 同步积分场景
- 同步页面统计场景
- 同步学习数据场景
- 同步推广员场景
- 内嵌SDK服务场景
- 产品介绍
- 产品简介
- 客户案例
- 接入流程
- 业务文档
- 账号打通
- 支付
- 直播带货
- 商品同步
- 订单同步
- 学习数据同步
- 企业内训
- PCweb
- H5web
- 流量变现
- App分享
- 微页面装修
- 直播连麦
- 技术文档
- 小鹅通SDK开发者声明
- 小鹅通SDK个人信息保护政策(2022年9月28日生效)
- 小鹅通SDK个人信息保护政策(2022年9月28日失效)
- 开发指南
- 原生SDK登录态
- Android-SDK 接入
- iOS-SDK 接入
- WebSDK接入
- 小程序接入
- 小程序支付接入
- 代币支付签名算法
- SDK&H5账号详解
- 发布日志(iOS)
- 发布日志(Android)
- 常见问题
- 消息推送
- 使用说明
- 消息加/解密
- 消息接收URL校验说明
- 订单状态推送
- 用户手机号变更推送
- 用户状态变更推送
- 积分变更消息推送
- 商品变更推送
- 考试消息推送
- 活动签到推送
- 订单支付推送
- 账号合并推送
- 用户注册推送
- 优惠券消息推送
- 信息采集推送
- 权益变更推送
- 用户标签变更消息推送
- API列表
- 获取access_token(含代码示例)
- 用户管理
- 使用说明
- 注册新用户
- 更新用户信息
- 获取用户列表2.0
- 获取用户列表1.0
- 查询单个用户信息
- 批量查询用户信息
- 获取用户消费信息
- 获取课程学员列表
- 获取训练营pro学员列表
- 获取会员卡用户信息
- 查询单个用户标签列表
- 查询用户合并记录
- 获取标签列表
- 添加/修改标签
- 添加/修改用户标签
- 获取用户反馈列表
- 获取用户反馈回复列表
- 回复用户反馈
- 学习数据管理
- 获取学习记录列表
- 获取每日学习记录
- 获取指定资源学习记录信息
- 获取营期下用户的学习情况
- 获取训练营pro学员任务详情
- 直播管理
- 获取直播列表
- 批量查询指定直播间列表信息
- 获取班课列表
- 获取签到列表
- 获取签到学员列表
- 获取直播红包列表
- 获取红包领取记录
- 获取直播数据概览
- 获取直播详情
- 获取直播详情2.0
- 获取红包数据概况
- 获取直播间讨论区消息列表
- 获取直播间多段推流记录
- 创建直播
- 编辑直播
- 上架/下架直播
- 删除直播
- 获取直播间用户列表
- 商品管理
- 查询商品列表2.0
- 查询商品列表1.0
- 查询组合课资源列表4.0
- 查询组合课资源列表3.0
- 获取训练营营期任务
- 商品详情2.0
- 商品详情1.0
- 获取课程关联的助学工具
- 获取直播带货商品列表
- 获取实物商品评论列表
- 商品增加库存
- 商品减少库存
- 新建实物商品
- 编辑实物商品
- 删除实物商品
- 获取实物商品类目列表
- 获取C端搜索商品列表
- 商品分组管理
- 获取店铺商品分组列表
- 获取商品分组内商品列表
- 批量新建/更新商品分组
- 删除商品分组
- 素材管理
- 获取素材列表
- 获取素材分组列表
- 素材分组编辑
- 素材分组移动
- 素材分组删除
- 订单管理
- 获取订单列表2.0
- 获取订单详情2.0
- 获取订单列表1.1
- 获取订单列表1.0
- 查询用户订单列表
- 获取订单详情
- 获取买赠订单信息
- 待付款订单改价
- 获取售后订单列表
- 获取售后订单详情
- 订单退款
- 订购管理
- 用户开通产品包权益2.0
- 用户开通产品包权益
- 查询用户订购资源列表
- 用户购买关系查询
- 查询用户资源权益2.0
- 查询用户资源权益1.0
- 取消订购
- 批量开通用户产品包权益-创建任务
- 批量开通用户产品包权益-查询任务列表
- 批量开通用户产品包权益-查询任务详情
- 物流管理
- 普通实物单发货(即将下线)
- 获取物流公司信息列表
- 订单全部商品发货
- 订单部分商品发货
- 修改已发货订单的物流信息
- 获取运费模板列表
- 推广员管理
- 查询推广员列表
- 查询推广员客户列表
- 查询推广员的下级推广员列表
- 查询指定推广员的信息
- 查询客户所属推广员
- 查询推广员名下新增/过期客户
- 新增推广员
- 推广员绑定客户
- 修改/解除绑定关系
- 设置推广员上级
- 推广订单详情
- 按日期查询推广员的收益和新增加的下级
- 推广订单详情(支持购物车订单返回多条记录)
- 信息采集管理
- 获取信息采集列表
- 获取单个信息采集结果
- 获取用户信息采集结果
- 根据表单ID以及用户ID获取信息采集结果
- 营销码券管理
- 优惠券列表
- 获取优惠券详情2.0
- 获取优惠券详情
- 获取优惠券领券用户
- 发放优惠券2.0
- 发放优惠券
- 优惠券核销
- 获取优惠码列表
- 获取优惠码码库列表
- 获取优惠码效果数据
- 创建优惠码
- 优惠码添加库存
- 优惠码失效
- 编辑优惠码
- 优惠码删除
- 获取兑换码码库列表
- 追加兑换码库存
- 创建兑换码
- 编辑兑换码
- 兑换码失效
- 用户使用兑换码
- 获取兑换码批次列表
- 作废单个兑换码
- 积分管理
- 查询用户积分日志
- 获取单个用户积分信息
- 批量获取用户积分列表
- 获取店铺积分信息
- 批量发放积分
- 批量扣减积分
- 解冻冻结积分
- 设置店铺积分过期时间
- 业务类型说明
- 页面统计管理
- 新建页面统计
- 编辑页面统计
- 获取页面统计列表
- 获取页面统计详情
- 获取页面统计订单列表
- 新建投放渠道
- 获取投放渠道列表
- 打卡管理
- 获取打卡列表
- 获取打卡参与用户
- 获取指定学员活动日记列表
- 获取活动点赞列表
- 获取指定学员被点赞总数和列表
- 获取用户日记被点评/评论列表
- 获取指定打卡的作业列表
- 获取学员的打卡日记列表
- 获取打卡关联的课程信息
- 练习管理
- 获取练习基本信息列表
- 获取练习结果列表
- 获取练习详情
- 获取学员练习答题详情
- 作业管理
- 获取作业本列表
- 获取作业基本信息列表
- 获取作业结果列表
- 获取作业详情
- 获取学员作业答题详情
- 圈子管理
- 获取用户参与的圈子
- 考试管理
- 获取考试列表
- 获取考试详情
- 获取考试结果列表信息
- 获取考试结果详细信息
- 活动管理
- 获取活动列表
- 获取签到列表
- 获取活动报名列表
- 获取活动签到信息
- 组织管理
- 获取员工列表
- 获取员工详细信息
- 添加或者保存员工信息
- 启用员工
- 停用员工
- 删除员工
- 根据员工账号获取用户ID
- 获取组织结构树
- 添加或修改组织架构
- 移除组织架构
- 微页面管理
- 获取微页面列表
- 企学院专用(不对外开放)
- 学员管理(限企学院)
- 企学院获取学员列表
- 企学院添加学员
- 企学院修改学员
- 企学院删除学员
- 企学院添加组织架构
- 企学院删除组织架构
- 企学院编辑组织架构
- 企学院获取组织架构
- 企学院获取部门信息
- 活动管理(限企学院)
- 企学院用户签到活动列表
- 培训计划管理(限企学院)
- 获取培训计划列表
- 获取培训计划详情
- 获取用户培训学习数据
- 获取员工的培训计划列表
- 常见问题
- 问题汇总
- 问题反馈