PHP服务器 支付宝 对接出现 【交易订单处理失败 请稍后再试 ALI38173】

最近在移动端停下来了,一直在搞PHP和前端,公司想我们的app实现H5化,最近在接入支付宝时,使用的是支付宝官方接口,在各种权限都申请完成之后,本地本人自己搭的服务器上可以运行,并且实现了付款功能,但是一到服务器上就报错,报错就是上面的 : 交易订单处理失败,请稍后再试。ALI38173,我很纳闷,为啥我本地可以,服务器就不能呢?后来参考了官方解释:
官方解释网址为:https://support.open.alipay.com/docs/doc.htm?spm=a219a.7386797.0.0.JUPUDC&treeId=193&articleId=105849&docType=1
附图:
这里写图片描述

它就说我选择参数少了,没有办法,直接进linux环境,打印我们的代码,刚开始还以为服务器哥们没有上传好我的代码,就进去看看了,发现我缺少的参数是 bizContent,它一直是NULL的:

官方自带的一个信息类AlipayTradeWapPayContentBuilder中有一个方法:

    public function getBizContent()
    {
        if(!empty($this->bizContentarr)){
            $this->bizContent = json_encode($this->bizContentarr,JSON_UNESCAPED_UNICODE);
        }
        return $this->bizContent;
    }

这里面的json_encode($this->bizContentarr,JSON_UNESCAPED_UNICODE),我们的系统并不支持,所以才造成了我们系统返回NULL对象,改成这个就好了:

 $this->bizContent = json_encode($this->bizContentarr);

至于原因,我想应该是我们自己服务器的PHP环境吧,json_encode($obj , JSON_UNESCAPED_UNICODE)是PHP5.4以上的环境才有的,而我本人的服务器环境是PHP5.5,所以说我真是日了服务器大爷的狗了,提前说一声不行么???

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值