Обмен технологиями разработки PHP (группа QQ 513350915)
WeChatDeveloper основан на официальном пакете интерфейса. Прежде чем приступать к разработке WeChat, необходимо сначала прочитать официальную документацию WeChat.
Для WeChatDeveloper также подготовлен справочный материал.
WeChatDeveloper — проект с открытым исходным кодом, что позволяет использовать его где угодно без каких-либо ограничений. Форки проекта приветствуются.
Наш репозиторий кода был перенесен на Github , а Gitee и Gitcode используются только как внутренние зеркальные репозитории, чтобы облегчить большинству разработчиков их получение и использование. Если вы хотите отправить PR или ПРОБЛЕМУ, пожалуйста, управляйте ею на складе WeChatDeveloper. Если вы управляете или отправляете проблему на других складах, она не будет обработана!
имя файла | Имя класса | описывать | тип | Нагрузка ① |
---|---|---|---|---|
App.php | AliPayПриложение | Оплата через приложение Alipay | Оплата через Alipay | Мы::AliPayApp() |
Билл.php | AliPayБилл | Скачать счет Alipay | Оплата через Alipay | Мы::AliPayBill() |
Pos.php | AliPayPos | Оплата картой Alipay | Оплата через Alipay | Мы::AliPayPos() |
Scan.php | AliPayСканировать | Оплата скан-кодом Alipay | Оплата через Alipay | Мы::AliPayScan() |
Transfer.php | AliPayПеревод | перевод через Алипей | Оплата через Alipay | Мы::AliPayTransfer() |
Wap.php | AliPayWap | Оплата через WAP через Alipay | Оплата через Alipay | Мы::AliPayWap() |
Веб.php | AliPayВеб | Веб-платеж Alipay | Оплата через Alipay | Мы::AliPayWeb() |
Карта.php | WeChatКарта | Поддержка интерфейса карт WeChat и купонов | Номер службы сертификации | Мы::WeChatCard() |
Пользовательский.php | WeChatПользовательский | Поддержка интерфейса сообщений службы поддержки клиентов WeChat | Номер службы сертификации | Мы::WeChatCustom() |
Медиа.php | WeChatМедиа | Поддержка интерфейса медиа-материалов WeChat | Номер службы сертификации | Мы::WeChatMedia() |
Oauth.php | WeChatOauth | Интерфейс сообщения авторизации веб-страницы WeChat | Номер службы сертификации | Мы::WeChatOauth() |
Pay.php | WeChatPay | Платежный интерфейс WeChat | Номер службы сертификации | Мы::WeChatPay() |
Продукт.php | WeChatПродукт | Интерфейс магазина WeChat | Номер службы сертификации | Мы::WeChatProduct() |
Qrcode.php | WeChatQrcode | Поддержка интерфейса WeChat QR-кода | Номер службы сертификации | We::WeChatQrcode() |
Получить.php | WeChatПолучить | Поддержка обработки сообщений о push-событиях WeChat | Номер службы сертификации | Мы::WeChatReceive() |
Scan.php | WeChatСканировать | Поддержка интерфейса сканирования WeChat | Номер службы сертификации | Мы::WeChatScan() |
Скрипт.php | WeChatСкрипт | Поддержка JSSDK для интерфейса WeChat | Номер службы сертификации | Мы::WeChatScript() |
Встряхнуть.php | WeChatВстряхнуть | Push-интерфейс устройства WeChat Bluetooth | Номер службы сертификации | Мы::WeChatShake() |
Теги.php | WeChatТеги | Поддержка интерфейса тегов фанатов WeChat | Номер службы сертификации | We::WeChatTags() |
Шаблон.php | WeChatШаблон | Поддержка интерфейса сообщений шаблона WeChat | Номер службы сертификации | Мы::WeChatTemplate() |
Пользователь.php | WeChatПользователь | Поддержка интерфейса управления вентиляторами WeChat | Номер службы сертификации | Мы::WeChatCard() |
Wi-Fi.php | WeChatWi-Fi | Поддержка управления WIFI в магазине WeChat | Номер службы сертификации | Мы::WeChatWifi() |
Черновик.php | WeChatЧерновик | Ящик для черновиков WeChat | Номер службы сертификации | Мы::WeChatDraft() |
Freepublish.php | WeChatFreepublish | Возможность публикации WeChat | Номер службы сертификации | We::WeChatFreepublish() |
Билл.php | WePayБилл | Счета и комментарии продавцов WeChat | WeChat Pay | Мы::WePayBill() |
Купон.php | WePayКупон | Торговые ваучеры WeChat | WeChat Pay | Мы::WePayCoupon() |
Order.php | WePayЗаказ | Заказы продавца WeChat | WeChat Pay | Мы::WePayOrder() |
Redpack.php | WePayRedpack | Поддержка красного конверта WeChat | WeChat Pay | Мы::WePayRedpack() |
Возврат.php | WePayВозврат | Возврат средств продавцу WeChat | WeChat Pay | Мы::WePayRefund() |
Трансферы.php | WePayПереводы | Платите продавцам WeChat мелочью | WeChat Pay | Мы::WePayTransfers() |
ТрансферсБанк.php | WePayTransfersBank | Продавцы WeChat переводят деньги на банковские карты | WeChat Pay | Мы::WePayTransfersBank() |
Crypt.php | WeMiniCrypt | Обработка шифрования данных апплета WeChat | Апплет WeChat | We::WeMiniCrypt() |
Плагины.php | WeMiniВилки | Управление плагинами мини-программы WeChat | Апплет WeChat | Мы::WeMiniPlugs() |
Пои.php | WeMiniPoi | Управление адресами апплетов WeChat | Апплет WeChat | Мы::WeMiniPoi() |
Qrcode.php | WeMiniQrcode | WeChat Mini Program Управление QR-кодом | Апплет WeChat | We::WeMiniCrypt() |
Шаблон.php | WeMiniШаблон | Поддержка шаблонов сообщений мини-программы WeChat | Апплет WeChat | We::WeMiniTemplate() |
Тотал.php | WeMiniВсего | Интерфейс данных апплета WeChat | Апплет WeChat | Мы::WeMiniTotal() |
1.1 Управление установкой через Composer
# 首次安装 线上版本(稳定)
composer require zoujingli/wechat-developer
# 首次安装 开发版本(开发)
composer require zoujingli/wechat-developer dev-master
# 更新 WeChatDeveloper
composer update zoujingli/wechat-developer
1.2 Если вы не используете Composer, вы можете скачать WeChatDeveloper и извлечь его в проект.
# 在项目中加载初始化文件
include "您的目录/WeChatDeveloper/include.php " ;
2.1 Параметры, необходимые для экземпляров интерфейса
// =====================================================
// 配置缓存处理函数 ( 适配其他环境 )
// -----------------------------------------------------
// 数据缓存 (set|get|del) 操作可以将缓存写到任意位置或Redis
// 文件缓存 (put) 只能写在本地服务器,还需要返回可读的文件路径
// 未配置自定义缓存处理机制时,默认在 cache_path 写入文件缓存
// // =====================================================
// WeChatContractsTools::$cache_callable = [
// 'set' => function ($name, $value, $expired = 360) {
// var_dump(func_get_args());
// return $value;
// },
// 'get' => function ($name) {
// var_dump(func_get_args());
// return $value;
// },
// 'del' => function ($name) {
// var_dump(func_get_args());
// return true;
// },
// 'put' => function ($name) {
// var_dump(func_get_args());
// return $filePath;
// },
// ];
$ config = [
' token ' => ' test ' ,
' appid ' => ' wx60a43dd8161666d4 ' ,
' appsecret ' => ' 71308e96a204296c57d7cd4b21b883e8 ' ,
' encodingaeskey ' => ' BJIUzE0gqlWy0GxfPp4J1oPTBmOrNDIGPNav1YFH5Z5 ' ,
// 配置商户支付参数(可选,在使用支付功能时需要)
' mch_id ' => " 1235704602 " ,
' mch_key ' => ' IKI4kpHjU94ji3oqre5zYaQMwLHuZPmj ' ,
// 配置商户支付双向证书目录(可选,在使用退款|打款|红包时需要)
' ssl_key ' => '' ,
' ssl_cer ' => '' ,
// 缓存目录配置(可选,需拥有读写权限)
' cache_path ' => '' ,
];
3.1 Интерфейс, специфичный для экземпляра
try {
// 实例对应的接口对象
$ user = new WeChat User ( $ config );
// 调用接口对象方法
$ list = $ user -> getUserList ();
// 处理返回的结果
echo ' <pre> ' ;
var_export ( $ list );
} catch ( Exception $ e ) {
// 出错啦,处理下吧
echo $ e -> getMessage () . PHP_EOL ;
}
// 创建接口实例
$ wechat = new WeChat Pay ( $ config );
// 组装参数,可以参考官方商户文档
$ options = [
' body ' => '测试商品' ,
' out_trade_no ' => time (),
' total_fee ' => ' 1 ' ,
' openid ' => ' o38gpszoJoC9oJYz3UHHf6bEp0Lo ' ,
' trade_type ' => ' JSAPI ' ,
' notify_url ' => ' http://a.com/text.html ' ,
' spbill_create_ip ' => ' 127.0.0.1 ' ,
];
try {
// 生成预支付码
$ result = $ wechat -> createOrder ( $ options );
// 创建JSAPI参数签名
$ options = $ wechat -> createParamsForJsApi ( $ result [ ' prepay_id ' ]);
// @todo 把 $options 传到前端用js发起支付就可以了
} catch ( Exception $ e ) {
// 出错啦,处理下吧
echo $ e -> getMessage () . PHP_EOL ;
}
$ config = [
// 沙箱模式
' debug ' => true ,
// 签名类型 ( RSA|RSA2 )
' sign_type ' => ' RSA2 ' ,
// 应用ID
' appid ' => ' 2021000122667306 ' ,
// 应用私钥内容 ( 需1行填写,特别注意:这里的应用私钥通常由支付宝密钥管理工具生成 )
' private_key ' => ' MIIEowIBAAKCAQEAn... ' ,
// 公钥模式,支付宝公钥内容 ( 需1行填写,特别注意:这里不是应用公钥而是支付宝公钥,通常是上传应用公钥换取支付宝公钥,在网页可以复制 )
' public_key ' => '' ,
// 证书模式,应用公钥证书路径 ( 新版资金类接口转 app_cert_sn,如文件 appCertPublicKey.crt )
' app_cert_path ' => __DIR__ . ' /alipay/appPublicCert.crt ' , // 'app_cert' => '证书内容',
// 证书模式,支付宝根证书路径 ( 新版资金类接口转 alipay_root_cert_sn,如文件 alipayRootCert.crt )
' alipay_root_path ' => __DIR__ . ' /alipay/alipayRootCert.crt ' , // 'root_cert' => '证书内容',
// 证书模式,支付宝公钥证书路径 ( 未填写 public_key 时启用此参数,如文件 alipayPublicCert.crt )
' alipay_cert_path ' => __DIR__ . ' /alipay/alipayPublicCert.crt ' , // 'public_key' => '证书内容'
// 支付成功通知地址
' notify_url ' => '' ,
// 网页支付回跳地址
' return_url ' => '' ,
];
// 参考公共参数 https://docs.open.alipay.com/203/107090/
$ config [ ' notify_url ' ] = ' http://pay.thinkadmin.top/test/alipay-notify.php ' ;
$ config [ ' return_url ' ] = ' http://pay.thinkadmin.top/test/alipay-success.php ' ;
try {
// 实例支付对象
$ pay = We:: AliPayWeb ( $ config );
// $pay = new AliPayWeb($config);
// 参考链接:https://docs.open.alipay.com/api_1/alipay.trade.page.pay
$ result = $ pay -> apply ([
' out_trade_no ' => time (), // 商户订单号
' total_amount ' => ' 1 ' , // 支付金额
' subject ' => '支付订单描述' , // 支付订单描述
]);
echo $ result ; // 直接输出HTML(提交表单跳转)
} catch ( Exception $ e ) {
// 异常处理
echo $ e -> getMessage ();
}
// 参考公共参数 https://docs.open.alipay.com/203/107090/
$ config [ ' notify_url ' ] = ' http://pay.thinkadmin.top/test/alipay-notify.php ' ;
$ config [ ' return_url ' ] = ' http://pay.thinkadmin.top/test/alipay-success.php ' ;
try {
// 实例支付对象
$ pay = We:: AliPayWap ( $ config );
// $pay = new AliPayWap($config);
// 参考链接:https://docs.open.alipay.com/api_1/alipay.trade.wap.pay
$ result = $ pay -> apply ([
' out_trade_no ' => time (), // 商户订单号
' total_amount ' => ' 1 ' , // 支付金额
' subject ' => '支付订单描述' , // 支付订单描述
]);
echo $ result ; // 直接输出HTML(提交表单跳转)
} catch ( Exception $ e ) {
// 异常处理
echo $ e -> getMessage ();
}
WeChatDeveloper выпускается под лицензией с открытым исходным кодом MIT и доступен бесплатно.
Информация об авторских правах стороннего исходного кода и двоичных файлов, включенных в этот проект, будет отмечена отдельно, проверьте ее в соответствующем файле.
Авторские права © ThinkAdmin, 2014–2023 (https://thinkadmin.top). Все права защищены.