聚合数据话费充值回调格式说明

聚合账号:xxxxx

推送地址:http://www.example.com/xxx

推送形式:post

推送参数内容格式(普通参数键值对,非json):



名称

类型


说明


sporder_id

string


聚合订单号


orderid

string


用户自定义的单号


sta

int


充值状态1:成功 9:失败


sign

string


校验值,md5(appkey+sporder_id+orderid) 32位小写,用于校验请求合法性


err_msg

string


状态描述信息(暂只支持油卡业务)



 

处理成功请返回:success 或 任意字符串


重试机制:聚合数据在请求回调地址时,如果无任何内容返回或无响应,会重新发起最多3次,间隔3s左右


本回调推送内容格式适用于话费充值、油卡充值、流量充值等增值服务,如果需要状态回调的用户,如接口其他已经调试完毕,请将账号和回调地址发给在线客服,我们将回调地址配置线上。


PHP接收异步通知(回调)参考代码:

<?php
/**
 * 接受话费\加油卡\流量充值业务 异步通知参数 参考示例
 */
$appkey = "************************"; //您申请的数据的APIKey

$sporder_id = addslashes($_POST['sporder_id']); //聚合订单号
$orderid = addslashes($_POST['orderid']); //商户的单号
$sta = addslashes($_POST['sta']); //充值状态
$sign = addslashes($_POST['sign']); //校验值

$local_sign = md5($appkey.$sporder_id.$orderid); //本地sign校验值

if ($local_sign == $sign) {
    if ($sta == '1') {
        //充值成功,根据自身业务逻辑进行后续处理
    } elseif ($sta =='9') {
        //充值失败,根据自身业务逻辑进行后续处理
    }
}


JAVA接收异步通知(回调)参考代码:

/***************servlet接收示例**************************/
@WebServlet("/callerBack")
public class CallerBackDemo extends HttpServlet {
        public static final long serialVersionUID =1L;
        String appkey = "";//您 申请的数据的APIKEY
        @Override
        protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            String sporder_id = req.getParameter("sporder_id");//聚合订单号
            String orderid  = req.getParameter("orderid ");//商家订单号
            String sta = req.getParameter("sta ");//充值状态
            String sign = req.getParameter("sign"); //校验值
            String local_sign = MD5Util.strToMD5(appkey+sporder_id+orderid);//本地sign校验值
            if(sign ==local_sign){
                    if(sta=="1"){
                            //充值成功,根据自身业务逻辑进行后续处理
                     }else if(sta=="9"){
                             //充值失败,根据自身业务逻辑进行后续处理
                     }
            }
        }
        
        /***************Spring接收示例**************************/
        @RequestMapping(value="/callerBack",method=RequestMethod.POST)
        public void callerBack(@RequestParam("sporder_id") String sporder_id,@RequestParam("orderid") String orderid,
        @RequestParam("sta") String sta,@RequestParam("sign") String sign ){
        String local_sign = MD5Util.strToMD5(appkey+sporder_id+orderid);//本地sign校验值
        if(sign ==local_sign){
                if(sta=="1"){
                         //充值成功,根据自身业务逻辑进行后续处理
                 }else if(sta=="9"){
                         //充值失败,根据自身业务逻辑进行后续处理
                     }
         }
}



登录 后可发表评论

    最新发布
    聚合数据©版权所有