收不到异步通知自查方案-支付宝接口常见错误系列

简介: 说明:   1.需http://或者https://格式的完整路径   例:https://您的域名/notify_url.php  ,支持ip地址方式。(推荐使用域名)   2.不能加?id=123这类自定义参数   错误示例:https://您的域名/notify_url.

说明: 
  1.需http://或者https://格式的完整路径 
  例:https://您的域名/notify_url.php  ,支持ip地址方式。(推荐使用域名 
  2.不能加?id=123这类自定义参数 
  错误示例:https://您的域名/notify_url.php?id=123&test=abc 
  3.必须外网可以正常访问,这个不难理解,在您的异步地址没有代码逻辑的情况下,直接访问应该是一个空白页面并且 
  http状态是200(不支持http200以外的状态) 
  4.不能有重定向 如:http302 
  5.使用POST方式接收,请确保服务器路由已经开放POST通知 

错误原因: 
  1.异步地址无法公网访问 
  2.异步地址代码传值错误 
  3.其实已经收到(其实是验签失败返回为空),但是没有做日志记录或者没有记录到通知。 

建议:大家优先使用云排查自查 [url]https://openclub.alipay.com/read.php?tid=1132&fid=25[/url] 

自查流程: 
  1.直接访问自己配置的notify_url中的值 
    检查notify_url访问状态(不支持除200以外的状态) 选择和服务器不同域的一台电脑,在chrome浏览器右键「检           查」- >地址栏输入notify_url地址->查看Network中的Status是否是200 
      


    如果是http 0 请参考:[url]https://openclub.alipay.com/read.php?tid=516&fid=25[/url] 
    参考帖子:[url]https://openclub.alipay.com/read.php?tid=675&fid=2[/url] 

 2.检查自己notify_url传值.以app支付为例, 
    java传值:

public AlipayTradeAppPayResponse pay1() throws AlipayApiException{
    //正式环境使用
    //AlipayClient client = new DefaultAlipayClient(Config.serverUrl, Config.appId, Config.privateKey, Config.format, Config.charset, Config.alipayPulicKey, Config.signType);
    //沙箱环境使用
    AlipayClient client = new DefaultAlipayClient(Config.serverUrlDev, Config.appIdDev, Config.privateKeyDev, Config.format, Config.charset, Config.alipayPulicKeyDev, Config.signType);
      
    AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();
    //异步地址传值方式
    request.setNotifyUrl("https://www.alipay.com");
    request.setBizContent("{" +
        ""out_trade_no":"4467496464"," +
        ""subject":"APP服务的请求测试"," +
        ""total_amount":"0.01"," +
        ""product_code":"QUICK_MSECURITY_PAY"}");
    AlipayTradeAppPayResponse response = client.sdkExecute(request);
    System.out.println(response.getBody());
    return  response;
}

php传值:

<?php
/**
 * APP支付 RSA2签名方法
 */
require_once 'AopSdk.php';
$aop = new AopClient ();
$aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do';
$aop->appId = '2017071907813415';
$aop->rsaPrivateKey = '';
$aop->alipayrsaPublicKey='';
$aop->apiVersion = '1.0';
$aop->postCharset='utf-8';
$aop->format='json';
$aop->signType = 'RSA2';
$date=date("YmdHis");
$arr=range(1000,9999);
shuffle($arr);
$request = new AlipayTradeAppPayRequest();
//异步地址传值方式
$request->setNotifyUrl("填写异步地址的值");
$request->setBizContent("{"out_trade_no":"".$date.$arr[0]."","total_amount":0.01,"product_code":"QUICK_MSECURITY_PAY","subject":"app测试"}");
$result = $aop->sdkExecute($request);
print_r(htmlspecialchars($result));
?>

 错误传值方式(部分同学错误认为是填写在应用下面授权回调地址中)     

  3.其实已经收到误以为没有收到通知请参考验签失败帖子检查 :[url]https://openclub.alipay.com/read.php?tid=1598&fid=46[/url]


 4.如果还是没有解决你的问题提问请按照下方正确格式提问(信息不完整不回复) 

