开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
文档中心
凯发app官方网站的技术支持 & 案例 faq 
接入指南 > 接入准备 > 同步异步 > 如何接收异步通知
收藏
我的文档
设置
适用场景
根据 -异步触发方式 了解不同产品触发异步方式。
如果异步地址设置为 http(s) 方式,需以post方式接收异步通知,案例如下:
接口设置notify_url:如app支付、电脑网站支付等。
应用网关设置异步地址:如商家扣款主动解约等。
from蚂蚁消息订阅消息api(订阅方式选择http):如单笔转账到支付宝账户、商家分账等。
注意:生活号的 格式消息接收请按照生活号 demo 的接收示例接收。
接收方式
异步地址必须 post 接收异步通知。异步为 post 访问,同步为 get 访问,接收方式不同。
异步地址必须外网可访问。根据 了解异步通知的特性。
接收代码示例
接收异步通知代码示例详见各开发语言的 服务端验证异步通知信息参数示例
各开发技术人员可根据返回的异步示例进行自行 post 接收。
以下为支付宝提供的接收代码示例参考,可下载 ,demo 中的 notify_url 页面为通用参考示例。
注意:公钥证书和普通公钥签名的接收异步方式相同,但是验签代码不同。
java 服务端验证异步通知信息参数示例
java
复制代码
//获取支付宝post过来反馈信息
map<string,string> params = new hashmap<string,string>();
map requestparams = request.getparametermap();
for (iterator iter = requestparams.keyset().iterator(); iter.hasnext();) {
string name = (string) iter.next();
string[] values = (string[]) requestparams.get(name);
string valuestr = "";
for (int i = 0; i < values.length; i) {
valuestr = (i == values.length - 1) ? valuestr values[i]
: valuestr values[i] ",";
}
//乱码解决,这段代码在出现乱码时使用。
//valuestr = new string(valuestr.getbytes("iso-8859-1"), "utf-8");
params.put(name, valuestr);
}

//异步验签:切记alipaypublickey是支付宝的公钥,请去open.alipay.com对应应用下查看。
//公钥证书模式验签,alipaypubliccertpath是支付宝公钥证书引用路径地址,需在对应应用中下载
//boolean signverified= alipaysignature.rsacertcheckv1(params, alipaypubliccertpath, charset,sign_type);
//普通公钥模式验签,切记alipaypublickey是支付宝的公钥,请去open.alipay.com对应应用下查看。
boolean flag = alipaysignature.rsacheckv1(params, alipaypublickey, charset,"rsa2");

/* 请根据商户自己项目逻辑处理,并返回success或者fail。*/
if(signverified) {//验证成功
//请在这里加上商户的业务逻辑程序代
//——请根据您的业务逻辑来编写程序(以下代码仅作参考)——
//获取支付宝的通知返回参数,可参考技术文档中服务器异步通知参数列表,如out_trade_no
// string out_trade_no = new string(request.getparameter("out_trade_no").getbytes("iso-8859-1"),"utf-8");

out.print("success");
}else {//验证失败
out.print("fail");
}
php 服务端验证异步通知信息参数示例
.net 服务端验证异步通知信息参数示例
异步验签
异步验签方式根据签名方式、产品等验签代码不同,详见 -异步同步通知数据验签。
收到异步通知后,商家输出 success 是表示消息获取成功,支付宝就会停止发送异步,如果输出 fail,表示消息获取失败,支付宝会重新发送消息到异步地址。
建议在接收异步进行验签,如果验签成功输出 success,验签失败返回 fail,重新接收异步进行验签处理。
响应值
描述
是否重试
fail
消息获取失败
重试
success
消息获取成功
不重试
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图