Échange de technologies de développement PHP (groupe QQ 513350915)
WeChatDeveloper est basé sur le package d'interface officiel. Avant de développer WeChat, vous devez d'abord lire la documentation officielle de WeChat.
Il existe également un matériel d'aide préparé pour WeChatDeveloper à titre de référence.
WeChatDeveloper est un projet open source, permettant de l'utiliser n'importe où sans aucune restriction. Les forks du projet sont les bienvenus.
Notre référentiel de code a été déplacé vers Github , tandis que Gitee et Gitcode ne sont utilisés que comme référentiels miroirs nationaux pour permettre à la majorité des développeurs de les obtenir et de les utiliser. Si vous souhaitez soumettre un PR ou un PROBLÈME, veuillez l'exploiter dans l'entrepôt WeChatDeveloper. Si vous exploitez ou soumettez un problème dans d'autres entrepôts, il ne sera pas traité !
nom de fichier | Nom de la classe | décrire | taper | Charger ① |
---|---|---|---|---|
App.php | AlipayApplication | Paiement de l'application Alipay | Paiement Alipay | Nous ::AliPayApp() |
Facture.php | AlipayBill | Télécharger la facture Alipay | Paiement Alipay | Nous ::AliPayBill() |
Pos.php | AlipayPosition | Paiement par carte Alipay | Paiement Alipay | Nous ::AliPayPos() |
Scan.php | AlipayScan | Paiement par code scan Alipay | Paiement Alipay | Nous ::AliPayScan() |
Transfert.php | AlipayTransfert | Virement Alipay | Paiement Alipay | Nous ::AliPayTransfer() |
Wap.php | AlipayWap | Paiement Alipay Wap | Paiement Alipay | Nous ::AliPayWap() |
Web.php | AlipayWeb | Paiement en ligne Alipay | Paiement Alipay | Nous ::AliPayWeb() |
Carte.php | WeChatCarte | Prise en charge de la carte WeChat et de l'interface de coupon | Numéro de service de certification | Nous ::WeChatCard() |
Personnalisé.php | WeChatPersonnalisé | Prise en charge de l'interface de message du service client WeChat | Numéro de service de certification | Nous ::WeChatCustom() |
Média.php | WeChatMédias | Prise en charge de l'interface matérielle des médias WeChat | Numéro de service de certification | Nous ::WeChatMedia() |
Oauth.php | WeChatOauth | Interface de message d'autorisation de page Web WeChat | Numéro de service de certification | Nous ::WeChatOauth() |
Payer.php | WeChatPayer | Interface de paiement WeChat | Numéro de service de certification | Nous ::WeChatPay() |
Produit.php | WeChatProduit | Interface du magasin WeChat | Numéro de service de certification | Nous ::WeChatProduct() |
Qrcode.php | WeChatQrcode | Prise en charge de l'interface du code QR WeChat | Numéro de service de certification | Nous ::WeChatQrcode() |
Recevoir.php | WeChatRecevoir | Prise en charge du traitement des messages d'événements push WeChat | Numéro de service de certification | Nous ::WeChatReceive() |
Scan.php | WeChatScan | Prise en charge de l'interface d'analyse WeChat | Numéro de service de certification | Nous ::WeChatScan() |
Script.php | WeChatScript | Prise en charge du JSSDK frontal WeChat | Numéro de service de certification | Nous ::WeChatScript() |
Secouer.php | WeChatShake | Interface push du périphérique Bluetooth WeChat | Numéro de service de certification | Nous ::WeChatShake() |
Balises.php | WeChatTags | Prise en charge de l'interface des balises de fans WeChat | Numéro de service de certification | Nous ::WeChatTags() |
Modèle.php | WeChatModèle | Prise en charge de l'interface de message du modèle WeChat | Numéro de service de certification | Nous ::WeChatTemplate() |
Utilisateur.php | WeChatUtilisateur | Prise en charge de l'interface de gestion des fans WeChat | Numéro de service de certification | Nous ::WeChatCard() |
Wifi.php | WeChatWifi | Prise en charge de la gestion WIFI du magasin WeChat | Numéro de service de certification | Nous ::WeChatWifi() |
Draft.php | WeChatBrouillon | Boîte de brouillon WeChat | Numéro de service de certification | Nous ::WeChatDraft() |
Freepublish.php | WeChatFreepublish | Capacité de publication WeChat | Numéro de service de certification | Nous ::WeChatFreepublish() |
Facture.php | WePayBill | Factures et commentaires des commerçants WeChat | Paiement WeChat | Nous ::WePayBill() |
Coupon.php | WePayCoupon | Bons marchands WeChat | Paiement WeChat | Nous::WePayCoupon() |
Commande.php | WePayCommande | Commandes des commerçants WeChat | Paiement WeChat | Nous ::WePayOrder() |
Redpack.php | WePayRedpack | Prise en charge de l'enveloppe rouge WeChat | Paiement WeChat | Nous ::WePayRedpack() |
Remboursement.php | WePayRemboursement | Remboursement du commerçant WeChat | Paiement WeChat | Nous::WePayRefund() |
Transferts.php | WePayTransferts | Payer les marchands WeChat en petite monnaie | Paiement WeChat | Nous ::WePayTransfers() |
TransfertsBank.php | WePayTransfersBank | Les commerçants WeChat transfèrent de l'argent vers des cartes bancaires | Paiement WeChat | Nous ::WePayTransfersBank() |
Crypte.php | WeMiniCrypte | Traitement du cryptage des données de l'applet WeChat | Applet WeChat | Nous ::WeMiniCrypt() |
Plugs.php | WeMiniPlugs | Gestion des plug-ins du mini-programme WeChat | Applet WeChat | Nous ::WeMiniPlugs() |
Poi.php | WeMiniPoi | Gestion des adresses des applets WeChat | Applet WeChat | Nous ::WeMiniPoi() |
Qrcode.php | WeMiniQrcode | Gestion des codes QR du mini programme WeChat | Applet WeChat | Nous ::WeMiniCrypt() |
Modèle.php | WeMiniModèle | Prise en charge des messages de modèle de mini-programme WeChat | Applet WeChat | Nous ::WeMiniTemplate() |
Total.php | WeMiniTotal | Interface de données de l'applet WeChat | Applet WeChat | Nous ::WeMiniTotal() |
1.1 Gérer l'installation via Composer
# 首次安装 线上版本(稳定)
composer require zoujingli/wechat-developer
# 首次安装 开发版本(开发)
composer require zoujingli/wechat-developer dev-master
# 更新 WeChatDeveloper
composer update zoujingli/wechat-developer
1.2 Si vous n'utilisez pas Composer, vous pouvez télécharger WeChatDeveloper et l'extraire dans le projet
# 在项目中加载初始化文件
include "您的目录/WeChatDeveloper/include.php " ;
2.1 Paramètres requis pour les instances d'interface
// =====================================================
// 配置缓存处理函数 ( 适配其他环境 )
// -----------------------------------------------------
// 数据缓存 (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 Interface spécifique à l'instance
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 est publié sous la licence open source MIT et est disponible gratuitement.
Les informations de copyright du code source tiers et des fichiers binaires inclus dans ce projet seront marquées séparément, veuillez les vérifier dans le fichier correspondant.
Copyright Copyright © 2014-2023 par ThinkAdmin (https://thinkadmin.top) Tous droits réservés.