正确提问方式:使用环境(沙箱还是正式环境)+appid+接口名称(中文+英文)+异步地址(notify_url的值)+收不到异步通知的交易号+订单号 


如果有什么疑问欢迎帖子下方追问,如果解决了你的问题欢迎评论点赞支持

目录
相关文章
|
3月前
|
前端开发 Cloud Native 大数据
坑爹,线上同步近 3w 个用户导致链路阻塞引入发的线上问题,你经历过吗?
坑爹,线上同步近 3w 个用户导致链路阻塞引入发的线上问题,你经历过吗?
|
8月前
|
XML 前端开发 网络协议
服务器向客户端推送消息的2种技术分析
服务器向客户端推送消息的2种技术分析
|
10月前
|
移动开发 Android开发
实战:第七章:微信H5支付时用户有微信分身停留5秒后未选择哪个微信分身,也未支付就被动回调到商户支付是否完成的页面...
实战:第七章:微信H5支付时用户有微信分身停留5秒后未选择哪个微信分身,也未支付就被动回调到商户支付是否完成的页面...
110 0
|
API
电商收付通系列③,对微信应答或回调进行签名验证
如果验证商户的请求签名正确,微信支付会在应答的HTTP头部中包括应答签名。建议商户验证应答签名。同样的,微信支付会在回调的HTTP头部中包括回调报文的签名。商户必须验证回调的签名,以确保回调是由微信支付发送。这里我们就要用到在电商收付通系列②,获取微信支付平台证书获取的微信支付平台证书中的公钥。再次提醒,应答和回调的签名验证使用的是微信支付平台证书,不是商户API证书。使用商户API证书是验证不过的。
232 0
电商收付通系列③,对微信应答或回调进行签名验证
|
小程序 开发者
微信小程序模板消息接口下线了,不用慌,调用统一服务消息接口来实现相同功能
做过微信开发的应该都有一点感触,就是他的开发文档不是一成不变的,接口有时候会被下线,但也不是一下子就不能用了,一般会兼容旧接口,然后提醒你使用新接口有更多好处。如果接口真的直接下线了,也会提供另一种能够实现相同功能的接口给你替换。所以有天你以为代码都写好了,没有bug了,悠哉悠哉的时候,忽然产品经理说微信的哪个接口不能用了,快去改一下,不要惊讶,老老实实去改就对了哈。
624 0
微信小程序模板消息接口下线了,不用慌,调用统一服务消息接口来实现相同功能
|
小程序 前端开发 API
手把手教你接入抖音小程序发送模板消息通知
模板消息是指:按照一定的模板样式发送给用户的消息,顾名思义,它的内容必须限制在某一个模板框框内,只能做填空题,做不了主观题。
239 0
手把手教你接入抖音小程序发送模板消息通知
|
JSON 开发者 数据格式
微信服务号通过客服接口主动给普通微信号推送消息
当用户主动发消息给公众号的时候(包括发送信息、点击自定义菜单、订阅事件、扫描二维码事件、支付成功事件、用户维权),微信将会把消息数据推送给开发者,开发者在一段时间内(目前修改为48小时)可以调用客服消息接口,通过POST一个JSON数据包来发送消息给普通用户,在48小时内不限制发送次数。此接口主要用于客服等有人工消息处理环节的功能,方便开发者为用户提供更加优质的服务。
416 0
微信服务号通过客服接口主动给普通微信号推送消息
YYC松鼠短视频系统【bug】短信验证码功能bug,新注册短信用户任意填写验证码都能通过注册的严重bug修复
YYC松鼠短视频系统【bug】短信验证码功能bug,新注册短信用户任意填写验证码都能通过注册的严重bug修复
YYC松鼠短视频系统【bug】短信验证码功能bug,新注册短信用户任意填写验证码都能通过注册的严重bug修复
验签失败自查方案-支付宝接口常见错误系列
说明:   验签只需要使用到支付宝公钥 错误原因:   1.支付宝公钥使用错误导致   2.验签方法使用错误   3.参数错误导致,例如乱码,带自定义参数,编码格式。 自查流程(按照推荐流程检查)   第一步(重点检查):支付宝公钥使用是否错误参考这个帖子自查:[url]https://openclub.
2828 0