WeChatDeveloper for PHP
概述
WeChatDeveloper是一个基于wechat-php-sdk的PHP扩展,旨在简化微信开发过程。它不仅提供了丰富的API接口,还针对access_token失效问题增加了自动刷新机制,确保了应用的流畅运行。此外,该工具还支持微信小程序和微信支付等功能,为开发者提供了极大的便利。
要求
为了充分利用WeChatDeveloper的功能,最低要求PHP版本为5.4,推荐使用7.0以上版本以获得最佳性能。此外,由于微信部分接口需要本地缓存数据,因此建议对项目目录有写权限。
使用指南
管理第三方库:鼓励使用Composer来管理您的第三方库,方便更新操作。
项目维护:WeChatDeveloper已通过多个线上项目进行测试,欢迎fork或star此项目。
微信商户支持:已经支持v2接口,组件开发版支持v3接口。
功能描述
微信小程序:提供小程序开发所需的各种接口。
微信认证服务号:支持服务号认证接口。
微信支付:包括账单、卡券、红包、退款、转账、App支付、JSAPI支付、Web支付等。
支付宝支付:支持账单、转账、App支付、刷卡支付、扫码支付、Web支付、Wap支付等。
技术帮助
技术支持:可通过QQ群(15527649518)获取PHP开发技术交流。
官方文档:在使用WeChatDeveloper前,请务必阅读微信官方文档。
联系方式
PHP开发群 (SDK):点击访问 微信支付开发文档 微信支付是微信提供的一种便捷的支付方式,广泛应用于各种场景。为了方便开发者使用微信支付,我们提供了详细的文档和示例代码。以下是一些关键信息:
- 文档链接:
- 项目介绍:
- WeChatDeveloper:一个开源项目,允许将其用于任何地方,不受任何约束。欢迎 fork 项目。
- Github 托管地址:https://github.com/zoujingli/WeChatDeveloper
- Gitee 托管地址:https://gitee.com/zoujingli/WeChatDeveloper
- 文件说明:
- 每个文件名对应一个类名,描述类的功能,类型(支付宝支付、账单下载等),加载方法(\We::AliPayApp()、\We::AliPayBill()等)。
- 示例代码:
App.php:支付宝App支付。
Bill.php:支付宝账单下载。
Pos.php:支付宝刷卡支付。
Scan.php:支付宝扫码支付。
Transfer.php:支付宝转账。
Wap.php:支付宝Wap支付。 这些文档和代码可以帮助您快速上手微信支付的开发工作。如果您在使用过程中遇到问题,可以参考官方文档或寻求社区的帮助。
WeChat SDKs
Web.php
Web.php 是一个用于处理支付宝Web支付的PHP文件。它提供了一些方法来处理支付宝的支付流程,包括生成支付页面、提交支付信息等。这个文件的主要目的是简化支付宝Web支付的处理过程,使得开发者能够更专注于业务逻辑的开发。
<?php
\We::AliPayWeb();
Card.php
Card.php 是一个用于处理微信卡券接口支持的PHP文件。它提供了一些方法来处理微信卡券的相关功能,包括创建卡券、获取卡券信息等。这个文件的主要目的是简化微信卡券的处理过程,使得开发者能够更专注于业务逻辑的开发。
<?php
\We::WeChatCard();
Custom.php
Custom.php 是一个用于处理微信客服消息接口支持的PHP文件。它提供了一些方法来处理微信客服的消息交互,包括发送客服消息、接收客户回复等。这个文件的主要目的是简化微信客服的处理过程,使得开发者能够更专注于业务逻辑的开发。
<?php
\We::WeChatCustom();
Media.php
Media.php 是一个用于处理微信媒体素材接口支持的PHP文件。它提供了一些方法来处理微信媒体素材的相关功能,包括上传媒体素材、获取媒体素材信息等。这个文件的主要目的是简化微信媒体的处理过程,使得开发者能够更专注于业务逻辑的开发。
<?php
\We::WeChatMedia();
Oauth.php
Oauth.php 是一个用于处理微信网页授权消息类接口的PHP文件。它提供了一些方法来处理微信网页授权的相关功能,包括生成授权页面、处理授权请求等。这个文件的主要目的是简化微信网页授权的处理过程,使得开发者能够更专注于业务逻辑的开发。
<?php
\We::WeChatOauth();
Pay.php
Pay.php 是一个用于处理微信支付类接口的PHP文件。它提供了一些方法来处理微信支付的相关功能,包括发起支付、处理支付结果等。这个文件的主要目的是简化微信支付的处理过程,使得开发者能够更专注于业务逻辑的开发。
<?php
\We::WeChatPay();
Product.php
Product.php 是一个用于处理微信商店类接口的PHP文件。它提供了一些方法来处理微信商店的相关功能,包括展示商品、管理商品等。这个文件的主要目的是简化微信商店的处理过程,使得开发者能够更专注于业务逻辑的开发。
<?php
\We::WeChatProduct();
Qrcode.php
Qrcode.php 是一个用于处理微信二维码接口支持的PHP文件。它提供了一些方法来处理微信二维码的相关功能,包括生成二维码、扫描二维码等。这个文件的主要目的是简化微信二维码的处理过程,使得开发者能够更专注于业务逻辑的开发。
<?php
\We::WeChatQrcode();
Receive.php
Receive.php 是一个用于处理微信推送事件消息处理支持的PHP文件。它提供了一些方法来处理微信推送事件的相关功能,包括监听推送事件、处理推送事件等。这个文件的主要目的是简化微信推送事件处理的过程,使得开发者能够更专注于业务逻辑的开发。
<?php
\We::WeChatReceive();
Scan.php
Scan.php 是一个用于处理微信扫一扫接口支持的PHP文件。它提供了一些方法来处理微信扫一扫的相关功能,包括发起扫码、处理扫码结果等。这个文件的主要目的是简化微信扫一扫的处理过程,使得开发者能够更专注于业务逻辑的开发。
<?php
\We::WeChatScan();
Script.php
Script.php 是一个用于处理微信前端JSSDK支持的PHP文件。它提供了一些方法来处理微信前端JSSDK的相关功能,包括加载JSSDK、调用JSSDK函数等。这个文件的主要目的是简化微信前端JSSDK的使用过程,使得开发者能够更专注于业务逻辑的开发。
<?php
\We::WeChatScript();
Shake.php
Shake.php 是一个用于处理微信蓝牙设备揺一揺接口的PHP文件。它提供了一些方法来处理微信蓝牙设备揺一揺的相关功能,包括发起摇一揺、处理摇一揺结果等。这个文件的主要目的是简化微信蓝牙设备揺一揺的处理过程,使得开发者能够更专注于业务逻辑的开发。
微信支付相关接口支持
WePay\Bill 接口
功能: 微信商户账单及评论
支持服务类型: 认证服务号
接口描述: 通过此接口,商户可以获取其微信支付的账单信息,包括交易金额、时间戳等。
WePay\Coupon 接口
功能: 微信商户代金券
支持服务类型: 认证服务号
接口描述: 商户可以通过此接口创建和管理代金券,用户在购买商品或服务时可以使用这些代金券进行抵扣。
WePay\Order 接口
功能: 微信商户订单
支持服务类型: 认证服务号
接口描述: 商户可以通过此接口处理订单相关的操作,如订单创建、查询、退款等。
WePay\Redpack 接口
功能: 微信红包支持
支持服务类型: 认证服务号
接口描述: 商户可以通过此接口生成和发送微信红包给用户,用于促销或其他目的。
WePay\Transfers 接口
功能: 微信商户打款到零钱
支持服务类型: 认证服务号
接口描述: 商户可以通过此接口将资金从银行账户转移到微信钱包的零钱账户,方便用户随时使用。
WePay\TransfersBank 接口
功能: 微信商户打款到银行卡
支持服务类型: 认证服务号
接口描述: 商户可以通过此接口将资金从银行账户转移到用户的银行卡,实现资金的即时到账。
微信小程序插件管理
Plugs.php: 该文件是用于管理微信小程序插件的入口,通过
\We::WeMiniPlugs()方法来获取和操作插件。 Poi.php: 该文件负责管理微信小程序地址,使用\We::WeMiniPoi()方法。 Qrcode.php: 该文件处理微信小程序二维码的管理,通过\We::WeMiniCrypt()方法实现。 Template.php: 这个文件提供了模板消息的支持,使用\We::WeMiniTemplate()方法。 Total.php: 这个文件提供了微信小程序数据接口的管理,使用\We::WeMiniTotal()方法。安装与使用
1.1 通过 Composer 管理安装
首次安装线上版本(稳定):通过Composer安装,需要运行以下命令:
composer require zoujingli/wechat-developer
- 首次安装开发版本(开发):通过Composer安装,需要运行以下命令:
composer require zoujingli/wechat-developer dev-master
- 更新 WeChatDeveloper:如果需要更新到最新版本,可以使用以下命令:
composer update zoujingli/wechat-developer
1.2 不使用 Composer 直接下载并解压
- 在项目中加载初始化文件:可以在项目的任何地方加载
include语句中的文件,例如:
include "您的目录/WeChatDeveloper/include.php";
2.1 接口实例所需参数
- 在调用接口时,需要提供以下参数:
token: 一个字符串,用于验证请求的合法性。appid: 一个字符串,表示小程序的App ID。appsecret: 一个字符串,表示小程序的App Secret。
// 实例指定接口
try {
// 实例对应的接口对象
$user = new \WeChat\User($config);
// 调用接口对象方法
$list = $user->getUserList();
// 处理返回的结果
echo "<pre>";
var_export($list);
echo "</pre>";
} catch (Exception $e) {
// 出错啦,处理下吧
echo $e->getMessage() . PHP_EOL;
}
微信支付
// 创建接口实例
$wechat = new \WeChat\Pay($config);
// 组装参数,可以参考官方商户文档
$options = [
'body' => '请求参数',
'out_trade_no' => '商户订单号',
'total_fee' => '总金额',
'spbill_create_ip' => '生成IP',
'notify_url' => '支付回调地址',
];
// 执行支付操作
$result = $wechat->pay($options);
// 检查支付结果
if ($result['code'] === 'SUCCESS') {
echo "支付成功";
} else {
echo "支付失败,错误信息:" . $result['err_msg'];
}