Intercambio de tecnología de desarrollo PHP (grupo QQ 513350915)
WeChatDeveloper se basa en el paquete de interfaz oficial. Antes de realizar el desarrollo de WeChat, primero debe leer la documentación oficial de WeChat.
También hay material de ayuda preparado para WeChatDeveloper como referencia.
WeChatDeveloper es un proyecto de código abierto, lo que permite su uso en cualquier lugar sin restricciones.
Nuestro repositorio de código se ha trasladado a Github , mientras que Gitee y Gitcode solo se utilizan como repositorios espejo nacionales para facilitar que la mayoría de los desarrolladores los obtengan y utilicen. Si desea enviar un PR o un PROBLEMA, operelo en el almacén de WeChatDeveloper. Si opera o envía un problema en otros almacenes, ¡no se procesará!
Nombre del archivo | nombre de clase | describir | tipo | Cargar ① |
---|---|---|---|---|
aplicación.php | AlipayAplicación | Pago de la aplicación Alipay | Pago Alipay | Nosotros::AliPayApp() |
factura.php | AlipayBill | descargar factura alipay | Pago Alipay | Nosotros::AliPayBill() |
Pos.php | AlipayPos | pago con tarjeta alipay | Pago Alipay | Nosotros::AliPayPos() |
Escanear.php | AlipayEscanear | Pago con código de escaneo Alipay | Pago Alipay | Nosotros::AliPayScan() |
Transferir.php | AlipayTransferir | transferencia alipay | Pago Alipay | Nosotros::AliPayTransfer() |
Wap.php | AlipayWap | Pago Alipay Wap | Pago Alipay | Nosotros::AliPayWap() |
Web.php | AlipayWeb | Pago web Alipay | Pago Alipay | Nosotros::AliPayWeb() |
tarjeta.php | WeChatTarjeta | Soporte de interfaz de cupones y tarjetas WeChat | Número de servicio de certificación | Nosotros::WeChatCard() |
personalizado.php | WeChatPersonalizado | Soporte de interfaz de mensajes de servicio al cliente de WeChat | Número de servicio de certificación | Nosotros::WeChatCustom() |
medios.php | WeChatMedios | Soporte de interfaz de material multimedia WeChat | Número de servicio de certificación | Nosotros::WeChatMedia() |
Oauth.php | WeChatOauth | Interfaz de mensaje de autorización de la página web de WeChat | Número de servicio de certificación | Nosotros::WeChatOauth() |
pagar.php | WeChatPagar | Interfaz de pago WeChat | Número de servicio de certificación | Nosotros::WeChatPay() |
Producto.php | WeChatProducto | Interfaz de la tienda WeChat | Número de servicio de certificación | Nosotros::WeChatProduct() |
Código QR.php | WeChatQrcódigo | Soporte de interfaz de código QR de WeChat | Número de servicio de certificación | Nosotros::WeChatQrcode() |
Recibir.php | WeChatRecibir | Soporte de procesamiento de mensajes de eventos push de WeChat | Número de servicio de certificación | Nosotros::WeChatReceive() |
Escanear.php | WeChatEscanear | Soporte de interfaz de escaneo WeChat | Número de servicio de certificación | Nosotros::WeChatScan() |
script.php | WeChatScript | Soporte JSSDK de interfaz de WeChat | Número de servicio de certificación | Nosotros::WeChatScript() |
Agitar.php | WeChatAgitar | Interfaz de inserción del dispositivo Bluetooth WeChat | Número de servicio de certificación | Nosotros::WeChatShake() |
Etiquetas.php | WeChatEtiquetas | Soporte de interfaz de etiquetas de fans de WeChat | Número de servicio de certificación | Nosotros::WeChatTags() |
Plantilla.php | WeChatPlantilla | Soporte de interfaz de mensajes de plantilla de WeChat | Número de servicio de certificación | Nosotros::WeChatTemplate() |
Usuario.php | WeChatUsuario | Compatibilidad con la interfaz de gestión de fans de WeChat | Número de servicio de certificación | Nosotros::WeChatCard() |
Wifi.php | WeChatWifi | Soporte de gestión WIFI de la tienda WeChat | Número de servicio de certificación | Nosotros::WeChatWifi() |
Borrador.php | WeChatBorrador | Cuadro de borrador de WeChat | Número de servicio de certificación | Nosotros::WeChatDraft() |
Publicación gratuita.php | WeChatPublicación gratuita | Capacidad de publicación de WeChat | Número de servicio de certificación | Nosotros::WeChatFreepublish() |
factura.php | WePayFactura | Facturas y comentarios de comerciantes de WeChat | Pago WeChat | Nosotros::PagamosBill() |
Cupón.php | WePayCupón | Vales comerciales de WeChat | Pago WeChat | Nosotros::WePayCoupon() |
Orden.php | WePayPedido | Pedidos comerciales de WeChat | Pago WeChat | Nosotros::PagamosOrden() |
Redpack.php | WePayRedpack | Soporte de sobre rojo de WeChat | Pago WeChat | Nosotros::WePayRedpack() |
Reembolso.php | WePayReembolso | Reembolso comercial de WeChat | Pago WeChat | Nosotros::WePayRefund() |
Transferencias.php | WePayTransferencias | Pague a los comerciantes de WeChat con monedas pequeñas | Pago WeChat | Nosotros::WePayTransfers() |
TransferenciasBank.php | WePayTransferenciasBank | Los comerciantes de WeChat transfieren dinero a tarjetas bancarias | Pago WeChat | Nosotros::WePayTransfersBank() |
cripta.php | WeMiniCripta | Procesamiento de cifrado de datos del subprograma WeChat | subprograma WeChat | Nosotros::WeMiniCrypt() |
Enchufes.php | WeMiniEnchufes | Gestión de complementos del miniprograma WeChat | subprograma WeChat | Nosotros::WeMiniPlugs() |
Poi.php | WeMiniPoi | Gestión de direcciones del subprograma WeChat | subprograma WeChat | Nosotros::WeMiniPoi() |
Código QR.php | WeMiniQrcode | Gestión de códigos QR del mini programa WeChat | subprograma WeChat | Nosotros::WeMiniCrypt() |
Plantilla.php | WeMiniPlantilla | Soporte de mensajes de plantilla de mini programa WeChat | subprograma WeChat | Nosotros::WeMiniTemplate() |
total.php | WeMiniTotal | Interfaz de datos del subprograma WeChat | subprograma WeChat | Nosotros::NosotrosMiniTotal() |
1.1 Administrar la instalación a través de Composer
# 首次安装 线上版本(稳定)
composer require zoujingli/wechat-developer
# 首次安装 开发版本(开发)
composer require zoujingli/wechat-developer dev-master
# 更新 WeChatDeveloper
composer update zoujingli/wechat-developer
1.2 Si no utiliza Composer, puede descargar WeChatDeveloper y extraerlo en el proyecto.
# 在项目中加载初始化文件
include "您的目录/WeChatDeveloper/include.php " ;
2.1 Parámetros necesarios para instancias de interfaz
// =====================================================
// 配置缓存处理函数 ( 适配其他环境 )
// -----------------------------------------------------
// 数据缓存 (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 Interfaz específica de la instancia
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 se publica bajo la licencia de código abierto del MIT y está disponible de forma gratuita.
La información de derechos de autor del código fuente de terceros y los archivos binarios incluidos en este proyecto se marcarán por separado; verifíquelo en el archivo correspondiente.
Copyright Copyright © 2014-2023 por ThinkAdmin (https://thinkadmin.top) Todos los derechos reservados.