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

本文主要是介绍记一次支付宝接口收不到异步通知自查方案-支付宝接口常见错误系列,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

说明:  
  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.其实已经收到(其实是验签失败返回为空),但是没有做日志记录或者没有记录到通知。 


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

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

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

 2.检查自己notify_url传值.以app支付为例,  
    java传值: 
     复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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传值: 
   复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?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 ));
?>
  错误传值方式 (部分同学错误认为是填写在应用下面授权回调地址中)       

<ul class="cc big_img J_gallery_list" "="" style="margin-bottom: 0px; zoom: 1;">

   
   3.其实已经收到误以为没有收到通知请参考验签失败帖子检查  

这篇关于记一次支付宝接口收不到异步通知自查方案-支付宝接口常见错误系列的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/qq_40460909/article/details/80998069
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/413597

相关文章

Python错误AttributeError: 'NoneType' object has no attribute问题的彻底解决方法

《Python错误AttributeError:NoneTypeobjecthasnoattribute问题的彻底解决方法》在Python项目开发和调试过程中,经常会碰到这样一个异常信息... 目录问题背景与概述错误解读:AttributeError: 'NoneType' object has no at

MySQL深分页进行性能优化的常见方法

《MySQL深分页进行性能优化的常见方法》在Web应用中,分页查询是数据库操作中的常见需求,然而,在面对大型数据集时,深分页(deeppagination)却成为了性能优化的一个挑战,在本文中,我们将... 目录引言:深分页,真的只是“翻页慢”那么简单吗?一、背景介绍二、深分页的性能问题三、业务场景分析四、

MySQL 迁移至 Doris 最佳实践方案(最新整理)

《MySQL迁移至Doris最佳实践方案(最新整理)》本文将深入剖析三种经过实践验证的MySQL迁移至Doris的最佳方案,涵盖全量迁移、增量同步、混合迁移以及基于CDC(ChangeData... 目录一、China编程JDBC Catalog 联邦查询方案(适合跨库实时查询)1. 方案概述2. 环境要求3.

SpringBoot3.X 整合 MinIO 存储原生方案

《SpringBoot3.X整合MinIO存储原生方案》本文详细介绍了SpringBoot3.X整合MinIO的原生方案,从环境搭建到核心功能实现,涵盖了文件上传、下载、删除等常用操作,并补充了... 目录SpringBoot3.X整合MinIO存储原生方案:从环境搭建到实战开发一、前言:为什么选择MinI

Java 方法重载Overload常见误区及注意事项

《Java方法重载Overload常见误区及注意事项》Java方法重载允许同一类中同名方法通过参数类型、数量、顺序差异实现功能扩展,提升代码灵活性,核心条件为参数列表不同,不涉及返回类型、访问修饰符... 目录Java 方法重载(Overload)详解一、方法重载的核心条件二、构成方法重载的具体情况三、不构

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python中反转字符串的常见方法小结

《Python中反转字符串的常见方法小结》在Python中,字符串对象没有内置的反转方法,然而,在实际开发中,我们经常会遇到需要反转字符串的场景,比如处理回文字符串、文本加密等,因此,掌握如何在Pyt... 目录python中反转字符串的方法技术背景实现步骤1. 使用切片2. 使用 reversed() 函

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

SpringBoot+Docker+Graylog 如何让错误自动报警

《SpringBoot+Docker+Graylog如何让错误自动报警》SpringBoot默认使用SLF4J与Logback,支持多日志级别和配置方式,可输出到控制台、文件及远程服务器,集成ELK... 目录01 Spring Boot 默认日志框架解析02 Spring Boot 日志级别详解03 Sp

MySQL 中的 CAST 函数详解及常见用法

《MySQL中的CAST函数详解及常见用法》CAST函数是MySQL中用于数据类型转换的重要函数,它允许你将一个值从一种数据类型转换为另一种数据类型,本文给大家介绍MySQL中的CAST... 目录mysql 中的 CAST 函数详解一、基本语法二、支持的数据类型三、常见用法示例1. 字符串转数字2. 数字