WeChatDeveloper
v1.2.67
PHP開發技術交流(QQ群513350915)
WeChatDeveloper 是基於官方介面封裝,在做微信開發前,必須先閱讀微信官方文件。
針對WeChatDeveloper 也有一準備了幫助資料可供參考。
WeChatDeveloper 為開源項目,允許把它用於任何地方,不受任何約束,歡迎fork 項目。
我們的程式碼倉庫已移至Github ,而Gitee和Gitcode則僅作為國內鏡像倉庫,方便廣大開發者取得和使用。若想提交PR或ISSUE請在WeChatDeveloper 倉庫進行操作,如果在其他倉庫操作或提交問題將無法處理!
檔案名稱 | 類別名 | 描述 | 類型 | 加載① |
---|---|---|---|---|
App.php | AliPayApp | 支付寶App支付 | 支付寶支付 | We::AliPayApp() |
Bill.php | AliPayBill | 支付寶帳單下載 | 支付寶支付 | We::AliPayBill() |
Pos.php | AliPayPos | 支付寶刷卡支付 | 支付寶支付 | We::AliPayPos() |
Scan.php | AliPayScan | 支付寶掃碼支付 | 支付寶支付 | We::AliPayScan() |
Transfer.php | AliPayTransfer | 支付寶轉帳 | 支付寶支付 | We::AliPayTransfer() |
Wap.php | AliPayWap | 支付寶Wap支付 | 支付寶支付 | We::AliPayWap() |
Web.php | AliPayWeb | 支付寶Web支付 | 支付寶支付 | We::AliPayWeb() |
Card.php | WeChatCard | 微信卡券介面支持 | 認證服務號 | We::WeChatCard() |
Custom.php | WeChatCustom | 微信客服訊息介面支持 | 認證服務號 | We::WeChatCustom() |
Media.php | WeChatMedia | 微信媒體素材介面支持 | 認證服務號 | We::WeChatMedia() |
Oauth.php | WeChatOauth | 微信網頁授權訊息類別接口 | 認證服務號 | We::WeChatOauth() |
Pay.php | WeChatPay | 微信支付類接口 | 認證服務號 | We::WeChatPay() |
Product.php | WeChatProduct | 微信商店類別接口 | 認證服務號 | We::WeChatProduct() |
Qrcode.php | WeChatQrcode | 微信二維碼介面支持 | 認證服務號 | We::WeChatQrcode() |
Receive.php | WeChatReceive | 微信推播事件訊息處理支持 | 認證服務號 | We::WeChatReceive() |
Scan.php | WeChatScan | 微信掃一掃接口支持 | 認證服務號 | We::WeChatScan() |
Script.php | WeChatScript | 微信前端JSSDK支持 | 認證服務號 | We::WeChatScript() |
Shake.php | WeChatShake | 微信藍牙設備揺一揺接口 | 認證服務號 | We::WeChatShake() |
Tags.php | WeChatTags | 微信粉絲標籤介面支持 | 認證服務號 | We::WeChatTags() |
Template.php | WeChatTemplate | 微信範本訊息介面支持 | 認證服務號 | We::WeChatTemplate() |
User.php | WeChatUser | 微信粉絲管理介面支持 | 認證服務號 | We::WeChatCard() |
Wifi.php | WeChatWifi | 微信門市WIFI管理支持 | 認證服務號 | We::WeChatWifi() |
Draft.php | WeChatDraft | 微信草稿箱 | 認證服務號 | We::WeChatDraft() |
Freepublish.php | WeChatFreepublish | 微信發布能力 | 認證服務號 | We::WeChatFreepublish() |
Bill.php | WePayBill | 微信商家帳單及評論 | 微信支付 | We::WePayBill() |
Coupon.php | WePayCoupon | 微信商家代金券 | 微信支付 | We::WePayCoupon() |
Order.php | WePayOrder | 微信商家訂單 | 微信支付 | We::WePayOrder() |
Redpack.php | WePayRedpack | 微信紅包支持 | 微信支付 | We::WePayRedpack() |
Refund.php | WePayRefund | 微信商家退款 | 微信支付 | We::WePayRefund() |
Transfers.php | WePayTransfers | 微信商家打款到零錢 | 微信支付 | We::WePayTransfers() |
TransfersBank.php | WePayTransfersBank | 微信商家打款到銀行卡 | 微信支付 | We::WePayTransfersBank() |
Crypt.php | WeMiniCrypt | 微信小程式資料加密處理 | 微信小程式 | We::WeMiniCrypt() |
Plugs.php | WeMiniPlugs | 微信小程式插件管理 | 微信小程式 | We::WeMiniPlugs() |
Poi.php | WeMiniPoi | 微信小程式地址管理 | 微信小程式 | We::WeMiniPoi() |
Qrcode.php | WeMiniQrcode | 微信小程式二維碼管理 | 微信小程式 | We::WeMiniCrypt() |
Template.php | WeMiniTemplate | 微信小程式範本訊息支持 | 微信小程式 | We::WeMiniTemplate() |
Total.php | WeMiniTotal | 微信小程式資料接口 | 微信小程式 | We::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開源協議發布,並免費提供使用。
本項目所包含的第三方原始碼和二進位檔案的版權資訊將另行標註,請在對應文件中查看。
版權所有Copyright © 2014-2023 by ThinkAdmin (https://thinkadmin.top) All rights reserved。