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

简介: 说明:   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的值)+收不到异步通知的交易号+订单号 


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

目录
相关文章
|
安全 网络安全 开发者
网站跳转到反诈中心该怎么处理解封恢复正常访问
作为一个网站开发者,我曾经经历了这样的情况:我建设的公司网站被标识为恶意网站,被拦截了。通过调查,我发现这是因为反诈中心下发了拦截令。这种拦截方法为网站域名拦截,即由最高部门下发到各地防诈中心和运营商进行拦截。如果用户打开这样的网站,将会出现解析错误,无法访问。总的来说,网站域名拦截是一种阻断诈骗网站的有效手段,但是在实际操作中也需要更加严格的审核,以防止出现误判的情况。我认为,反诈工作是需要不断提高的,同时也需要更加完善的机制和法律支持。
7030 0
网站跳转到反诈中心该怎么处理解封恢复正常访问
|
安全 算法 API
支付宝支付加密规则梳理,写的太好了!
前言 支付是一个安全等级很高的场景,系统间交互的每一条数据的泄露都有可能造成及其大的损失。因此支付时系统间交互的每一
支付宝支付加密规则梳理,写的太好了!
|
8月前
|
安全 网络协议 数据安全/隐私保护
2020苹果审核被拒绝原因汇总
2020苹果审核被拒绝原因汇总
430 0
|
Web App开发 安全 Java
微信支付退款异常处理过程
微信支付退款异常处理过程
|
API
电商收付通系列③,对微信应答或回调进行签名验证
如果验证商户的请求签名正确,微信支付会在应答的HTTP头部中包括应答签名。建议商户验证应答签名。同样的,微信支付会在回调的HTTP头部中包括回调报文的签名。商户必须验证回调的签名,以确保回调是由微信支付发送。这里我们就要用到在电商收付通系列②,获取微信支付平台证书获取的微信支付平台证书中的公钥。再次提醒,应答和回调的签名验证使用的是微信支付平台证书,不是商户API证书。使用商户API证书是验证不过的。
291 0
电商收付通系列③,对微信应答或回调进行签名验证
|
Web App开发 开发工具 Android开发
移动推送消息送达常见问题与解决办法
##### 一、 收到重复的推送内容 * 收到重复的推送内容,排除了业务自身的推送逻辑之外,重点介绍一下部分机型多渠道推送可能带来的重复推送问题。 * 对于Android系统,对于设备已经在某些三方系统中注册过,并且通过该三方推送接入了厂商ROM通道,会出现重复推送的问题,原因是: ...
3988 0
闲鱼 - 如何关闭多余的推送消息但又不想错失客户消息?
闲鱼 - 如何关闭多余的推送消息但又不想错失客户消息?
197 0
闲鱼 - 如何关闭多余的推送消息但又不想错失客户消息?
验签失败自查方案-支付宝接口常见错误系列
说明:   验签只需要使用到支付宝公钥 错误原因:   1.支付宝公钥使用错误导致   2.验签方法使用错误   3.参数错误导致,例如乱码,带自定义参数,编码格式。 自查流程(按照推荐流程检查)   第一步(重点检查):支付宝公钥使用是否错误参考这个帖子自查:[url]https://openclub.
3098 12
验签出错-自查方案
错误原因:    1.密钥不匹配    2.编码格式不统一  3.请求参数中有空格,转义符,特殊字符(基本上会出现在biz_content中)   4. notify_url不能加?id=123这类自定义参数      错误示例:https://您的域名/notify_url.php?id=123&test=abc     注:如果您的请求报错请同时检查您的异步地址是否符合要求    5..NET开发语言请注意在自查上述问题,没有发现问题,请更新官方最新sdk在重新测试。
646 12
|
网络安全
收不到异步通知「自检方案」
对于广大人民经常表示收不到异步通知的情况。 这边对异步自检提出一些方案。 1、支付宝的异步通知需要使用POST的方式接收。 2、http的header头为标准头例如:application/x-www-form-urlencoded;text/html;charset=utf-8 3、检查noti...
720 11