栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

web沙箱支付宝功能(详细)非maven版

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

web沙箱支付宝功能(详细)非maven版

今天简单实现下支付宝的沙箱支付,萌新,还不会用maven,还是手动导入的jar包。jar包和代码大部分来自支付宝演示demo,我下面贴上下载链接

链接:支付宝演示demo

首先下载支付宝开发平台软件,生成密匙
支付宝沙箱链接
点击链接然后登陆,开启那个自定义密匙,



这里输入前面生成的公匙

生成之后一套公共的配置数据就全了。
配置一下公共can’shucanshu

public class AlipayConfig {
    // 商户appid
    public static String APPID = "2021000119624409";
    // 私钥 pkcs8格式的
    public static String RSA_PRIVATE_KEY = "MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCC85miUnTjLx1IVNjKf1BveCA2xpzukVAwfQd2rWU2moiPwm5IgupjMRBFE8yrHSFHkfcltlyzVULqR0krV/K8m20/V7pogwdkE9QsFCs+1NEEwSCzhuwncuMWqUn990k+HPDxEA/wF8CENnZQXvsTW3jZvB4Ebt4/KG8um0gTJk/CfAIkbfAqLtafJI5WwW5GPzHFONm4LfU+ETYNZszup380j924pHiWpzAt1wdNZsYRaGLRli4hju9jJd6kHfMkmapXUrwcwSkuMmYqZ6SXM9tb6X3BOazC2MzrxW8vpciPW4xLjPZ8WWuw186ghc5NqelTj3uSByqBgi5Uc6nTAgMBAAECggEALztZ0JhZHJAjybEAuJkPFAWJ6PfeJpY3DCYsiPulo/o9A00npfPCQqCxs5iem6FYHY5iTDHoYa6BAitQEtgX7ztIPi6QR53rDoewYW2s426zLTnTZ61khB4GFmhdDcMhocuig/A9L2YBxC44omh/us2lWzNkyEiM1M7quy664lzM+xE+Eeqnrbl/1qmtr8HvQyIgq+GNe5QuAF2mvSuuPzc9Xd7BSGFVX6d89SWR57pfI+9fsHe7TNCE9T37x4cxx81TPxxZx3/d5kYY4021OL8qjOA9+zrIV0aZXuO07UNySgeh9CUskPbuW3P/aannI6RpwuRp18e3gxQlGcxTsQKBgQC+wYH7IQAVMl/SKywO5xJPIYkJd3vXELzJMhblWIim/1x4mZzdnCak9e8k/tu9g381jEII3vl0wNMwniErfxufgy49CTTZVrB4AGrxLHXGGb5g3XrJj+3/NdN6hFYUA2cALYxoIJPNFES+tfQW58zmBPA9SW/dIwIxDJCuzP24XQKBgQCvvaekVuCdV1ERqfPm7x068X3+vOq4TffWSe3kYDGyf6msgleTwWeE/b1M6jSLxdRXuWNktubY6LIFtXTNE7EyFwsX6qL0mf2o0QfnmgrQ1t4KA0laSZcEJaYeeAPQ6AMXr2VwwppepTuE/c9N9ZKgGJn9ZvTgK3dvCmEycRIH7wKBgEFM9xUkB+Y5t2m4E74KRk9GeKX//Cn0ddweRI5Aj48zjdFPLM8EXIpOEo7EnC61LEAFgrmMszLPq7xR9aLxQWCKxLJqS2g3b/O0mOd0w+CMAYshZp5Hoj6ii4G+ecUiIQmDjjQ7Kr2iuaHbofKRaag4epFQaXX3PRHTblgYnqaVAoGAGL4f+zBMIXrorA78ivgBaooTjij09wvrJ91yw+OTO6ljrykOwXvKYlwDKfATg9ZPhiZQyx5BNCrW3Zzlm/X4za+W3UAovz1rDDiZ30691RdbXZeG3VJdE7VlRQbqqp/vx4bnRk/vwgGLdrbxV+2KPkYYcCfttB4Ki7SvaJWozzsCgYBIXeeaQe1V2o/+JmFP04hncIS8T5fO45RlSD6cXySpI6GqVUCG06rXBhsNf5acYsR7s1HfTvDK4xM+OEIAprI7CXpfzv0eFl1/biYUzgZMUexybdD9SO5inNu37hHKNJOezu4OaSDqXP96NnBuKLopkJ7SvjLL2Ga5mquYxx2aUg==";
    // 服务器异步通知页面路径 需http://或者https://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问
    public static String notify_url = "http://8.130.20.17:8080/_war_exploded/return_url.jsp";
    // 页面跳转同步通知页面路径 需http://或者https://格式的完整路径,不能加?id=123这类自定义参数,必须外网可以正常访问 商户可以自定义同步跳转地址
    public static String return_url = "http://localhost:8080/_war_exploded/return_url.jsp";
    // 请求网关地址
    public static String URL = "https://openapi.alipaydev.com/gateway.do";
    // 编码
    public static String CHARSET = "UTF-8";
    // 返回格式
    public static String FORMAT = "json";
    // 支付宝公钥
    public static String ALIPAY_PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAgvOZolJ04y8dSFTYyn9Qb3ggNsac7pFQMH0Hdq1lNpqIj8JuSILqYzEQRRPMqx0hR5H3JbZcs1VC6kdJK1fyvJttP1e6aIMHZBPULBQrPtTRBMEgs4bsJ3LjFqlJ/fdJPhzw8RAP8BfAhDZ2UF77E1t42bweBG7ePyhvLptIEyZPwnwCJG3wKi7WnySOVsFuRj8xxTjZuC31PhE2DWbM7qd/NI/duKR4lqcwLdcHTWbGEWhi0ZYuIY7vYyXepB3zJJmqV1K8HMEpLjJmKmeklzPbW+l9wTmswtjM68VvL6XIj1uMS4z2fFlrsNfOoIXOTanpU497kgcqgYIuVHOp0wIDAQAB";
    // 日志记录目录
    public static String log_path = "F:\log";
    // RSA2
    public static String SIGNTYPE = "RSA2";

}

