Troca de tecnologia de desenvolvimento PHP (grupo QQ 513350915)
WeChatDeveloper é baseado no pacote de interface oficial. Antes de desenvolver o WeChat, você deve primeiro ler a documentação oficial do WeChat.
Também há material de ajuda preparado para WeChatDeveloper para referência.
WeChatDeveloper é um projeto de código aberto, permitindo que seja usado em qualquer lugar sem quaisquer restrições.
Nosso repositório de código foi movido para o Github , enquanto o Gitee e o Gitcode são usados apenas como repositórios espelho domésticos para facilitar a obtenção e uso pela maioria dos desenvolvedores. Se você deseja enviar um PR ou ISSUE, opere-o no armazém do WeChatDeveloper. Se você operar ou enviar um problema em outros armazéns, ele não será processado!
nome do arquivo | Nome da classe | descrever | tipo | Carregar ① |
---|---|---|---|---|
Aplicativo.php | AliPayAplicativo | Pagamento pelo aplicativo Alipay | Pagamento alipay | Nós::AliPayApp() |
Conta.php | Alívio Fatura | Baixar conta Alipay | Pagamento alipay | Nós::AliPayBill() |
Pos.php | AlívioPos | Pagamento com cartão Alipay | Pagamento alipay | Nós::AliPayPos() |
Digitalizar.php | AlívioScan | Pagamento com código de digitalização Alipay | Pagamento alipay | Nós::AliPayScan() |
Transferência.php | AliciamentoTransferência | Transferência alipay | Pagamento alipay | Nós::AliPayTransfer() |
Wap.php | AliPayWap | Pagamento Alipay Wap | Pagamento alipay | Nós::AliPayWap() |
Web.php | AliPayWeb | Pagamento Alipay Web | Pagamento alipay | Nós::AliPayWeb() |
Cartão.php | WeChatCartão | Suporte para cartão WeChat e interface de cupom | Número do serviço de autenticação | Nós::WeChatCard() |
Personalizado.php | WeChatPersonalizado | Suporte à interface de mensagens de atendimento ao cliente WeChat | Número do serviço de autenticação | Nós::WeChatCustom() |
Mídia.php | WeChatMídia | Suporte à interface de material de mídia WeChat | Número do serviço de autenticação | Nós::WeChatMedia() |
Oauth.php | WeChatOauth | Interface de mensagem de autorização da página da web do WeChat | Número do serviço de autenticação | Nós::WeChatOauth() |
Pagar.php | WeChatPagar | Interface de pagamento WeChat | Número do serviço de autenticação | Nós::WeChatPay() |
Produto.php | WeChatProduto | Interface da loja WeChat | Número do serviço de autenticação | Nós::WeChatProduct() |
QRcode.php | WeChatQrcode | Suporte à interface de código QR WeChat | Número do serviço de autenticação | Nós::WeChatQrcode() |
Receber.php | WeChatReceber | Suporte ao processamento de mensagens de eventos push do WeChat | Número do serviço de autenticação | Nós::WeChatReceive() |
Digitalizar.php | WeChatScan | Suporte à interface de digitalização WeChat | Número do serviço de autenticação | Nós::WeChatScan() |
Script.php | WeChatScript | Suporte JSSDK front-end do WeChat | Número do serviço de autenticação | Nós::WeChatScript() |
Shake.php | WeChatAgitar | Interface push do dispositivo Bluetooth WeChat | Número do serviço de autenticação | Nós::WeChatShake() |
Tags.php | WeChatTags | Suporte à interface de tags de fãs do WeChat | Número do serviço de autenticação | Nós::WeChatTags() |
Modelo.php | WeChatModelo | Suporte à interface de mensagem do modelo WeChat | Número do serviço de autenticação | Nós::WeChatTemplate() |
Usuário.php | WeChatUsuário | Suporte à interface de gerenciamento de fãs WeChat | Número do serviço de autenticação | Nós::WeChatCard() |
Wi-Fi.php | WeChatWi-Fi | Suporte de gerenciamento de WIFI da loja WeChat | Número do serviço de autenticação | Nós::WeChatWifi() |
Rascunho.php | WeChatRascunho | Caixa de rascunho do WeChat | Número do serviço de autenticação | Nós::WeChatDraft() |
Publicação gratuita.php | WeChatPublicação Gratuita | Capacidades de publicação do WeChat | Número do serviço de autenticação | Nós::WeChatFreepublish() |
Conta.php | NósPagamosConta | Contas e comentários do comerciante WeChat | Pagamento WeChat | Nós::WePayBill() |
Cupom.php | WePayCupom | Vouchers de comerciante WeChat | Pagamento WeChat | Nós::WePayCoupon() |
Pedido.php | WePay Pedido | Pedidos de comerciantes WeChat | Pagamento WeChat | Nós::WePayOrder() |
Redpack.php | WePayRedpack | Suporte para envelope vermelho WeChat | Pagamento WeChat | Nós::WePayRedpack() |
Reembolso.php | WePayReembolso | Reembolso de comerciante WeChat | Pagamento WeChat | Nós::WePayRefund() |
Transferências.php | WePayTransferências | Pague aos comerciantes do WeChat em pequenos trocos | Pagamento WeChat | Nós::WePayTransfers() |
TransferênciasBank.php | WePayTransfersBank | Comerciantes WeChat transferem dinheiro para cartões bancários | Pagamento WeChat | Nós::WePayTransfersBank() |
Cripta.php | WeMiniCrypt | Processamento de criptografia de dados do miniaplicativo WeChat | Miniaplicativo WeChat | We::WeMiniCrypt() |
Plugues.php | WeMiniPlugues | Gerenciamento de plug-ins do miniprograma WeChat | Miniaplicativo WeChat | We::WeMiniPlugs() |
Poi.php | WeMiniPoi | Gerenciamento de endereços de miniaplicativos WeChat | Miniaplicativo WeChat | Nós::WeMiniPoi() |
QRcode.php | WeMiniQrcode | Gerenciamento de código QR do miniprograma WeChat | Miniaplicativo WeChat | We::WeMiniCrypt() |
Modelo.php | WeMiniModelo | Suporte de mensagem de modelo de miniprograma WeChat | Miniaplicativo WeChat | We::WeMiniTemplate() |
Total.php | WeMiniTotal | Interface de dados do miniaplicativo WeChat | Miniaplicativo WeChat | Nós::WeMiniTotal() |
1.1 Gerenciar a instalação através do Composer
# 首次安装 线上版本(稳定)
composer require zoujingli/wechat-developer
# 首次安装 开发版本(开发)
composer require zoujingli/wechat-developer dev-master
# 更新 WeChatDeveloper
composer update zoujingli/wechat-developer
1.2 Se você não usa o Composer, você pode baixar o WeChatDeveloper e extraí-lo para o projeto
# 在项目中加载初始化文件
include "您的目录/WeChatDeveloper/include.php " ;
2.1 Parâmetros necessários para instâncias de 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 específica da instância
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 é lançado sob a licença de código aberto do MIT e está disponível gratuitamente.
As informações de direitos autorais do código-fonte de terceiros e dos arquivos binários incluídos neste projeto serão marcadas separadamente, verifique no arquivo correspondente.
Copyright Copyright © 2014-2023 por ThinkAdmin (https://thinkadmin.top) Todos os direitos reservados.