Austausch von PHP-Entwicklungstechnologien (QQ-Gruppe 513350915)
WeChatDeveloper basiert auf dem offiziellen Schnittstellenpaket. Bevor Sie mit der WeChat-Entwicklung beginnen, müssen Sie zunächst die offizielle WeChat-Dokumentation lesen.
Es gibt auch für WeChatDeveloper vorbereitetes Hilfematerial als Referenz.
WeChatDeveloper ist ein Open-Source-Projekt und kann daher überall ohne Einschränkungen verwendet werden. Forks des Projekts sind willkommen.
Unser Code-Repository wurde nach Github verschoben, während Gitee und Gitcode nur als inländische Spiegel-Repositorys verwendet werden, um es der Mehrheit der Entwickler zu erleichtern, sie zu erhalten und zu verwenden. Wenn Sie eine PR oder ein Problem einreichen möchten, bearbeiten Sie diese bitte im WeChatDeveloper-Lager. Wenn Sie ein Problem in anderen Lagern bearbeiten oder einreichen, wird es nicht bearbeitet!
Dateiname | Klassenname | beschreiben | Typ | Laden ① |
---|---|---|---|---|
App.php | AlipayApp | Alipay-App-Zahlung | Alipay-Zahlung | Wir::AliPayApp() |
Bill.php | AlipayBill | Alipay-Rechnung herunterladen | Alipay-Zahlung | We::AliPayBill() |
Pos.php | AlipayPos | Alipay-Kartenzahlung | Alipay-Zahlung | We::AliPayPos() |
Scan.php | AlipayScannen | Alipay-Scancode-Zahlung | Alipay-Zahlung | We::AliPayScan() |
Transfer.php | AlipayTransfer | Alipay-Überweisung | Alipay-Zahlung | We::AliPayTransfer() |
Wap.php | AlipayWap | Alipay Wap-Zahlung | Alipay-Zahlung | We::AliPayWap() |
Web.php | AlipayWeb | Alipay Web-Zahlung | Alipay-Zahlung | We::AliPayWeb() |
Card.php | WeChatKarte | Unterstützung der WeChat-Karten- und Coupon-Schnittstelle | Authentifizierungsdienstnummer | We::WeChatCard() |
Custom.php | WeChatBenutzerdefiniert | Unterstützung der Nachrichtenschnittstelle des WeChat-Kundendienstes | Authentifizierungsdienstnummer | We::WeChatCustom() |
Medien.php | WeChatMedien | Unterstützung der WeChat-Medienmaterialschnittstelle | Authentifizierungsdienstnummer | Wir::WeChatMedia() |
Oauth.php | WeChatOauth | WeChat-Webseiten-Autorisierungsnachrichtenschnittstelle | Authentifizierungsdienstnummer | We::WeChatOauth() |
Pay.php | WeChatPay | WeChat-Zahlungsschnittstelle | Authentifizierungsdienstnummer | We::WeChatPay() |
Produkt.php | WeChatProdukt | WeChat-Store-Schnittstelle | Authentifizierungsdienstnummer | We::WeChatProduct() |
Qrcode.php | WeChatQrcode | Unterstützung der WeChat QR-Code-Schnittstelle | Authentifizierungsdienstnummer | We::WeChatQrcode() |
Empfangen.php | WeChatReceive | Unterstützung für die Verarbeitung von WeChat-Push-Ereignisnachrichten | Authentifizierungsdienstnummer | We::WeChatReceive() |
Scan.php | WeChatScan | Unterstützung der WeChat-Scanschnittstelle | Authentifizierungsdienstnummer | We::WeChatScan() |
Script.php | WeChatScript | WeChat-Frontend-JSSDK-Unterstützung | Authentifizierungsdienstnummer | We::WeChatScript() |
Shake.php | WeChatShake | WeChat-Bluetooth-Geräte-Push-Schnittstelle | Authentifizierungsdienstnummer | We::WeChatShake() |
Tags.php | WeChatTags | Unterstützung der WeChat-Fan-Tag-Schnittstelle | Authentifizierungsdienstnummer | We::WeChatTags() |
Template.php | WeChatVorlage | Unterstützung für WeChat-Vorlagennachrichtenschnittstellen | Authentifizierungsdienstnummer | We::WeChatTemplate() |
Benutzer.php | WeChatBenutzer | Unterstützung der WeChat-Fan-Management-Schnittstelle | Authentifizierungsdienstnummer | We::WeChatCard() |
Wifi.php | WeChatWifi | Unterstützung für die WIFI-Verwaltung des WeChat Stores | Authentifizierungsdienstnummer | We::WeChatWifi() |
Draft.php | WeChatEntwurf | WeChat-Entwurfsbox | Authentifizierungsdienstnummer | We::WeChatDraft() |
Freepublish.php | WeChatFreepublish | WeChat-Veröffentlichungsfunktionen | Authentifizierungsdienstnummer | We::WeChatFreepublish() |
Bill.php | WePayRechnung | Rechnungen und Kommentare von WeChat-Händlern | WeChat-Bezahlung | We::WePayBill() |
Coupon.php | WePayGutschein | WeChat-Händlergutscheine | WeChat-Bezahlung | We::WePayCoupon() |
Bestellen.php | WePayBestellen | Bestellungen von WeChat-Händlern | WeChat-Bezahlung | We::WePayOrder() |
Redpack.php | WePayRedpack | WeChat-Unterstützung für rote Umschläge | WeChat-Bezahlung | We::WePayRedpack() |
Rückerstattung.php | WePayRückerstattung | Rückerstattung für WeChat-Händler | WeChat-Bezahlung | We::WePayRefund() |
Transfers.php | WePayTransfers | Bezahlen Sie WeChat-Händlern mit Kleingeld | WeChat-Bezahlung | We::WePayTransfers() |
TransfersBank.php | WePayTransfersBank | WeChat-Händler überweisen Geld auf Bankkarten | WeChat-Bezahlung | We::WePayTransfersBank() |
Crypt.php | WeMiniCrypt | Datenverschlüsselungsverarbeitung durch das WeChat-Applet | WeChat-Applet | We::WeMiniCrypt() |
Plugs.php | WeMiniStecker | Plug-in-Verwaltung für das WeChat-Miniprogramm | WeChat-Applet | We::WeMiniPlugs() |
Poi.php | WeMiniPoi | Adressverwaltung des WeChat-Applets | WeChat-Applet | We::WeMiniPoi() |
Qrcode.php | WeMiniQrcode | QR-Code-Verwaltung des WeChat Mini-Programms | WeChat-Applet | We::WeMiniCrypt() |
Template.php | WeMiniVorlage | Unterstützung für WeChat Mini-Programmvorlagennachrichten | WeChat-Applet | We::WeMiniTemplate() |
Total.php | WeMiniTotal | WeChat-Applet-Datenschnittstelle | WeChat-Applet | We::WeMiniTotal() |
1.1 Verwalten Sie die Installation über Composer
# 首次安装 线上版本(稳定)
composer require zoujingli/wechat-developer
# 首次安装 开发版本(开发)
composer require zoujingli/wechat-developer dev-master
# 更新 WeChatDeveloper
composer update zoujingli/wechat-developer
1.2 Wenn Sie Composer nicht verwenden, können Sie WeChatDeveloper herunterladen und in das Projekt extrahieren
# 在项目中加载初始化文件
include "您的目录/WeChatDeveloper/include.php " ;
2.1 Erforderliche Parameter für Schnittstelleninstanzen
// =====================================================
// 配置缓存处理函数 ( 适配其他环境 )
// -----------------------------------------------------
// 数据缓存 (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 Instanzspezifische Schnittstelle
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 wird unter der MIT- Open-Source-Lizenz veröffentlicht und ist kostenlos erhältlich.
Die Copyright-Informationen des in diesem Projekt enthaltenen Quellcodes und Binärdateien Dritter werden gesondert gekennzeichnet. Bitte überprüfen Sie diese in der entsprechenden Datei.
Copyright Copyright © 2014-2023 von ThinkAdmin (https://thinkadmin.top) Alle Rechte vorbehalten.