YII2框架使用easyWeChat进行微信 App支付

具体的引入安装不多说了,可以去官方文档上看

easyWeChat微信支付要比调用微信原生的支付方便很多,省了很多关于随机字符串,生成签名,二次验证签名等步骤

首先在控制器开始引入方式

use EasyWeChat\Factory;

下单调用


// 配置信息
$config = [
        // 这些信息去微信支付上申请
       'app_id' => $appId,
       'mch_id' => $mchId,
       'key' => $key,
       // 回调通知地址
       'notify_url' => $notifyUrl,
        ];
$app = Factory::payment($config);

// 调用的方法
$result = $app->order->unify([
            // 商品名称
            'body' => $body,
            // 订单编号(自己生成的)
            'out_trade_no' => $outTradeNo,
            // 金额,微信的金额是分为单位。所以如果是0.01,要乘100,处理为1
            'total_fee' => $totalFee,
            // 自定义的回调通知处理地址,本地地址不可用,必须为线上地址
            'notify_url' => $notifyUrl,
            // 支付方式(比如:APP,JAPI)
            'trade_type' => $tradeType,
            // 自己的openid
            'openid' => $openid,
        ]);

$result返回支付的信息,可以通过返回的支付信息去处理相关业务

也可以根据自己的订单号去查询支付的信息

$app->order->queryByOutTradeNumber($outTradeNo);

回调处理
在支付成功之后,微信会以post方式通知自定义的地址,并下发xml格式的信息

 // 首先获取返回的xml
 $xml= file_get_contents("php://input");
 // 并将xml转化为数组
 $result = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
 // 处理自己的业务
 if ($result['return_code'] == 'SUCCESS' && $result['result_code'] == 'SUCCESS') {
 // 根据这两种状态处理自己的业务信息
 }else{
  // 返回相关报错信息
 }
 // 也可以将返回的xml格式处理为json存入日志
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值