支付宝单笔转账,订单退款

 1 import com.alipay.api.AlipayApiException;
 2 import com.alipay.api.AlipayClient;
 3 import com.alipay.api.DefaultAlipayClient;
 4 import com.alipay.api.request.AlipayFundTransToaccountTransferRequest;
 5 import com.alipay.api.request.AlipayTradeRefundRequest;
 6 import com.alipay.api.response.AlipayFundTransToaccountTransferResponse;
 7 import com.alipay.api.response.AlipayTradeRefundResponse;
 8 import org.springframework.stereotype.Service;
 9 
10 @Service
11 public class AlipayToOther {
12     //支付宝网关(固定)
13     public static String URL = "https://openapi.alipay.com/gateway.do";
14     //APPID即创建应用后生成
15     public static String APP_ID = "";
16     //开发者应用私钥,由开发者自己生成
17     public static String APP_PRIVATE_KEY = "";
18     //参数返回格式,只支持json
19     public static String FORMAT = "json";
20     //请求和签名使用的字符编码格式,支持GBK和UTF-8
21     public static String CHARSET = "UTF-8";
22     //支付宝公钥,由支付宝生成
23     public static String ALIPAY_PUBLIC_KEY = "";
24     //商户生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2
25     public static String SIGN_TYPE = "";
26 
27 
28     /**
29      * 转账给他人
30      * @param outbizno 商户转账唯一订单号
31      * @param payeeaccount 收款方账户
32      * @param amount 转账金额,单位:元。 只支持2位小数,小数点前最大支持13位,金额必须大于等于0.1元。
33      * @param payeerealname 收款方真实姓名
34      * @param remark 转账备注
35      * @return
36      */
37     public  static AlipayFundTransToaccountTransferResponse Transfer(String outbizno,String payeeaccount,String amount,String payeerealname,String remark){
38         AlipayClient alipayClient = new DefaultAlipayClient(URL,APP_ID,APP_PRIVATE_KEY,FORMAT,CHARSET,ALIPAY_PUBLIC_KEY,SIGN_TYPE);
39         AlipayFundTransToaccountTransferRequest request = new AlipayFundTransToaccountTransferRequest();
40         request.setBizContent("{" +
41                 "    \"out_biz_no\":\""+outbizno+"\"," +
42                 "    \"payee_type\":\"ALIPAY_LOGONID\"," +
43                 "    \"payee_account\":\""+payeeaccount+"\"," +
44                 "    \"amount\":\""+amount+"\"," +
45                 "    \"payer_show_name\":\"转账显示名称\"," +
46                 "    \"payee_real_name\":\""+payeerealname+"\"," +
47                 "    \"remark\":\""+remark+"\"," +
48                 "  }");
49         AlipayFundTransToaccountTransferResponse response = null;
50         try {
51             response = alipayClient.execute(request);
52         } catch (AlipayApiException e) {
53             e.printStackTrace();
54         }
55         return response;
56     }
57 
58     /**
59      * 退款
60      * @param outtradeno 订单支付时传入的商户订单号,不能和 trade_no同时为空。
61      * @param tradeno 支付宝交易号,和商户订单号不能同时为空
62      * @param refundamount 需要退款的金额
63      * @param refundreason 退款的原因说明
64      * @param outrequestno 标识一次退款请求,同一笔交易多次退款需要保证唯一,如需部分退款,则此参数必传。
65      * @param operatorid 商户的操作员编号
66      * @return
67      */
68     public  static AlipayTradeRefundResponse Refund(String outtradeno,String tradeno,String refundamount,String refundreason,String outrequestno,String operatorid){
69         AlipayClient alipayClient = new DefaultAlipayClient(URL,APP_ID,APP_PRIVATE_KEY,FORMAT,CHARSET,ALIPAY_PUBLIC_KEY,SIGN_TYPE);
70         AlipayTradeRefundRequest request = new AlipayTradeRefundRequest();
71         request.setBizContent("{" +
72                 "\"out_trade_no\":\""+outtradeno+"\"," +
73                 "\"trade_no\":\""+tradeno+"\"," +
74                 "\"refund_amount\":"+refundamount+"," +
75                 "\"refund_currency\":\"\"," +
76                 "\"refund_reason\":\""+refundreason+"\"," +
77                 "\"out_request_no\":\""+outrequestno+"\"," +
78                 "\"operator_id\":\""+operatorid+"\"," +
79                 "\"store_id\":\"\"" +
80                 "  }");
81         AlipayTradeRefundResponse response = null;
82         try {
83             response = alipayClient.execute(request);
84         } catch (AlipayApiException e) {
85             e.printStackTrace();
86         }
87         return response;
88     }
89 
90 }

 

转载于:https://www.cnblogs.com/PeterXu1997/p/9561072.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值