hyperbolaa/wechatpay
Composer 安装命令:
composer create-project hyperbolaa/wechatpay
包简介
微信支付在laravle5中的封装
README 文档
README
微信支付,laravel, laravel5
安装
composer require hyperbolaa/wechatpay dev-master
laravel 配置
'providers' => [
// ...
Hyperbolaa\Wechatpay\WechatpayServiceProvider::class,
]
生成配置文件
运行 `php artisan vendor:publish` 命令,
发布配置文件到你的项目中。
公众号支付
$wechatpay = app('wechatpay.jsapi');
$wechatpay->setBody('我是测试商品');
$wechatpay->setOutTradeNo(123456789);
$wechatpay->setTotalFee(1);
$wechatpay->setOpenid('ssssssss');//公众号openid获取参考微信网页授权
$result = $wechatpay->prepare();
if ($result['return_code'] == 'SUCCESS' && $result['result_code'] == 'SUCCESS'){
$prepayId = $result['prepay_id'];
//WeixinJSBridge
$json = $wechatpay->configForPayment($prepayId);
$succ_url = 'xx';//支付成功回调地址
$fail_url = 'xx';//支付失败回调地址
$data = $wechatpay->bridgeHandle($json,$succ_url,$fail_url);
return new Response($data);
}else{
$msg = '微信回调失败;请求错误信息:'.$result['return_msg'].';业务错误信息:'.$result['err_code_des'];
return new Response($msg);
}
小程序支付
$wechatpay = app('wechatpay.xcx');
$wechatpay->setBody('我是测试商品');
$wechatpay->setOutTradeNo(123456789);
$wechatpay->setTotalFee(1);
$wechatpay->setOpenid('ssssssss');//微信小程序的openid获取参考wx.login
$result = $wechatpay->prepare();
if ($result['return_code'] == 'SUCCESS' && $result['result_code'] == 'SUCCESS'){
$prepayId = $result['prepay_id'];
$data = $wechatpay->configForPayment($prepayId,false);
return new Response($data);//返回给微信小程序
}else{
$msg = '微信回调失败;请求错误信息:'.$result['return_msg'].';业务错误信息:'.$result['err_code_des'];
return new Response($msg);
}
小程序登录获取用户信息拓展
app('wechatpay.xcx')->getUserInfo($encrypteddata,$iv,$sessionkey);
APP支付
$wechatpay = app('wechatpay.app');
$wechatpay->setBody('我是测试商品');
$wechatpay->setOutTradeNo(123456789);
$wechatpay->setTotalFee(1);
$result = $wechatpay->prepare();
if ($result['return_code'] == 'SUCCESS' && $result['result_code'] == 'SUCCESS'){
$prepayId = $result['prepay_id'];
return $wechatpay->configForPayment($prepayId);
}else{
return '微信回调失败;请求错误信息:'.$result['return_msg'].';业务错误信息:'.$result['err_code_des'];
}
异步通知
public function wechatpayNotify()
{
// 判断通知类型。
$response = app('wechatpay.jsapi')->handleNotify(function ($notify, $successful) {
$out_trade_no = $notify->out_trade_no;//商户订单号
$transaction_id = $notify->transaction_id;//微信订单号
//
if($successful){
//todo 处理支付成功,,,
}
return true;
});
return new Response($response);
}
货币单位
分
支付类别
JSAPI [公众号,小程序]支付 已接通
APP APP支付 已接通
NATIVE 扫码支付
MICROPAY 刷卡支付
已优化
回复数据格式化处理,支持json,arr
添加日志记录
联系&打赏
如果真心觉得项目帮助到你,为你节省了成本,欢迎鼓励一下。
如果有什么问题,可通过以下方式联系我。提供有偿技术服务。
也希望更多朋友可用提供代码支持。欢迎交流与打赏。
加入QQ群:60973229
Related
hyperbolaa/wechatpay 适用场景与选型建议
hyperbolaa/wechatpay 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.31k 次下载、GitHub Stars 达 47, 最近一次更新时间为 2017 年 04 月 10 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「wechat」 「weixin」 「laravel5」 「WeixinPay」 「Wxpay」 「wechatpay」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 hyperbolaa/wechatpay 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 hyperbolaa/wechatpay 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 hyperbolaa/wechatpay 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
WeChat OAuth SDK
微信SDK
A package for automatically encrypting and decrypting Eloquent attributes in Laravel 5.5+, based on configuration settings.
Laravel helpers for dev
钉钉、企业微信、飞书 自定义群组机器人。支持链式语法创建发送消息。支持文本、Markdown、图片、文件、图文、卡片等消息。
The wechat extension for the Yii framework
统计信息
- 总下载量: 1.31k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 48
- 点击次数: 6
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-04-10