java支付宝app支付-代码实现

1.我们需要在支付宝商户平台配置好,取到四个参数如下(这是支付宝官方配置地址):https://www.cnblogs.com/fuzongle/p/10217144.html

  1. 合作身份者ID:12345564544
  2. 支付宝账号:[email protected]
  3. 商户的私钥 :CSqGSIb3DQEBAQUAA4GNADCBiQKBgQCzzICE
  4. 支付宝的公钥:MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCzzICE

2.我们在项目中配置工具类上面四个号码,写到工具类中

 1 package cn.com.hanyu365.com.expand.alipay.config;
 2
 3 /* *
 4  *类名:AlipayConfig
 5  *功能:基础配置类
 6  *详细:设置帐户有关信息及返回路径
 7  *版本:3.3
 8  *日期:2012-08-10
 9  *说明:
10  *以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。
11  *该代码仅供学习和研究支付宝接口使用,只是提供一个参考。
12
13  *提示:如何获取安全校验码和合作身份者ID
14  *1.用您的签约支付宝账号登录支付宝网站(www.alipay.com)
15  *2.点击“商家服务”(https://b.alipay.com/order/myOrder.htm)
16  *3.点击“查询合作者身份(PID)”、“查询安全校验码(Key)”
17
18  *安全校验码查看时,输入支付密码后,页面呈灰色的现象,怎么办?
19  *解决方法:
20  *1、检查浏览器配置,不让浏览器做弹框屏蔽设置
21  *2、更换浏览器或电脑,重新登录查询。
22  */
23
24 public class AlipayConfig2 {
25     //↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
26     // 合作身份者ID,以2088开头由16位纯数字组成的字符串
27     public static String partner = "";
28     //支付宝账号
29     public static String seller_id = "";
30     // 商户的私钥  存在本地  不需要配置  rsa_private_key_pkcs8.pem
31     public static String private_key = "";
32     // 支付宝的公钥,无需修改该值    查看支付宝公钥
33     public static String ali_public_key  = "";
34     //↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
35     // 调试用,创建TXT日志文件夹路径
36     public static String log_path = "D:\\";
37     // 字符编码格式 目前支持 gbk 或 utf-8
38     public static String input_charset = "utf-8";
39     // 签名方式 不需修改
40     public static String sign_type = "RSA";
41
42 }

3.配置文件写好了,就直接可以在项目中调用支付宝了工具类地址下载:www.fuzongle.com 下载完成后直接导入配置上面的四个参数即可使用。

4.下面是直接使用项目代码调用支付宝代码 (这个就是可以调用支付了非常容易了 关键工具类 我已经把工具类写好了 你们直接调用即可)

 1      /**
 2       *开通vip----支付宝支付
 3       * @return
 4      * @throws Exception
 5       */
 6     @RequestMapping("/openVipPay")
 7     public Object balanceWechat(@RequestParam(value= "Cn", required=true, defaultValue="0" )String Cn,Integer userId,HttpServletRequest request, HttpServletResponse response) throws Exception {
 8          Map<String, Object> hashMap = new HashMap<String, Object>();
 9             //1.传入支付的金额
10             Double     money=0.01;
11             //2.随机生成一个订单号
12             String ORDER_NO = "JYJY"+new SimpleDateFormat("yy").format(new Date()) + String.valueOf(System.currentTimeMillis()/1000).substring(7,10)+String.valueOf((int) ((Math.random() * 9 + 1) * 10000));
13             //获取绝对路径
14               String path = request.getContextPath();
15               String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; //String.valueOf(findByid.getTotal_price())
16             //重点就这个调用了 工具类:传入金额 名字 订单号 回调地址
17               String sign = orderPay.payInfo("名字", "描述","金额", “订单号”,basePath+"app/appOpenVip/returnUrl.do");
18               hashMap.put("data",sign);
19               return new BaseJsonRep<Object>(hashMap);
20
21
22     }
23
24          /**
25       * 支付宝回掉数据
26       * @throws IOException
27       */
28      @RequestMapping(value = "/returnUrl" )
29      public BaseJsonRep<Object> returnUrl(@RequestParam(value= "Cn", required=true, defaultValue="0" )String Cn,String callback, HttpServletRequest request,HttpServletResponse response) throws IOException{
30             Double     money=0.1;
31            Map<String, String> param = new HashMap<String, String>();
32           Map<String, Object> hashMap = new HashMap<String, Object>();
33                Map<String,String[]> requestParams = request.getParameterMap();
34                param = new AlipayUtil().getParam(requestParams);
35               //商户订单号
36               String ORDER_NO = new String(request.getParameter("out_trade_no").getBytes("ISO-8859-1"),"UTF-8");
37               //支付宝交易号  流水号
38               String TRADENUM = new String(request.getParameter("trade_no").getBytes("ISO-8859-1"),"UTF-8");
39               //交易状态
40               String trade_status = new String(request.getParameter("trade_status").getBytes("ISO-8859-1"),"UTF-8");
41               //支付宝实际交易金额
42               String PAYAMOUNT = new String(request.getParameter("total_fee").getBytes("ISO-8859-1"),"UTF-8");
43               boolean verify_result = AlipayNotify.verify(param);
44              if(verify_result){
45                  if(trade_status.equals("TRADE_FINISHED") || trade_status.equals("TRADE_SUCCESS")){
46                     // 我们直接查询订单号
47                      //ORDER_NO  支付成功了 可以回显订单号,去查询数据库修改支付成功,上面的代码固定即可。
48                  }
49                }
50             return null;
51        }
52        

