关于支付宝退款总结

关于支付宝退款接口 

 

  • 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:用上面下载的工具,将公钥上传会产生一个对应的秘钥;
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可以共用,因为退款的接口
在开发者平台上是辅助接口分类里面的,不需要重新签约。

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值