一分一毛也是爱

微信

微信

支付宝

支付宝

观海听潮

观海听潮博客

登录
还没有账号?去注册
观海听潮

观海听潮博客

注册
  • 欢迎来自美国弗吉尼亚州的访客,您好!
×

我的名片

网名:观海听潮

职业:PHP开发工程师

现居:山东省-青岛市

Email:1256699215@qq.com

网站统计

  • 观海听潮•博客
  • 54篇
  • 144条
  • 13563次
  • 124次
  • 美国弗吉尼亚州

您现在的位置是:首页  > 技术杂谈  > 微信 微信

观海听潮

微信退款是怎么实现的呢

观海听潮 182天前 1046 0条评论
摘要
用户前端点击退款按钮后,后端接收到用户的退款请求通过商城后台呈现给商户,商户确定允许退款后,后端再发起向微信退款接口的请求来请求退款。 后端向微信退款接口发送请求后,得到响应信息,确定退款是否完成,根据退款是否完成再去进行改变订单状态等业务逻辑。

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

退款双证书:

下载地址:微信商户平台(pay.weixin.qq.com)-->账户中心-->账户设置-->API安全-->证书下载。

注意:最好在ie浏览器下载安全控件及证书,提现和退款所需证书一样,支持多次退款。

请求参数:appid,mch_id,nonce_str,sign,out_trade_no或者transaction_id,out_refund_no,total_fee,refund_fee

退款证书路径:

$this -> pemcert = EXTEND_PATH . 'wxpay/key/apiclient_cert.pem';

$this -> pemkey = EXTEND_PATH . 'wxpay/key/apiclient_key.pem';

请求方法:

public function postXmlSSLCurl($xml, $url, $second = 30) {

$ch = curl_init();

//设置超时

curl_setopt($ch, CURLOPT_TIMEOUT, $second);

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

//严格校验

//设置header

curl_setopt($ch, CURLOPT_HEADER, FALSE);

//要求结果为字符串且输出到屏幕上

curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

//设置证书

//使用证书:cert 与 key 分别属于两个.pem文件

//默认格式为PEM,可以注释

curl_setopt($ch, CURLOPT_SSLCERTTYPE, 'PEM');

curl_setopt($ch, CURLOPT_SSLCERT, $this -> pemcert);

//默认格式为PEM,可以注释

curl_setopt($ch, CURLOPT_SSLKEYTYPE, 'PEM');

curl_setopt($ch, CURLOPT_SSLKEY, $this -> pemkey);

//post提交方式

curl_setopt($ch, CURLOPT_POST, TRUE);

curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);

//运行curl

$data = curl_exec($ch);

//返回结果

if ($data) {

curl_close($ch);

return $data;

} else {

$error = curl_errno($ch);

curl_close($ch);

return "curl出错,错误码:$error";

}

}


转载请注明: 观海听潮博客

本文地址:https://chengzhigang.cn/al/4.html

讨厌 (0)
微博logo QQ空间logo QQlogo 豆瓣logo 人人logo 百度贴吧logo 有道云笔记logo

文章评论

表情表情
×
图片图片

评论列表