微信小程序> 支付宝小程序支付时订单处理失败报ALI38173

支付宝小程序支付时订单处理失败报ALI38173

浏览量:4010 时间: 来源:邓紫棋的小粉丝

我的后台使用的PHP语言  用的官方SDK

$aop = new AopClient;$aop->gatewayUrl = "https://openapi.alipay.com/gateway.do";$aop->appId = "app_id";$aop->rsaPrivateKey = '请填写开发者私钥去头去尾去回车,一行字符串';$aop->format = "json";$aop->charset = "UTF-8";$aop->signType = "RSA2";$aop->alipayrsaPublicKey = '请填写支付宝公钥,一行字符串';//实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay$request = new AlipayTradeAppPayRequest();//SDK已经封装掉了公共参数,这里只需要传入业务参数$bizcontent = "{"body":"我是测试数据","                 . ""subject": "App支付测试","                . ""out_trade_no": "20170125test01","                . ""timeout_express": "30m","                 . ""total_amount": "0.01","                . ""product_code":"QUICK_MSECURITY_PAY""                . "}";$request->setNotifyUrl("商户外网可以访问的异步地址");$request->setBizContent($bizcontent);//这里和普通的接口调用不同,使用的是sdkExecute$response = $aop->sdkExecute($request);//htmlspecialchars是为了输出到页面时防止被浏览器将关键参数html转义,实际打印到日志以及http传输不会有这个问题echo htmlspecialchars($response);//就是orderString 可以直接给客户端请求,无需再做处理。

在支付时提示交易订单处理失败,请稍后再试。(ALI38173)
查询了好久,最终的解决方案是

把htmlspecialchars($response);  去掉 ,直接输出 $response给客户端调用即可。

回调判断

$aop = new AopClient;$aop->alipayrsaPublicKey = '请填写支付宝公钥,一行字符串';$flag = $aop->rsaCheckV1($_POST, NULL, "RSA2");if($flag){     if($_POST['trade_status' == "TRADE_SUCCESS"){         // 修改订单支付状态     }}else{    //验证失败 }
小程序

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