原文地址:https://www.cnblogs.com/fuzongle/p/10217586.html

时间: 2024-08-30 09:41:45

java支付宝app支付-代码实现的相关文章

支付宝app支付java后台流程及原理分析

java版支付宝app支付流程及原理分析 本实例是基于springmvc框架编写     一.流程步骤         1.执行流程           当手机端app(就是你公司开发的app)在支付页面时,调起服务端(后台第1个创建订单接口)接口,后台把需要调起支付宝支付的参数返回给手机端,手机端拿到         这些参数后,拉起支付宝支付环境完成支付,完成支付后会调异步通知(第2个接口),此时需要给支付宝返回成功或者失败信息,成功后会调用同步通知(第3个接口)         返回支付成

关于支付宝app支付服务端的实现-Java版

前言 最近在工作中需要使用支付宝app支付,在初次使用过程中也不可避免的出现了一些问题,那么本次随笔主要是概述支付宝app支付服务端的整个实现过程以及就服务端出现的一些问题做一些总结. 1.准备工作 1.1 入驻蚂蚁金服开放平台 https://open.alipay.com/platform/home.htm 1.2 创建应用 首先需要创建一个应用. 然后需要设置应用公钥. 下载支付宝密钥生成器.生成成功之后将公钥复制到这里. 最后提交审核,等待. 2.Maven依赖 首先需要下载SDK,ht

支付宝APP支付开发- IOException : DerInputStream.getLength(): lengthTag=127, too big.

支付宝APP支付Java开发报错: 1 IOException : DerInputStream.getLength(): lengthTag=127, too big. 后来排查是因为没有设置私钥.

支付宝APP支付开发- IOException : DER input, Integer tag error

支付宝APP支付Java开发报错: 1 java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException : DER input, Integer tag error 后来发现,原来是支付宝,生成的命令有问题,参数放错位置 将(3) 的命令改为: openssl pkcs8 -topk8 -nocrypt -inform PEM -in rsa_private_key.pem -o

.Net后台实现支付宝APP支付

前面讨论了微信支付,接下来聊聊支付宝的APP支付(新款支付宝支付).其实这些支付原理都一样,只不过具体到每个支付平台,所使用的支付配置参数不同,返回至支付端的下单参数也不同. 话不多说,直接上代码. 在App.Pay项目中使用NuGet管理器添加引用Alipay.AopSdk,也可以不添加引用,将官方SDK源码放至项目中. 添加完引用后,我们就可以开工了,新建文件夹AliPay,在文件夹中新建AliPayConfig类,存放支付宝APP支付所需的参数,同样,这些参数我也放在了配置文件中. 1 u

支付宝APP支付里设置应用网关和授权回调地址是不必填的

支付宝APP支付里设置应用网关和授权回调地址位置为: 支付宝app支付应用网关和授权回调地址为非必填,详细解释链接:https://openclub.alipay.com/read.php?tid=1339&fid=2

android 集成支付宝app支付(原生态)-包括android前端与java后台

本文讲解了 android开发的原生态app集成了支付宝支付, 还提供了java后台服务器处理支付宝支付的加密代码, app前端与java后台服务器使用json数据格式交互信息,java后台服务主要用来对支付数据进行加密和接受支付宝服务器的回调 注意: 本文即涉及到 android前端, 也涉及到 Java后台 准备条件: 到支付宝官网上注册用户, 打开开放平台,支付宝默认生成沙箱环境,用来测试支付流程 安装Android Studio[下载], 安装 Eclipse mars  [下载],  

支付宝app支付服务器签名代码(C#)

1,引入支付宝的sdk(AopSdk) 支付宝接口文档网站可下载,注意下载C#版本: 2,代码写的比较简单 public static string RSASign(string OrderNo,decimal Money,string bodyp,string subjectp) { string publicKeyPem = ;//支付宝公钥  string privateKeyPem = ;//商户私钥 string out_trade_no = OrderNo;//订单号 double

H5集成支付宝App支付客户端+服务端(java)

由于最近项目需要接入第三方开发,支付宝支付,微信支付,OSS图片上传以及短信服务.为避免第一次开发支付宝再次花时间查看文档,今天总结一下接入支付宝的过程,以及接入过程中遇到的问题. 1.首先在蚂蚁金服开放平台申请应用https://open.alipay.com/platform/home.htm,App支付需要签约后才能生效,签约只需提供完成资料即可通过审核. 2.在已申请应用中查看签约状态,若状态为已生效才可以继续开发,签约状态查看如下所示,注意:未完成签约的应用是无法接入成功的. 3.配置