zoukankan      html  css  js  c++  java
  • 支付宝退款--服务端

    1、

    /**
         * 
         * @方法名称:alipayRefundRequest
         * @内容摘要: <支付宝退款请求>
         * @param out_trade_no 订单支付时传入的商户订单号,不能和 trade_no同时为空。
         * @param trade_no 支付宝交易号,和商户订单号不能同时为空
         * @param refund_amount 需要退款的金额,该金额不能大于订单金额,单位为元,支持两位小数
         */
        public String alipayRefundRequest(String out_trade_no,String trade_no,double refund_amount){
    
            // 发送请求
            String strResponse = null;
            try {
                AlipayClient alipayClient = new DefaultAlipayClient
                        (AlipayConfig.alipay_url,AlipayConfig.app_id,
                                AlipayConfig.private_key,AlipayConfig.content_type,AlipayConfig.input_charset,AlipayConfig.public_key);
                AlipayTradeRefundRequest request = new AlipayTradeRefundRequest();
                
                AlipayRefundInfo alidata= new AlipayRefundInfo();
                alidata.setOut_trade_no(out_trade_no);
    //            alidata.setRefund_amount(0.01);  //用于测试
                alidata.setRefund_amount(refund_amount);
                alidata.setTrade_no(trade_no);
                
                request.setBizContent(JSONObject.fromObject(alidata).toString());
                logger.info("////////////////////////////////////////////////----BizContent:"+JSONObject.fromObject(alidata).toString());
                AlipayTradeRefundResponse response = alipayClient.execute(request);
                strResponse=response.getCode();
                logger.info("////////////////////////////////////////////////----strResponse:"+strResponse);
                if ("10000".equals(response.getCode())) {
                    strResponse="退款成功";
                }else {
                    strResponse=response.getSubMsg();
                }
                
            } catch (Exception e) {
                e.printStackTrace();
                logger.info("///////////////////////////----exception:"+e);
    //            Logger.getLogger(getClass()).error("alipayRefundRequest", e);
            }
            return strResponse;
    
        }

    2、AlipayConfig.java

    package com.eland.util;
    
    /* *
     *类名:AlipayConfig
     *功能:基础配置类
     *详细:设置帐户有关信息及返回路径
     *版本:3.3
     *日期:2012-08-10
     *说明:
     *以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。
     *该代码仅供学习和研究支付宝接口使用,只是提供一个参考。
    
     *提示:如何获取安全校验码和合作身份者ID
     *1.用您的签约支付宝账号登录支付宝网站(www.alipay.com)
     *2.点击“商家服务”(https://b.alipay.com/order/myOrder.htm)
     *3.点击“查询合作者身份(PID)”、“查询安全校验码(Key)”
    
     *安全校验码查看时,输入支付密码后,页面呈灰色的现象,怎么办?
     *解决方法:
     *1、检查浏览器配置,不让浏览器做弹框屏蔽设置
     *2、更换浏览器或电脑,重新登录查询。
     */
    
    public class AlipayConfig {
    
        // 合作身份者ID,以2088开头由16位纯数字组成的字符串
        public static String partner = "2088xxxxxxxxxxxx";
        // 商户的私钥
        public static String private_key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
        // 支付宝的公钥(固定)--取消
        public static String public_key = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDDI6d306Q8fIfCOaTXyiUeJHkrIvYISRcc73s3vF1ZT7XN8RNPwJxo8pWaJMmvyTn9N4HQ632qJBVHf8sxHi/fEsraprwCtzvzQETrNRwVxLO5jVmRGi60j8Ue1efIlzPXV9je9mkjzOmdssymZkh2QhUrCmZYI/FCEa3/cNMW0QIDAQAB";
    
    
        //支付宝的公钥(支付)
        public static String ali_public_key =xxx";
                                               
        //支付宝网关
        public static String alipay_url = "https://openapi.alipay.com/gateway.do";
        // 支付宝分配给开发者的应用ID
        public static String app_id = "2016xxxxxxxxxxx";
        
        public static String content_type = "JSON";
        
        
        // 调试用,创建TXT日志文件夹路径
        public static String log_path = "D:\";
        // 字符编码格式 目前支持 gbk 或 utf-8
        public static String input_charset = "utf-8";
        // 签名方式 不需修改
        public static String sign_type = "RSA";
    
    }
  • 相关阅读:
    java常用容器简要性能分析(List。Map。Set)
    初始化 List 的五种方法(java)【转】
    线程池方式对数组多线程随机取出分析
    Spring文件下载方式整理
    阿里云linux安装Consul启动
    Java字节流&字符流的转换
    VUE中字符串实现JSON格式化展示。
    java中URL作为参数前后端传递分析
    Java实现GBK转码到UTF-8(文件)
    python处理Excel文件
  • 原文地址:https://www.cnblogs.com/doufuquanjia/p/5960341.html
Copyright © 2011-2022 走看看