通知url必须为直接可访问的url,不能携带参数 异步接收微信支付结果通知的回调地址 不能携带参数。 回调地址后是否可以加自定义参数 同步回调地址 异步回调地址 return_url和notify_url的区别
【微信支付】微信小程序支付开发者文档 https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_7
通知url必须为直接可访问的url,不能携带参数。示例:notify_url:“https://pay.weixin.qq.com/wxpay/pay.action”
回调通知注意事项
● notify_url需要填写商户自己系统的真实地址,不能填写接口文档或demo上的示例地址。
● notify_url必须是以https://或http://开头的完整全路径地址,并且确保url中的域名和IP是外网可以访问的,不能填写localhost、127.0.0.1、192.168.x.x等本地或内网IP。
● notify_url不能携带参数。
● 常见错误举例:
错误描述 |
错误示例 |
---|---|
url中只有域名,缺少具体的路径 |
http://www.weixin.qq.com |
url不是以https://或http://开头,缺少域名或IP |
./PayNotify.aspx |
url中填写了本地或者内网IP |
http://127.0.0.1/pay/notify.php |
填写了不是url格式的字符串 |
xxxxxxx,1234567,test |
2、返回报文格式规范
● 返回报文必须是xml格式,字段名需与接口文档说明的一致,报文前后和各字段标签中间不能包含特殊字符。
● 常见错误举例:
错误描述 |
错误示例 |
---|---|
返回内容为空或者非xml格式字符串 |
ok,success,支付成功 |
返回的xml格式报文中间有其他字符 |
<xml>\n<return_code><![CDATA[SUCCESS]]></return_code> |
返回的是json格式 |
{"return_code":"SUCCESS";"return_msg":"OK"} |
返回的是整个页面的html代码 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head><title>支付成功通知页面</title></head><body>success</body></html> |
3、回调处理逻辑注意事项
● notify_url的代码处理逻辑不能做登录态校验。
● 商户系统收到支付结果通知,需要在5秒内返回应答报文,否则微信支付认为通知失败,后续会重复发送通知。
● 同样的通知可能会多次发送给商户系统,商户系统必须能够正确处理重复的通知。如果已处理过,直接给微信支付返回成功。
● 商户侧对微信支付回调IP有防火墙策略限制的,需要对以下IP段开通白名单:
101.226.103.0/25、140.207.54.0/25、103.7.30.0/25、183.3.234.0/25、58.251.80.0/25。
【微信支付】微信小程序支付开发者文档 https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_1
通知地址 | notify_url | 是 | String(256) | http://www.weixin.qq.com/wxpay/pay.php | 异步接收微信支付结果通知的回调地址,通知url必须为外网可访问的url,不能携带参数。 |
同步异步 https://opensupport.alipay.com/support/knowCategory/20070
回调地址后是否可以加自定义参数
如何实现设置自定义参数回调时获取:
1、异步通知可通过请求参数设置passback_params公用回传参数,该参数异步通知返回;
2、同步通知无法设置信息,回调时获取;
若商户在回调地址后添加自定义参数,可能造成影响如下:
1、调用接口进行参数签名时,可能因为回调地址携带自定义参数导致签名报错,无法签名成功;
2、支付成功返回通知数据验签时需要过滤掉自定义参数,否则会验签失败;
3、异步回调地址需外网post访问,且访问状态为http200,可能因为异步回调地址携带自定义参数导致无法外网post访问成功。
同步通知与异步通知的区别
2、发送通知的形式不一样,同步通知是在支付成功以后页面跳转会触发的,异步通知是交易状态变更会触发的.
3、返回通知参数不同
更多区别详情可参考该 同步通知与异步通知参数说明.
return_url和notify_url的区别
notify_url作用:支付宝服务器主动通知商户网站里指定页面路径,返回订单信息。
(具体以 蚂蚁金服开发平台-文档中心 提供的 为准)
回调地址如何设置
如何设置回调地址,并可了解授权回调地址、应用网关、同步回调地址、异步回调地址四者的区别。
1、 授权回调地址:在应用中进行设置,授权时使用,在第三方授权或用户信息授权链接中配置的redirect_uri的值必须与此值保持一致;
2、 应用网关:在应用中进行设置,用于接收支付宝异步通知,例如口碑开店、生活号;
3、 同步回调地址:支付接口请求时设置的return_url参数,主要用于网站支付接口支付成功后的同步页面跳转;
4、 异步回调地址:支付接口请求时设置的notify_url参数,主要用于判断交易状态,如交易是否成功。
同步参数和异步参数解析说明详见 点击进入
注:(1)授权回调地址和应用网关都是在应用中设置的,并且在应用中分别都只能设置1个;
(2)同步回调地址和异步回调地址在支付
通知url必须为直接可访问的url,不能携带参数 异步接收微信支付结果通知的回调地址 不能携带参数。 回调地址后是否可以加自定义参数 同步回调地址 异步回调地址 return_url和notify_url的区别的更多相关文章
- 支付回调地址 同步回调地址 异步回调地址 return_url和notify_url的区别
[微信支付]JSAPI支付开发者文档 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_16&index=10 退款结果通知 ...
- 微信支付没有结果通知,notify_url参数的接口没有收到微信支付结果通知
在微信支付统一下单的时候需要填一个notify_url参数用于处理微信支付结果通知 但是,有时候我们发现我们设置的这个接口收不到微信请求.原因有一下几个,大家一一对照,也欢迎补充. 1. url是否可 ...
- 支付宝开发中return_url和notify_url的区别分析
在处理支付宝业务中出现过这样的问题,付费完成后,在支付宝跳转到商家指定页面时,订单状态已经更新,通过调试发现是支付宝先通知notify_url,完成了订单状态. 支付宝return_url和notif ...
- PHP 进行支付宝开发中return_url和notify_url的区别分析
在支付宝处理业务中return_url,notify_url是返回些什么状态呢,我们要根据它来做一些处理就必须了解return_url,notify_url的区别,下面我就来给大家介绍; 一.问题描述 ...
- ***php进行支付宝开发中return_url和notify_url的区别分析
本文实例分析了php进行支付宝开发中return_url和notify_url的区别.分享给大家供大家参考.具体分析如下: 在支付宝处理业务中return_url,notify_url是返回些什么状态 ...
- java使用AES-256-ECB(PKCS7Padding)解密——微信支付退款通知接口指定解密方式
1.场景 在做微信支付退款通知接口时,微信对通知的内容做了加密,并且指定用 AES256 解密,官方指定的解密方式如下: 2.导包 <!-- https://mvnrepository.com/ ...
- return_url和notify_url的区别
页面跳转同步通知页面特性(return_url特性) (1) 买家在支付成功后会看到一个支付宝提示交易成功的页面,该页面会停留几秒,然后会自动跳转回商户指定的同步通知页面(参数return_url ...
- .NET开发微信小程序-接收微信支付回调数据
获取微信支付传回来的数据 1.MVC控制器 /// <summary> /// 付款返回的数据 /// </summary> /// <returns></r ...
- php对微信支付回调处理的方法(合集)
支付完成后,微信会把相关支付结果和用户信息发送给商户,商户需要接收处理,并返回应答. 对后台通知交互时,如果微信收到商户的应答不是成功或超时,微信认为通知失败,微信会通过一定的策略定期重新发起通知,尽 ...
随机推荐
- 严重: Exception sending context initialized event to listener instance of class org.springframework.we
2014-6-1 0:47:25 org.apache.catalina.core.AprLifecycleListener init 信息: The APR based Apache Tomcat ...
- jumpserverv0.5.0 基于 CentOS7安装部署
基于 CentOS 7 一步一步安装 Jumpserver 0.5.0 环境 系统: CentOS 7 IP: 192.168.244.144 关闭 selinux和防火墙 # CentOS 7 $ ...
- C#实现的根据日期得到今天是星期几
算法如下: 基姆拉尔森计算公式: W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 在公式中d表示日期中的日数,m表示月份数,y表示年数.注意:在公式中有 ...
- Docker的Jenkins Pipeline工作流
原文地址:http://www.youruncloud.com/blog/127.html 分享主题 一个软件产品的开发周期中,尤其是敏捷开发,持续集成和持续部署是必不可少的环节,而随着产品的丰富,模 ...
- springboot学习(九) 使用mybatis访问数据库
1.添加maven依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId ...
- Hive substr 函数截取字符串
开发中,经常进行模糊查询或者进行截取字符串进行模糊匹配,常用的就是substr函数或者substring函数. 使用语法: substr(string A, int start),substring( ...
- Java实现XSS防御
XSS概述 跨站脚本攻击(Cross Site Scripting),缩写为XSS.恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行, ...
- Atitit. 真正的全中国文字attilax易语言的特点以及范例
Atitit. 真正的全中国文字attilax易语言的特点以及范例 1. 前言 attilax易语言是什么??1 2. attilax易语言的特点2 2.1. 支持多语言文字,不只汉字,还有藏文,维文 ...
- Spring的AOP配置
Spring的AOP配置 1.先写一个普通类: package com.spring.aop; public class Common { public void execute(String us ...
- 125. Valid Palindrome【easy】
125. Valid Palindrome[easy] Given a string, determine if it is a palindrome, considering only alphan ...