WeChatDeveloper for PHP

概述

WeChatDeveloper是一个基于wechat-php-sdk的PHP扩展,旨在简化微信开发过程。它不仅提供了丰富的API接口,还针对access_token失效问题增加了自动刷新机制,确保了应用的流畅运行。此外,该工具还支持微信小程序和微信支付等功能,为开发者提供了极大的便利。

要求

为了充分利用WeChatDeveloper的功能,最低要求PHP版本为5.4,推荐使用7.0以上版本以获得最佳性能。此外,由于微信部分接口需要本地缓存数据,因此建议对项目目录有写权限。

使用指南

  1. 管理第三方库:鼓励使用Composer来管理您的第三方库,方便更新操作。

  2. 项目维护:WeChatDeveloper已通过多个线上项目进行测试,欢迎fork或star此项目。

  3. 微信商户支持:已经支持v2接口,组件开发版支持v3接口。

    功能描述

  • 微信小程序:提供小程序开发所需的各种接口。

  • 微信认证服务号:支持服务号认证接口。

  • 微信支付:包括账单、卡券、红包、退款、转账、App支付、JSAPI支付、Web支付等。

  • 支付宝支付:支持账单、转账、App支付、刷卡支付、扫码支付、Web支付、Wap支付等。

    技术帮助

  • 技术支持:可通过QQ群(15527649518)获取PHP开发技术交流。

  • 官方文档:在使用WeChatDeveloper前,请务必阅读微信官方文档。

    联系方式

  • PHP开发群 (SDK)点击访问 微信支付开发文档 微信支付是微信提供的一种便捷的支付方式,广泛应用于各种场景。为了方便开发者使用微信支付,我们提供了详细的文档和示例代码。以下是一些关键信息:

  1. 文档链接
  1. 项目介绍
  1. 文件说明
  • 每个文件名对应一个类名,描述类的功能,类型(支付宝支付、账单下载等),加载方法(\We::AliPayApp()、\We::AliPayBill()等)。
  1. 示例代码
  • 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 &#34;您的目录/WeChatDeveloper/include.php&#34;;

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'];
}