支付宝沙箱支付实现

准备好

  1. 支付宝开放平台开发助手
  2. 支付宝开放平台 申请自己的沙箱环境
  3. 花生壳 内网穿透工具 6元 98年 实名认证
  4. 客户端调试工具 手机安装
    在这里插入图片描述
    去官网登录点击研发服务

在这里插入图片描述
在支付宝开放平台开发助手获取密钥并输入
在这里插入图片描述
java代码:id 密钥,公钥,url我都改了 大家根据自己的填写就可以了

public class AliPayController {
    /**
     * appID
     */
    public  final static String APP_ID="20210001186681";
    /**
     * 应用密钥
     */
    public  final static String APP_PRIVATE_KEY="MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCFDZl1fml/LfBDIunLp469QA3wBIHF2CRE3smYGoGeqbHtnwqweFqsbgQtTK4Cns3W6FM+iM/pYgIUt+NMGhZ/UGevw/x4psP1UjFc8VqIw5MU0zaEsgR6IAMRuIwWSIH4wCNRhKXTGdT285PaQn1iPoaJQNsFLpmpobt49fEsHXWHyPc9E16dwy0W4icGmveZCcJB5BHRAg9AqokvUVed3YMWi7F+HMqV4hHzaMuLrgMDGkY7++YwR2hxb8TevfBCh4ESyktijK91n+ihkTmrvU2L/oeMfK51D4iB1YOR18zSpwP3adl0NeJWNP4Rv0cTsxNoVJCJr3oyDrOzzg4zAgMBAAECggEAXYHDOamPpsu4MNaWjIPDcwlTQj1InqxaQPR5pSXrtn/4BdFiB8dtogTndpaPLFRCwSghaK9pvtEcOUdKvK8Q5ISzefk4s+oviXcsLe+I+tjHwzj09ajOMK3Sul+CRB7NCO6vY5jfmU5sNunUHO3hhGwAzPEBe9DWOTrqsAXYanF901Sb7ZgGBGdUEYDPLCbrwWmrqsKorIFNvKxavhQS0jQ8FFn4zEW797/7cGvHMIQLB1hE/wcPaktclmZVvaOlMOF1Wm+pCZfanPOKLkGUzd1ywCwyd7KgQa7o4z/vLHSPZl4aYMOIU5T98DaQ5pCBJpYT0FjaF2lBCI6l28mRwQKBgQDDdlQ7resLMh9odtKCr6fTw5/Z3VfHVTKHWBqiSGm4+Sn5+OjzEUYoFCY7gUSXTejGuzEuNdvtHESA0H1Cc+5ynfIbQIuR678gDtwPfRoa20ebShP7VfTwdPZIIGI1VvoJI3YoXD1plzN/9Y9NHm0S/Al2lwQ+5Kss3BQ/H1+5sQKBgQCuQwWM5C/xWVtaZGIfPMf8jrdqpDW93Zc/Q0WGdvJgGdFqOykftB0qySsKKxbxwJqVlR4x8LEvLJuPycAj4iM3DPxBtGF0gICtiJdo20xiCdGuZvZCx03tCxjv4sNdGf8adDW72lOSYnzpgIPkH8pDK92I/qSOhEKm0B2/acIbIwKBgFBIO9S/XHkevzPDCjfPOhmKkg+EEFe5MKXSlC3vnCzzekBH8jZT9ALmM8XhFHEo+OEXZd3bFVfQcnqOJ8SxpVDCevyiiDEJKVlbgRuDgMNjKYgo5wgmiBJzl+yMEIpkDRLP0+pD6J2EEw0NqSw9wQM5LhHdeUrz1TL5uf8rPcAhAoGADjLv1NcTAPti8i6TwC/Xq8CFOW8/4cSYelMk6xvuC96OrbU8WJT4e3AAzcdNC03CSsXnu/H8vfdIhaLOwR2/+NBaDZCBEFkYIwuqKqUTyDk8mJVTI4XR16q70XAMsx1XJ/SoHDJh9N+Jhg0usfvVIzwDxRHanrIwLB9xDRO0+TkCgYB/KmhJE9mSVic4OZqm+qxSvV/PaQ6cz/+j0d+f8O4tIcnyHIICKSU5uY6LEJRCXaz+fKwJgD4D8EE66WjX0Yjuv8zJ4/GRsLaX5RC1/o";
    /**
     * 编码
     */
    public  final static String CHARSET="utf-8";
    /**
     * 支付宝公钥
     */
    public  final static String ALIPAY_PUBLIC_KEY="MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhQ2ZdX5pfy3wQyLpy6eOvUAN8ASBxdgkRN7JmBqBnqmx7Z8KsHharG4ELUyuAp7N1uhTPojP6WICFLfjTBoWf1Bnr8P8eKbD9VIxXPFaiMOTFNM2hLIEeiADEbiMFkiB+MAjUYSl0xnU9vOT2kJ9Yj6GiUDbBS6ZqaG7ePXxLB11h8j3PRNencMtFuInBpr3mQnCQeQR0QIPQKqJL1FXnd2DFouxfhzKleIR82jLi64DAxpGO/vmMEdocW/E3r3wQoeBEspLYoyvdZ/ooZE5q71Ni/B";
    /**
     *
     */
    public  final static String serverURL="https://openapi.alipay.com/gateway.do";
    /**
     *
     */
    public  final static String FORMAT="json";
    /**
     *
     */
    public  final static String SING_TYPE="RSA2";


