博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
支付宝-APP支付
阅读量:7015 次
发布时间:2019-06-28

本文共 2353 字,大约阅读时间需要 7 分钟。

  hot3.png

  • 配置文件和异步回调不需要改变,请参考:https://my.oschina.net/xpx/blog/1863944
  • 补充下app支付接口:
    @PostMapping(value = "/aliPay" , produces = "application/json;charset=UTF-8")    public R aliPay(@RequestBody PayParam payParam){        // 用订单号查询订单相关信息        PayOrder payOrder =  iPayOrderService.selectByPayNo(payParam.getOutTradeNo());        if(null == payOrder){            return R.error("订单信息有误");        }        //实例化客户端        AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.GATEWAYURL,AlipayConfig.APP_ID,AlipayConfig.MERCHANT_PRIVATE_KEY,AlipayConfig.FORMART,AlipayConfig.CHARSET,AlipayConfig.ALIPAY_PUBLIC_KEY,AlipayConfig.SIGN_TYPE);        //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称,alipay.trade.app.pay        AlipayTradeAppPayRequest request = new AlipayTradeAppPayRequest();        //SDK已经封装掉了公共参数,这里只需要传入业务参数,        //以下方法为SDK的model入参方式(model和biz_content同时存在的情况下取biz_content).        AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();        //商品描述        model.setBody(AlipayConfig.BODY);        //订单主题        model.setSubject(AlipayConfig.SUBJECT + payOrder.getUserNumber());        //订单号        model.setOutTradeNo(payOrder.getPayNumber());        //设置订单超时        model.setTimeoutExpress(AlipayConfig.TIME_OUT_EXPRESS);        //设置付款金额        model.setTotalAmount(payOrder.getPayAmount().toString());        model.setProductCode(AlipayConfig.PRODUCT_CODE);        request.setBizModel(model);        request.setNotifyUrl(AlipayConfig.NOTIFY_URL);        R r = R.ok();        try{            AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request);            r.put("data",response.getBody());            return r;        }catch (AlipayApiException e){            log.error("调用阿里支付失败{}",e.getMessage());            return R.error("调用阿里支付失败");        }    }
  • 说下私钥和公钥的生成
    • 进入https://openhome.alipay.com/platform/keyManage.htm,设置公钥
    • 下载公钥自动生成地址https://os.alipayobjects.com/download/secret_key_tools_RSA256_win.zip
    • 下载后解压有说明使用,运行:支付宝RAS密钥生成器SHAwithRSA2048_V1.0.bat 即可
    • 用文本编辑器打开复制中间部分上传
    • 下载校验公钥地址:https://os.alipayobjects.com/download/sign_tools_RSA256_win.zip
    • 解压后运行:支付宝报文签名生成器SHA256withRSA2048_V1.0.bat
    • 将之前生成的私钥文件rsa_private_key_pkcs8.pem用文本编辑器打开,复制到左边,然后生成右边的数据复制到网页的验证公钥中
    • 如果提示匹配成功则完成
    • 将私钥信息复制到代码支付信息中:http://www.5ixuexiwang.com/str/compress.php,这个网址可以去除空格换行
    • 上传成功后会生成支付宝公钥,复制里面的公钥到代码中即可
  • 搞定

转载于:https://my.oschina.net/xpx/blog/2996612

你可能感兴趣的文章
阿里云突发性能t5实例如何开启无性能约束模式?
查看>>
Ubuntu 设置环境变量
查看>>
如何使用Python执行系统命令方法?老男孩IT教育
查看>>
学习之初,约定,认识Linux,创建虚拟机,安装CentOS7镜像
查看>>
Linux磁盘管理
查看>>
用Angular动态添加、删除输入框并计算总值
查看>>
C语言网络通讯的示例
查看>>
Linux中DNS反向解析配置
查看>>
mysql数据库安装与使用(附安装包)
查看>>
Win8系统108个运行命令 你能记住多少?(转)
查看>>
网站主机
查看>>
Connection封装
查看>>
如何判断 Linux 是否运行在虚拟机上
查看>>
MySQL中PreparedStatement sql中in的引号问题
查看>>
趣事:据说只有程序员才能看懂的笑话,祝新的一周愉快!
查看>>
Python3 迭代器与生成器
查看>>
云计算成增收引擎,营收创上市以来新高
查看>>
PHP 常用的header头部定义汇总
查看>>
Java heap space 解决方法
查看>>
通过注册表开通关闭局域网共享
查看>>