虚拟商品服务平台
  1. 优捷数字权益开放平台
虚拟商品服务平台
  • 优捷数字权益开放平台
    • 系统说明
    • 查看产品
      GET
    • 查询账号余额
      GET
    • 提交话费快充订单
      POST
    • 提交话费慢充订单
      POST
    • 提交电费订单
      POST
    • 提交直充订单
      POST
    • 提交卡密订单
      POST
    • 提交流量订单
      POST
    • 查询话费快充订单
      GET
    • 查询话费慢充订单
      GET
    • 查询直充订单
      GET
    • 查询电费订单
      GET
    • 查询卡密订单
      GET
    • 查询流量订单
      GET
  1. 优捷数字权益开放平台

系统说明

简要描述#
本充值系统,使用key来唯一标识商家信息,通过app_secret加密提交的内容和校验回调内容的签名,这两个参数,可以问客服人员申请要得或者登录商户管理后台获取,如果要限制服务器访问,可以收集所有服务器的IP地址交给客服人员,客服人员收集完后配置,只有这些服务器IP地址才可以发起请求
请求URL#
提交话费快充订单
(POST) /api/phone_fast_recharge/add
查询话费快充订单
(GET/POST) /api/phone_fast_recharge/search
提交话费慢充订单
(POST) /api/phone_slow_recharge/add
查询话费慢充订单
(GET/POST) /api/phone_slow_recharge/search
提交电费订单
(POST) /api/electricity_recharge/add
查询电费订单
(GET/POST) /api/electricity_recharge/search
提交直充订单
(POST) /api/direct_recharge/add
查询直充订单
(GET/POST) /api/direct_recharge/search
提交卡密订单
(POST) /api/card_pwd/add
查询卡密订单
(GET/POST) /api/card_pwd/search
提交流量订单
(POST) /api/flow/add
查询流量订单
(GET/POST) /api/flow/search
查询账号余额
(GET/POST) /api/merchant/balance
查询产品列表和状态
(GET/POST) /api/merchant/product
下单提交参数签名方法#
把要提交的参数数组A,根据键,以升序对关联数组进行排序B,排序之后,再遍历数组B,生成加密字符串C(每个遍历生成key=value字符串,每个字符串使用&相连。),字符串C在后面增加app_secret组成D(D=C&app_secret=app_secret),再对D进行md5得到F(小写字母串),F就为要提交的签名,在参数A的基础上增加一个参数:A['sign'] = F
状态码说明#
GET的操作,只有200和400的码返回,提交订单返回的状态码比较多
状态码说明
200成功
400其他一些错误,需要人工介入排查
421不存在此商品
422商品下架
423商户此商品未开通
424此商品未设置成本
425订单号重复
426余额不足
427时间戳值有误
520签名出错
回调次数#
如果服务器没有收到SUCCESS,则会进行重发,一共9次重试
通知频率为1/15/30/180/1800/1800/1800/1800/3600,单位:秒
回调校验方法(POST访求提交过去)#
把返回参数,除sign外,其他的参数数组A,根据键,以升序对关联数组进行排序B,排序之后,再遍历数组B,生成加密字符串C(每个遍历生成key=value字符串,每个字符串使用&相连,遍历时候,过滤空值或0的字段),字符串C在后面增加回调key组成D(D=C&app_secret=回调key),再对D进行md5得到F(小写字母串),就使用F跟sign比较,如果相等,则表示,校验成功,处理完业务之后,返回SUCCESS或者success字符串

PHP代码#

$app_secret = '这个是AppSecret-商户密钥';
$sign = 'sign';
$data['order_no'] = "order_no";
$data['platform_no'] = "platform_no";
$data['status'] = "status";
$data['face_value'] = "face_value";
$data['account'] = "account";
$data['number'] = "number";
$data['error_msg'] ="error_msg";
$data['succeed_at'] = "succeed_at";
$data['fail_at'] = "fail_at";
$data['created_at'] = "created_at";
$data['remark'] = "remark";
$data['cards'] = "cards";
$data['extra'] = "extra";
ksort($data);
$str = '';
foreach ($data as $k => $v) {
    if ($v) $str .= $k . '=' . $v . '&';
}
$str .= 'app_secret=' . $app_secret;
$mySign = strtolower(md5($str));
if ($mySign == $sign) {
	 //TODO:我通过了校验,我做我喜欢的事
	  echo 'SUCCESS';
}else{
 
}
回调信息#
参数名类型说明
order_nostring商户提交过来的订单号
signstring签名字符串
statusstring状态值(0:处理中;1:成功; 2:失败)
platform_nostring话费系统平台订单号
accountstring充值账号(卡密没有这个字段)
numberstring数量(卡密和直充才有这个字段)
cardsstring具体卡密码信息(只有卡密有这个字段)json数组之后的数据
face_valuestring面值
error_msgstring出错信息
succeed_atstring充值成功时间
fail_atstring充值失败时间
created_atstring订单创建时间
remarkstring充值凭证
extrastring额外信息
具体卡密码信息cards字段说明
参数名说明
card_number卡号
card_pwd卡密
card_deadline有效期
下一页
查看产品
Built with