    public  void getOrderInfo(){
        //实例化客户端
        AlipayClient alipayClient = new DefaultAlipayClient(serverURL, APP_ID, APP_PRIVATE_KEY, FORMAT, CHARSET, ALIPAY_PUBLIC_KEY,SING_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("我是测试数据");
        model.setSubject("App支付测试Java");
        model.setOutTradeNo("158131415728");
        model.setTimeoutExpress("30m");
        model.setTotalAmount("0.01");
        model.setProductCode("QUICK_MSECURITY_PAY");
        request.setBizModel(model);
        request.setNotifyUrl("http://3wa3852747.qicp.vip");
        try {
            //这里和普通的接口调用不同,使用的是sdkExecute
            AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request);
            System.out.println(response.getBody());//就是orderString 可以直接给客户端请求,无需再做处理。
        } catch (AlipayApiException e) {
            e.printStackTrace();
        }
    }
@PostMapping("/notify")
    public String notify_url(HttpServletRequest request) {
    Map<String, String> params = new HashMap<String, String>();
    Map requestParams = request.getParameterMap();
    for (Iterator iter = requestParams.keySet().iterator(); iter.hasNext(); ) {
        String name = (String) iter.next();
        String[] values = (String[]) requestParams.get(name);
        String valueStr = "";
        for (int i = 0; i < values.length; i++) {
            valueStr = (i == values.length - 1) ? valueStr + values[i]
                    : valueStr + values[i] + ",";
        }
        //乱码解决,这段代码在出现乱码时使用。
        //valueStr = new String(valueStr.getBytes("ISO-8859-1"), "utf-8");
        params.put(name, valueStr);
    }
//切记alipaypublickey是支付宝的公钥,请去open.alipay.com对应应用下查看。
//boolean AlipaySignature.rsaCheckV1(Map<String, String> params, String publicKey, String charset, String sign_type)
    try {
        boolean flag = AlipaySignature.rsaCheckV1(params, ALIPAY_PUBLIC_KEY, CHARSET, SING_TYPE);
        if (!flag) {
            System.out.println("success");
            return "success";
        } else {
            System.out.println("flag");
            return "flag";
        }
    } catch (AlipayApiException e) {
        e.printStackTrace();
        return "flag";
    }

}


    public static void main(String[] args) {
        AliPayController apc=new AliPayController();
        apc.getOrderInfo();
    }
}

根据自己的修改就可以了,然后复制下面那一行 去手机端的客户端调试工具就可以了。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值