这里通过servlet调用支付宝sdk

       String addaccount=request.getParameter("addaccount");//这是我从前端获取的数据,可以不写
            String ordernumber= UtilId.getGUID();


            int addaccount1=Integer.parseInt(addaccount);
            HttpSession session=request.getSession();
            Customer customer=(Customer) session.getAttribute("customer");
            String id_name=customer.getId_name();
            System.out.println(addaccount);
            request.setCharacterEncoding("utf-8");
            response.setContentType("text/html;charset=utf-8");
            //初始化
            AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.URL,
                    AlipayConfig.APPID,
                    AlipayConfig.RSA_PRIVATE_KEY,
                    AlipayConfig.FORMAT,
                    AlipayConfig.CHARSET,
                    AlipayConfig.ALIPAY_PUBLIC_KEY,
                    AlipayConfig.SIGNTYPE);
            //创建API对应的request
            AlipayTradePagePayRequest alipayRequest = new AlipayTradePagePayRequest();
            //在公共参数中设置回跳和通知地址
            alipayRequest.setReturnUrl(AlipayConfig.return_url);
            alipayRequest.setNotifyUrl(AlipayConfig.notify_url);
            System.out.println(1);
                 //填充业务参数

            //必填
            //商户订单号,需保证在商户端不重复
            String out_trade_no = ordernumber;
            //销售产品码,与支付宝签约的产品码名称。目前仅支持FAST_INSTANT_TRADE_PAY
            String product_code = "FAST_INSTANT_TRADE_PAY";
            //订单总金额,单位为元,精确到小数点后两位,取值范围[0.01,100000000]。
            String total_amount =addaccount;
            //订单标题
            String subject = "账户充值";

            //选填
            //商品描述,可空
            String body = "商品描述";
            System.out.println(2);

            alipayRequest.setBizContent("{" +
                    ""out_trade_no":"" + out_trade_no + ""," +
                    ""product_code":"" + product_code + ""," +
                    ""total_amount":"" + total_amount + ""," +
                    ""subject":"" + subject + ""," +
                    ""body":"" + body + ""}");
            //请求
            String form = "";
            try {
                form = alipayClient.pageExecute(alipayRequest).getBody();//调用SDK生成表单

            } catch (AlipayApiException e) {
                e.printStackTrace();
                response.getWriter().write("捕获异常出错");
                response.getWriter().flush();
                response.getWriter().close();
            }
            response.setContentType("text/html;charset=" + AlipayConfig.CHARSET);
            response.getWriter().write(form);//直接将完整的表单html输出到页面
            response.getWriter().flush();
            response.getWriter().close();
z

        }

至于异步通知,同步通知的信息根据自己项目需求来验证。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/754348.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号