码迷,mamicode.com
首页 > 其他好文 > 详细

支付宝退款demo

时间:2020-05-05 17:52:37      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:cli   私钥   参数   map   OLE   substring   set   client   order   

首先支付宝退款需要导入一个支付宝的jar包(支付和退款都依赖这个包,用maven下载即可)

<dependency>
    <groupId>com.alipay.sdk</groupId>
    <artifactId>alipay-sdk-java</artifactId>
    <version>4.7.12.ALL</version>
</dependency>

那第二步就是需要定义下需要的常量(这里需要公司或个人向支付宝申请的支付退款的商家号)

public class AliPayConfig {
public static String APP_ID="替换为自己的";
public static String APP_PRIVATE_KEY = "替换为自己的";// 私钥
private static String requestUrl = "https://openapi.alipay.com/gateway.do";//支付宝请求退款的网关地址
/**
* 该公钥对应开放平台密钥的支付宝公钥,*/
public static String ALIPAY_PUBLIC_KEY="替换为自己的";//支付宝公钥
public static String CHARSET = "utf-8";//字符编码 public static String SIGN_TYPE = "RSA";//签名方式 }

第三就是主体代码逻辑(我这里偷懒就就写在一起了没用常量),可写主方法测试下(前提你已经付过款并且拿到了商户号或订单号)

 public boolean refund22(String orderId, String tradeNo, BigDecimal refundAmount ) {
        //实例化客户端
        AlipayClient alipayClient = new DefaultAlipayClient("网关 https://openapi.alipay.com/gateway.do",
                "appId",
                "私钥",
                "数据类型 json",
          "utf-8", "公钥", "RSA2"); AlipayTradeRefundRequest request = new AlipayTradeRefundRequest(); Map params = new HashMap(); if (orderId!=null&&!"".equals(orderId))params.put("out_trade_no",orderId);//商家订单号 if (tradeNo!=null&&!"".equals(tradeNo))params.put("trade_no",tradeNo);//支付宝交易号(一般必选) //请求退款的金额 params.put("refund_amount",refundAmount); //该参数支持部分退款(如果不加则进行全额退款,可用随机数去生成) params.put("out_request_no","BZ35581R88001"); //可加参数 String paramsJsonStr = JSONObject.toJSONString(params); request.setBizContent(paramsJsonStr); try { AlipayTradeRefundResponse response = alipayClient.execute(request); return response.isSuccess(); }catch (Exception e){ String json = e.getMessage(); json = json.substring(json.indexOf("{"),json.indexOf("}")+1); Map retMap = JSONObject.parseObject(json); return "10000".equals(retMap.get("code").toString()); } }

 

支付宝退款demo

标签:cli   私钥   参数   map   OLE   substring   set   client   order   

原文地址:https://www.cnblogs.com/magepi/p/12831489.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!