• 支付宝退款总结


    1.支付宝退款接口需要的参数##

      支付宝网关,appID,private_key,public_key,sign_type,input_charset,format;
    

    2.使用接口需要上传的参数

      支付宝支付交易号/订单号,退款金额,参数只要这两个就能完成退款,不过支付宝的文档上面有的写的可选的,即使是可选的,你也要写上;
    

    3.参数获取方法

    支付宝网关:"https://openapi.alipay.com/gateway.do";
    appID:这个就需要商户登陆支付宝开发者平台,在"网页&移动应用"添加应用,创建应用后,添加应用功能,上传所需 的数据,之后生成一个appID,然后提交审核就可以了;
    sign_type:选择"RSA2"。
    public_key:在申请应用的时候,下载一个"RSA签名验签工具windows_V1.4",网上就可以找到,在这个里面生成公钥,上传到支付宝;
    private_key:用上面下载的工具,将公钥上传会产生一个对应的秘钥;
    input_charset:"UTF-8",网上说必须要大写,这个没试过;
    format:"json";
    

    4.开始退款代码

    try {
            AlipayClient alipayClient = new DefaultAlipayClient("支付宝网关", appID, private_key, "json", input_charset, public_key, sign_type);
            AlipayTradeRefundRequest request = new AlipayTradeRefundRequest();
            request.setBizContent("{" +
                    ""out_trade_no":"" + 订单号 + ""," +
                    ""trade_no":"" + 支付宝交易号 + ""," +
                    ""refund_amount":" + 退款金额 + "," +
                    ""refund_currency":"CNY"," +
                    ""org_pid":"" + null + """ +
                    "  }");
            AlipayTradeRefundResponse response = alipayClient.execute(request);
            log.info("返回结果:" + response.getBody());
    } catch (AlipayApiException e) {
            e.printStackTrace();
            log.info("支付宝退款>>退款失败: 调用支付宝接口出现异常");
            return ResultUtil.createFailureResult("REQUEST_EXCEPTION", "调用支付宝接口出现异常");
        }
    

    5.易错点

      开始说的支付宝API里面的参数,虽然有的是可选的,但是最下面的“org_pid”这个参数,如果加不上的话,就会报40004,参数不正确的错误,这个是一定要加上的,虽然后面跟的值是null;
      另外,如果公司之前做过关于支付的话,是不需要重新添加应用签约的,appID可以共用,因为退款的接口在开发者平台上是辅助接口分类里面的,不需要重新签约。
  • 相关阅读:
    无法往u盘里边复制超过4G的单个文件解决方法
    vue 自定义属性判断点击每个item 显示隐藏
    前端小组分享会之异步回调函数中的上下文
    git 的一些命令
    ES学习之promise
    mac找到占用端口号的进程ID
    meta link
    webpack学习笔记--安装
    css样式之 direction
    日常积累之JSON.stringify和JSON.parse substr
  • 原文地址:https://www.cnblogs.com/suyan-1026/p/9888358.html
Copyright © 2020-2023  润新知