阿里支付的开发细节

app支付的细节问题

1 阿里支付的异步通知和同步通知
异步通知:阿里服务器发送请求到商户服务器进行数据校验 为post请求;支付宝一定会确保发送给商户服务端;
同步通知:阿里服务器在完成支付之后将支付结果返回到支付宝;支付宝根据调用的sdk返回到商户app,商户app可以再次到服务器端进行验证,验证通过之后 本次支付成功;

通常的做法是:同步通知作为支付结束的通知,然后商户app发出请求到商户服务端进行验证(前提是商户服务端已经接受到阿里支付的回调信息);

2 商户app端发送请求 验证支付结果的正确性;
商户接收到阿里支付服务器的同步通知之后,发送请求到商户服务器验证交易是否成功;
提取 阿里支付服务器中同步返回的数据进行解析;
将其中的 
sign_type ; 
sign ;
total_amount ;
trade_no (支付宝系统中的交易流水号);
seller_id (收款支付宝账号对应的支付宝唯一用户号);
out_trade_no(商户网站唯一订单号) ;
传入商户app进行验签(阿里提供sdk)和逻辑处理;


逻辑处理:
-1商户需要验证该通知数据中的out_trade_no是否为商户系统中创建的订单号;
-2判断total_amount是否确实为该订单的实际金额(即商户订单创建时的金额);
-3校验通知中的seller_id(或者seller_email)是否为out_trade_no这笔单据对应的操作方(有的时候,一个商户可能有多个seller_id/seller_email);
-4验证app_id是否为该商户本身。
上述1、2、3、4有任何一个验证不通过,则表明同步校验结果是无效的,只有全部验证通过后,才可以认定买家付款成功

3 异步通知:
注意事项:
url:程序执行完后必须打印输出“success”,否则alipay服务器会重复发送通知,8次;打印"success"之后 该次通知就会失效
执行完毕之后不能进行页面跳转;
cookies、session会失效;
异步通知的作用:处理订单状态的更新

异步返回结果的验签:
除了sign、sign_type参数外 其他的都要验证;

将剩下参数进行url_decode,通过urlencode编码后的字符串,可通过UrlDecode进行解码


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值