通知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对微信支付回调处理的方法(合集)
支付完成后,微信会把相关支付结果和用户信息发送给商户,商户需要接收处理,并返回应答. 对后台通知交互时,如果微信收到商户的应答不是成功或超时,微信认为通知失败,微信会通过一定的策略定期重新发起通知,尽 ...
随机推荐
- android logo设计
应用程序图标 (Icon)应当是一个 Alpha 通道透明的32位 PNG 图片.由于安卓设备众多,一个应用程序图标需要设计几种不同大小,如: LDPI (Low Density Screen,120 ...
- linux socket读数据错误解释
EINTR 表示某种阻塞的操作,被接收到的信号中断,造成的一种错误返回值. EAGAIN 从字面上来看,是提示再试一次.这个错误经常出现在当应用程序进行一些非阻塞(non-blocking)操作( ...
- C# 6.0语法糖剖析
C# 6.0语法糖剖析 2016年12月16日 16:10:27 阅读数:586 版权声明:本文为博主http://www.feixueteam.net原创文章,未经博主允许不得转载. https ...
- JS的同步加载、异步加载
在使用js展开式菜单时,发现只有加载完页面包含的js文件时,展开菜单才能折叠起来. 查找了一下原因:是因为js页面加载使用的是同步模式,又称阻塞模式,会阻止浏览器的后续处理,停止后续的解析,只有当当前 ...
- LA 5009 (HDU 3714) Error Curves (三分)
Error Curves Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu SubmitStatusPr ...
- 自己动手开发更好用的markdown编辑器-04(实时预览)
这里文章都是从个人的github博客直接复制过来的,排版可能有点乱. 原始地址 http://benq.im/2015/04/25/hexomd-04/ 程序打包 文章目录 1. 打开新窗口 ...
- 几段表单处理的JQuery代码(转)
1 只接受数字输入 $("#uAge").keydown(function(event) { // 允许退格和删除键 if ( event.keyCode == 46 || eve ...
- 免费开源C# 论坛
http://stackoverflow.com/questions/255591/who-knows-a-good-free-open-source-forum-in-c 1. http://yet ...
- discuz添加管理员,找回管理员方法
增加创始人方法: 第一步:打开现在创始人的后台,将你所需要增加的创始人设置为管理员,并且给予后台副站长权限,这两部一定要做到位,先把这两步做完之后再做下面的! 具体设置管理员和给予后台副站长权限请查看 ...
- iOS开发中邮箱,电话号码,身份证,密码,昵称正则表达式验证
//邮箱 + (BOOL) validateEmail:(NSString *)email { NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@ ...