微信php现金红包 tp5,微信退款 - tp5

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

1 微信退款官方文档

https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_4&index=6

2 微信退款的实现过程

老板已经催促了好几个月了。今天实在是没有办法了,那就给他写了吧,原来没有写过退款 ,看文档还是看了很久的,虽然说官方给的demo 但是还是看一下比较好 就当是学习了嘛

好了,废话不多说 ,开始上菜 因为是第一次做退款 咱们还是直接用demo里面的代码

首先呢 导入类库

Loader::import('paywx.lib.WxPay', EXTEND_PATH, '.Api.php');

然后在demo里面找到refund.php 文件 可以看到里面有两种退款方式 一种是根据商户订单号退款 一种是根据微信订单号退款

咱们使用商户订单号退款 其实代码是基本是一样的 只是设置订单时参数不一样的而已

好了 上代码

public static function WxRefund($out_trade_no,$total_fee,$refund_fee){

if($out_trade_no){

$input = new \WxPayRefund();

$input->SetOut_trade_no($out_trade_no);

$input->SetTotal_fee($total_fee*100);

$input->SetRefund_fee($refund_fee*100);

$input->SetOut_refund_no(\WxPayConfig::MCHID.date("YmdHis"));

$input->SetOp_user_id(\WxPayConfig::MCHID);

$param = \WxPayApi::refund($input);

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

return true;

}

throw new Exception($param['return_msg']);

}

return true;

}

我们可以看到 基本上时demo里面是一样的 那么我们为什么还要专门写出来呢,当然不是来显摆的啊。

虽然 是代码很简单 但是里面还是有坑的

第一 :看代码 其实订单金额和退款金额两个参数都 (*100),为什么呢,这就要看文档了。文档上说的这两个参数的单位是分。因为看文档没有看仔细 浪费了不少时间。直接使用订单金额 会报 订单金额和退款金额不一致的错误

第二:就是证书的路径问题。我不知道别人是怎么配置的 我这里电脑是Mac的直接使用demo里面的路径 在调用接口后 返回

curl出错,错误码:58

这样的错误 在网上查了很久 大多都是说在windows上使用绝对路径 ,在linux上使用相对路径 ,而Mac上应该也是使用相对路径 但是还是一直报错 ,我这里是使用的 TP5 ,demo是放在extend目录下面 ,我想是不是应该tp5的入口是public目录下 而extend不能直接访问 所以在使用相对路径是找不到路径的原因呢 ,然后就开始尝试把证书放址到public目录下 其实路径改为

getcwd().'/cert/apiclient_cert.pem'

结果竟然成功了。

但是感觉放置在public目录下 很不安全 但是暂时也没有别的办法了。只能先这样用着

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信官方发放红包接口: https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13_4&index=3 注意事项: ◆ 红包金额大于200或者小于1元时,请求参数scene_id必传,参数说明见下文。 ◆ 根据监管要求,新申请商户号使用现金红包需要满足两个条件:1、入驻时间超过90天 2、连续正常交易30天。 ◆ 移动应用的appid无法使用红包接口。 ◆ 当返回错误码为“SYSTEMERROR”时,请不要更换商户订单号,一定要使用原商户订单号重试,否则可能造成重复发放红包等资金风险。 ◆ XML具有可扩展性,因此返回参数可能会有新增,而且顺序可能不完全遵循此文档规范,如果在解析回包的时候发生错误,请商户务必不要换单重试,请商户联系客服确认红包发放情况。如果有新回包字段,会更新到此API文档中。 ◆ 因为错误代码字段err_code的值后续可能会增加,所以商户如果遇到回包返回新的错误码,请商户务必不要换单重试,请商户联系客服确认红包发放情况。如果有新的错误码,会更新到此API文档中。 ◆ 错误代码描述字段err_code_des只供人工定位问题时做参考,系统实现时请不要依赖这个字段来做自动化处理。 ◆ 请商户在自身的系统中合理设置发放频次并做好并发控制,防范错付风险。 ◆ 因商户自身系统设置存在问题导致的资金损失,由商户自行承担。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值