php退款申请源码,微信支付PHP开发教程六申请退款

重要:本文最后更新于2019-06-05 08:21:52,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗。

在整个支付流程中,不仅有用户付款情况,还有商家退款的时候。当然对于我们个人用户来讲,退款什么的都是不存在的,进了我兜里的钱那肯定是出不去的。在微信支付能力中,官方提供了发起退款的接口,通过这个接口,商户可以对交易成功的订单进行退款处理,稍微变通下就可以实现自助退款。不过为了你的资金安全,还是不建议自助退款,虽然接口很安全,但你服务器不一定安全呀。

d2fa17270d1684a7de95584a9385eec3.png

微信支付

看看官方介绍:

当交易发生之后一段时间内,由于买家或者卖家的原因需要退款时,卖家可以通过退款接口将支付款退还给买家,微信支付将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家帐号上。

注意:

1、交易时间超过一年的订单无法提交退款

2、微信支付退款支持单笔交易分多次退款,多次退款需要提交原支付订单的商户订单号和设置不同的退款单号。申请退款总金额不能超过订单金额。 一笔退款失败后重新提交,请不要更换退款单号,请使用原商户退款单号

3、请求频率限制:150qps,即每秒钟正常的申请退款请求次数不超过150次

错误或无效请求频率限制:6qps,即每秒钟异常或错误的退款申请请求不超过6次

4、每个支付订单的部分退款次数不能超过50次

接口地址:https://api.mch.weixin.qq.com/secapi/pay/refund

是否需要证书:需要双向证书

具体的请求参数我这里就不贴了,移动端的表格适配有点问题。自己看官方的文档吧:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_4

请求退款仍然需要进行微信支付签名,而且还需要证书文件,在微信支付PHP开发教程三统一下单实例一文中我已经将PHP带有证书请求的方法全部贴出,大家只需要修改改方法中的证书文件名和路径即可。

下面是完整的退款方法PHP源码:

public function refund($order){

$apiparams=[

'appid'=>self::appid,

'mch_id'=>self::mch_id,

'out_trade_no'=>$order,

'nonce_str'=>Util::getNonceStr(),

'out_refund_no'=>Util::getNonceStr(),

'total_fee'=>1,

'refund_fee'=>1

];

$apiparams['sign']=$this->GetSign($apiparams);

$xml=Util::ArrToXml($apiparams);

$result=Util::postXmlCurl($xml,'https://api.mch.weixin.qq.com/secapi/pay/refund',true);

$arr=Util::XmlToArr($result);

if($arr['return_code']=='SUCCESS'){

file_put_contents('./log.txt',$result);

return 'success';

}else{

file_put_contents('./error.txt',$result);

return false;

}

}

如果你对上面的代码看不懂,请先看看前面的教程,最好从第一篇微信支付开始看起,有问题在下面留言哟!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值