apicloud apicloud

注册
查看: 6611|回复: 10

[商业案例展示] aliPayPlus 支付宝支付成功案例

主题:
2
帖子:
3
云币:
66

[商业案例展示] aliPayPlus 支付宝支付成功案例

6611 10 | 发表于 2017-7-18 12:06:31 |阅读模式 | |
本帖最后由 情谊之家 于 2017-7-18 12:08 编辑

前言:应公司新业务需求,开发了一款商城APP,后台的业务逻辑使用SpringMVC做的,订单支付的时候需要用到支付宝支付和微信支付,微信支付的成功案例在下一篇帖子中会有详细说明,本次帖子将要对支付宝的aliPayPlusj进行详细说明。好的,话不多说,进入主题。
1.apicloud的官方文档aliPayPlus中提供了两种支付方式:方案一payOrder和方案二pay,文档中特别声明用方案一比较安全,那么咱们就说说方案一的使用办法。2.这两种方法,不管用哪一种都需要在config.xml中做相应的配置,如下:
    <feature name="aliPayPlus">
      <param name="urlScheme" value="AliPayPlusA000000011" />
  </feature>   
   具体方法参考:http://docs.apicloud.com/Client-API/Open-SDK/aliPayPlus
3.想要用方案一的payOrder支付,前提需要向服务器获取支付信息,(本人采用支付宝RSA2的签名方式)如下:
    配置文件:      
   
    向支付宝官网发送请求参数,获取支付信息如下图:
   
4.获取到支付宝的支付信息后,调用alipayPlus的的payOrder,直接将自己服务器返回的参数付给orderInfo 使用,至此支付宝的客户端就会调用成功,支付完成后支付宝会对预留的异步通知接口进行请求。
5.服务器获取到支付宝的异步请求后,就可以对一系列的参数进行判断、处理自己的订单业务,如下如所示:
   
    注意:为了安全起见,一定要对签名进行处理:AlipaySignature.rsaCheckV1(params, AlipayConfig.public_key, AlipayConfig.input_charset, AlipayConfig.sign_type);
    签名验证通过后,必须严格按照如下的描述校验通知参数的合法性:
    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有任何一个验证不通过,则表明同步校验结果是无效的,只有全部验证通过后,才可以认定买家付款成功
    详细文档请参考:https://doc.open.alipay.com/docs ... Id=105302&docType=1 6.服务器与支付宝交互的过程中用的jar包有:alipay-sdk-java20170615110434.jar,至此支付宝支付就完成了。
7.特别注意:本人在调试支付的时候,可以支付成功,但是收不到支付的异步通知请求,在与支付宝官方人员进行联调的时候发现了问题,请求服务器的时候,http的状态状态吗必须为200,如果不是200,则支付宝的异步请求将会失败,服务器就会接受不到支付宝的异步通知。
8.此次帖子仅为个人经验之谈,有不妥之处还望大神们多多指点,在此谢过。





本帖子中包含更多资源    您需要 登录 才可以下载或查看,没有帐号?立即注册

3

查看全部评分

主题:
1171
帖子:
6531
云币:
2147206264

圣诞节捣蛋鬼APICloud大会专属勋章足球狗儿童节快乐

发表于 2017-7-24 12:06:35 |
感谢分享

主题:
61
帖子:
195
云币:
225
发表于 2017-10-29 14:59:52 |
收不到异步通知怎么回事??

主题:
2
帖子:
3
云币:
66
 楼主| 发表于 2017-11-27 16:10:43 |
合创网络 发表于 2017-10-29 14:59
收不到异步通知怎么回事??

要确保你的回调地址的http状态返回的是200,

新手上路

UID:507629

主题:
19
帖子:
71
云币:
169
发表于 2017-12-1 15:23:47 |
我想请问一下请求参数orderinfo的格式是怎么样的?每次请求都是ALI40247

驾校小白

UID:200582

主题:
1
帖子:
18
云币:
3

APICloud粉丝装逼侠

发表于 2017-12-12 19:17:40 |
我也是ALI40247

驾校小白

UID:594592

主题:
0
帖子:
4
云币:
6
发表于 2018-2-6 16:32:01 |
我的也是啊,有没有大神可以给出解决方案呢

主题:
4
帖子:
3909
云币:
3144
发表于 2018-2-6 20:32:18 |
不错不错  

新手上路

UID:283711

主题:
6
帖子:
51
云币:
169

足球狗

发表于 2018-9-25 14:46:54 |
感谢分享!!

主题:
12
帖子:
34
云币:
50
发表于 2020-4-20 22:18:50 |
标记一下,
12下一页
您需要登录后才可以回帖 登录 | 立即注册

快速回复 返回顶部 返回列表