目录

一、集成支付宝轻量支付插件

开始之前先完成支付宝快速接入中的第一步和第二步:https://docs.open.alipay.com/204/105297/

1、配置开发工具使用此插件

1)找到项目目录下config.xml文件
2)在config.xml文件上右键-打开方式-XML Editor
3)配置此插件信息,添加样例:

  1. <import id="cordova-plugin-summer-pay" type="web" ref="cordova"/>

说明
a)import节点中,id属性为插件名称

2、后台生成定单并加密

a)集成SDK
根据后台技术不同,支付宝提供了JAVA版、.NET版、PHP版实现的SDK,请选择并集成到自己的后台
b)小编用Java实现的后台代码

  1. // 1、获取参数
  2. String outTradeNo = request.getParameter("outTradeNo");
  3. String totalAmount = request.getParameter("totalAmount");
  4. JSONObject jsonRes = new JSONObject();
  5. // 2、实例化客户端
  6. AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", APP_ID, APP_PRIVATE_KEY, "json", CHARSET, ALIPAY_PUBLIC_KEY, "RSA2");
  7. //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
  8. AlipayTradeAppPayRequest aliRequest = new AlipayTradeAppPayRequest();
  9. //SDK已经封装掉了公共参数,这里只需要传入业务参数。以下方法为stack的model入参方式(model和biz_content同时存在的情况下取biz_content)。
  10. AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();
  11. model.setBody("我是测试数据");
  12. model.setSubject("App支付测试Java");
  13. model.setOutTradeNo(outTradeNo);
  14. model.setTimeoutExpress("30m");
  15. model.setTotalAmount(totalAmount);
  16. model.setProductCode("QUICK_MSECURITY_PAY");
  17. aliRequest.setBizModel(model);
  18. aliRequest.setNotifyUrl("商户外网可以访问的异步地址");
  19. try {
  20. //这里和普通的接口调用不同,使用的是sdkExecute
  21. AlipayTradeAppPayResponse aliResponse = alipayClient.sdkExecute(aliRequest);
  22. jsonRes.put("body", aliResponse.getBody());
  23. System.out.println(aliResponse.getBody());//就是orderString 可以直接给客户端请求,无需再做处理。
  24. } catch (AlipayApiException e) {
  25. e.printStackTrace();
  26. }
  27. jsonRes.put("status", "1");
  28. jsonRes.put("msg", "操作成功!");
  29. // 5、返回值
  30. ReturnObject ret = new ReturnObject();
  31. ret.setResponse(jsonRes);
  32. String strRet = ret.toString();
  33. response.getWriter().write(strRet);

详情参考某宝开放平台:https://docs.open.alipay.com/204/105297/

3、前台调用支付插件

  1. function aliPay(){
  2. summer.ajax({
  3. "type" : "get",
  4. "url" : "http://10.4.110.29:8080/xiaoyou/demo/alipay?outTradeNo=1234567890&totalAmount=0.01"
  5. }, function(ret) {
  6. var body = JSON.parse(ret.data).response.body;
  7. console.log(body);
  8. cordova.require("cordova-plugin-summer-pay.summerpay").alipay({"orderInfo": body}, function(args) {
  9. // 打开支付成功页面
  10. summer.toast({
  11. msg: "支付成功"
  12. });
  13. }, function(err) {
  14. // 打开支付失败页面
  15. summer.toast({
  16. msg: "支付失败"
  17. });
  18. });
  19. }, function(err) {
  20. console.log(err);
  21. });
  22. }

4、保存并打包测试

在开发工具右键summer项目,选中新云端打包即可

文档更新时间: 2018-05-15 15:28