当前位置: 首页 > news >正文

灵宝网站建设营业执照网上查询官网

灵宝网站建设,营业执照网上查询官网,mongo wordpress,抖音代运营服务流程前面讲了怎么实现微信支付#xff0c;详见博文#xff1a;php实现微信支付(jsapi支付)流程 和ThinkPHP中实现微信支付(jsapi支付)流程。由于业务需求#xff0c;还需要有微信退款#xff0c;经过研究和摸索#xff0c;也终于搞定了。前期准备#xff1a;当然是搞定了微信…前面讲了怎么实现微信支付详见博文php实现微信支付(jsapi支付)流程  和ThinkPHP中实现微信支付(jsapi支付)流程。由于业务需求还需要有微信退款经过研究和摸索也终于搞定了。前期准备当然是搞定了微信支付不然怎么退款这次还是使用官方的demo。当然网上可能也有很多大神自己重写和封装了demo或许更加好用简洁但是我还是不提倡用原因如下(1)可能功能不全或许他只是实现了微信支付但是还有申请退款、查询退款、订单查询、撤销订单等业务功能可能是你后续需要的如果你依赖于大神的SDK的便捷如果有新的业务需求你就懵逼了(2)安全考虑涉及到支付涉及到金钱必须要非常安全。官方SDK虽然我也吐槽但至少会相对比较安全再次重写虽然暂时没看出问题www.cppcns.com但是万一有漏洞就不好了。本篇还是使用到官方提供的SDK中的最重要的一个类文件WxPay.Api.php中提供的refund()方法来实现此方法在WxPay.Api.php文件的第141行代码如下/**** 申请退款WxPayRefund中out_trade_no、transaction_id至少填一个且* out_refund_no、total_fee、refund_fee、op_user_id为必填参数* appid、mchid、spbill_create_ip、nonce_str不需要填入* param WxPayRefund $inputObj* param int $timeOut* throws WxPayException* return 成功时返回其他抛异常*/public static function refund($inputObj, $timeOut 6){$url https://api.mch.weixin.qq.com/secapi/pay/refund;//检测必填参数if(!$inputObj-IsOut_trade_noSet() !$inputObj-IsTransaction_idSet()) {throw new WxPayException(退款申请接口中out_trade_no、transaction_id至少填一个);}else if(!$inputObj-IsOut_refund_noSet()){throw new WxPayException(退款申请接口中缺少必填参数out_refund_no);}else if(!$inputObj-IsTotal_feeSet()){throw new WxPayException(退款申请接口中缺少必填参数total_fee);}else if(!$inputObj-IsRefund_feeSet()){throw new WxPayException(退款申请接口中缺少必填参数refund_fee);}else if(!$inputObj-IsOp_user_idSet()){throw new WxPayException(退款申请接口中缺少必填参数op_user_id);}$inputObj-SetAppid(WxPayConfig::APPID);//公众账号ID$inputObj-SetMch_id(WxPay官方的方法写的很清楚需要哪些参数还有一些必须参数SDK已经帮我们补齐了我将这个方法重新封装一下便于在项目中调用/*** 微信退款* param string $order_id 订单ID* return 成功时返回(array类型)其他抛异常*/function wxRefund($order_id){//我的SDK放在项目根目录下的Api目录下require_once APP_ROOT./Api/wxpay/lib/WxPay.Api.php;//查询订单,根据订单里边的数据进行退款$order M(order)-where(array(id$order_id,is_refund2,order_status1))-find();$merchid WxPayConfig::MCHID;if(!$order) return false;$input new WxPayRefund();$input-SetOut_trade_no($order[order_sn]); //自己的订单号$input-SetTransaction_id($order[transaction_id]); qxhCqNMoiO//微信官方生成的订单流水号在支付成功中有返回$input-SetOut_refund_no(getrand_num(true)); //退款单号$这里需要吐槽一下竟然不说返回值的类型在支付的时候返回的是XML数据这里竟然返回的是数组让我措手不及哈哈不过还是返回数组比较好可以直接判断处理。方法调用就更加简单了://微信退款$result wxRefund($order_id);// 这句file_put_contents是用来查看服务器返回的退款结果 测试完可以删除了//file_put_contents(APP_ROOT./Api/wxpay/logs/log4.txt,arrayToXml($result),FILE_APPEND);if(($result[return_code]SUCCESS) ($result[result_code]SUCCESS)){//退款成功}else if(($result[return_code]FAIL) || ($result[result_code]FAIL)){//退款失败//原因http://www.cppcns.com$reason (empty($result[err_code_des])?$result[return_msg]:$result[err_code_des]);}else{//失败}退款成功返回如下:亲测无误:这是集成了官方的SDK实现的,如果不使用SDK,可以使用更简单的方法,见:PHP实现微信支付(jsapi支付)和退款(无需集成支付SDK)总结以上所述是小编给大家介绍的PHP实现微信申请退款流程实例代码希望对大家有所帮助如果大家有任何疑问请给我留言小编会及时回复大家的。在此也非常感谢大家对我们网站的支持本文标题: PHP实现微信申请退款流程实例代码本文地址: http://www.cppcns.com/wangluo/php/222661.html
http://wiki.neutronadmin.com/news/277437/

相关文章:

  • 湘潭网站建设定制磐石网络网站的验证码是怎么做的
  • 喊别人做的网站不肯给代码岳阳网站项目建设报道
  • 网站免费推广物流网络图
  • 厦门建公司网站今天最新新闻报道
  • 做外贸卖小商品是哪个网站南宁网站设计平台
  • 网站运营与管理实训报告美观网站建设物美价廉
  • 公众号里的网站怎么做的网页视频提取
  • 免费的行情网站ifind是网页制作的基本知识
  • 宁波网站建设招商加盟网站颜色正确搭配实例
  • 河北建设网站公司软件开发都有哪些项目
  • 信邦建设工程有限公司网站专业零基础网站建设教学
  • 上海网站制作顾wordpress导航文件夹
  • 地方文明网站建设网站上传文件夹
  • 保护环境做网站素材那些网站可以做0首付分期手机
  • 做it的兼职网站有哪些权重2的网站
  • 无锡制作网站公司小程序源码分享
  • 没有网站可以做哪些互联网广告推广校园网页设计模板简单
  • 写着网站建设图片微信小程序短链接生成
  • 成都科技网站建设费用建立视觉健康档案的主要意义在于
  • 手表大全网站网站开发所需开发环境
  • 中山 家居 骏域网站建设专家中山网页设计
  • 哪个网站可以做行程攻略电子商务网站建设的体会
  • 广州一流高校建设网站建筑公司发展愿景
  • 互联网seo是什么意思镇江网站关键字优化如何
  • 手机网站触摸版app网站怎么制作
  • 免费的建设网站软件望野杜甫
  • 黄石做网站联系美食网页模板
  • 做展板好的网站山东外贸建站
  • wordpress视频教程 电驴佛山市seo网站设计工具
  • 切实加强网站建设携程旅游网站建设的定位