八卦资讯 ·

支付宝创建支付链接 Alipay之web简单的支付功能实现 – 吾爱分享


支付宝创建支付链接 Alipay之web简单的支付功能实现

Alipay第三方支付接口:

在做支付功能之前,需要去蚂蚁金服开发者平台,对于Alipay做一个简单大体的了解。下面提供几个文档链接地址建议好好看看:

Alipay支付能力文档:即:Alipay可以做到的支付方式:

Alipay API文档,详细的介绍了其各种支付方式的详细的 请求参数,返回参数,必选和可选参数的说明:(需要仔细看):

Alipay集成demo测试:(我的习惯是,在做任何一个功能之前首先做一个极简的demo,测试成功后再集成到正式项目)。

这里使用Alipay沙箱环境:

第一步:Alipay 支付资格获取。

   > 根据所有的第三方的尿性,你需要申请成为开发者资格才可以。这个也一样。

   > 沙箱环境开发和正式环境开发没有区别,唯一区别在于:网关不同。

   > 去开发中心创建沙箱应用:这个跟着网页的步骤一步步建立就行,不会就百度。。。

 

支付宝创建支付链接 Alipay之web简单的支付功能实现 - 吾爱分享 八卦资讯 第1张

第二步:看官方文档,根据文档进行

   

支付宝创建支付链接 Alipay之web简单的支付功能实现 - 吾爱分享 八卦资讯 第2张

  > 使用这个接口,precreate

alipay.trade.precreate    免费    统一收单线下交易预创建

 >进去看。。。。。。其实仔细看下来,一步步写就可以。。。

我简单说下一个简单demo工程的创建过程:

1.在做项目之前,可以仔细看下这个官方文档,进入主页点击  -> 开发文档 -> 所有能力文档 即可。

支付宝创建支付链接 Alipay之web简单的支付功能实现 - 吾爱分享 八卦资讯 第3张

2.项目导包,Alipay有官方sdk使用。

  开发使用的包,可以从官方demo获取。比如:以下图片中的:

支付宝创建支付链接 Alipay之web简单的支付功能实现 - 吾爱分享 八卦资讯 第4张

 比如这个当面付支付方式,官方详细demo,很不错。主要的包就三个,还有些commons依赖包,一股脑儿copy进去即可。当面付下回写。

3.编码

  直接复制官方代码,哈哈哈哈哈。。。。。就是这么懒,需要说明的是 ,这个测试demo和当面付的demo不同,当面付其实是对这个最基本demo的封装,当面付详细分析,源码查看下回一并说: 

 这是我写的servlet:红字每一句都很重要,首先是创建一个AlipayClient,每个参数都是必选,根据API文档自己看。。。。

 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

       AlipayTradePrecreateRequest alipayRequest = new AlipayTradePrecreateRequest();//创建API对应的request类

        alipayRequest.setBizContent("{" +

        "    "out_trade_no":"20150320010101005"," +

        "    "total_amount":"88.88"," +

        "    "subject":"Iphone6 16G"," +

        "    "store_id":"NJ_001"," +

        "    "timeout_express":"90m"}");//设置业务参数

        AlipayTradePrecreateResponse alipayResponse;

        try {

            alipayResponse = alipayClient.execute(alipayRequest);

            //System.out.print(alipayResponse.getBody());

           System.out.println(alipayResponse.getMsg());

        System.out.println("二维码串 = "+alipayResponse.getQrCode());

        } catch (AlipayApiException e) {

            e.printStackTrace();

        }

    }

 tip: alipayRequest.setBizContent   ---》这个设置可能有些疑惑,仔细看来,全都是API里的参数,是我们的项目向Alipay提交的参数。

  比如:"out_trade_no":"20150320010101005"  --》是我们提交的 订单号,

 》 看看这个参数吧 :

  biz_content    String --》 请求参数的集合,最大长度不限,除公共参数外所有请求参数都必须放在这个参数中传递,具体参照各产品快速接入文档

4.写个jsp ,一个按钮就行 ,请求servlet 即可,会看到console打印出 :

         System.out.println(alipayResponse.getMsg());          ---》网关返回码 ,详细的看文档去吧。。。

参与评论