当前位置:首页 > 开源相关 > 正文内容

WeChatDeveloper微信开发工具包 v1.2.66

go1231周前 (10-22)开源相关55

WeChatDeveloper 是一个基于官方接口封装的微信开发工具包(微信服务号+微信企业号+微信小程序+微信支付+支付宝支付)。特点:WeChatDeveloper 是基于 wechat-php-sdk 重构,优化并完善;运行最底要求 PHP 版本 5.4 , 建议在 PHP7 上运行以获取最佳性能

  • WeChatDeveloper 是基于 wechat-php-sdk 重构,优化并完善;

  • 运行最底要求 PHP 版本 5.4 , 建议在 PHP7 上运行以获取最佳性能;

  • 目前 WeChatDeveloper 针对 access_token 失效增加了自动刷新机制;

  • 微信的部分接口需要缓存数据在本地,因此配置目录并需要对目录有写权限;

  • 我们鼓励大家使用 composer 来管理您的第三方库,方便后期更新操作;

  • WeChatDeveloper 已历经数个线上项目考验,欢迎 fork 或 star 此项目。

  • 微信商户已经支持 v2 和 v3 接口,未加入的接口可以使用通用方式调用。



image.png

功能描述

  • 微信小程序,服务端接口支持

  • 微信认证服务号,服务端接口支持

  • 微信支付(账单、卡券、红包、退款、转账、App支付、JSAPI支付、Web支付、扫码支付等)

  • 支付宝支付(账单、转账、App支付、刷卡支付、扫码支付、Web支付、Wap支付等)

WeChatDeveloper 是基于官方接口封装,在做微信开发前,必需先阅读微信官方文档。

针对 WeChatDeveloper 也有一准备了帮助资料可供参考。

代码仓库

WeChatDeveloper 为开源项目,允许把它用于任何地方,不受任何约束,欢迎 fork 项目。

我们的代码仓库已移至 Github,而 Gitee 和 Gitcode 则仅作为国内镜像仓库,方便广大开发者获取和使用。若想提交 PR 或 ISSUE 请在 WeChatDeveloper 仓库进行操作,如果在其他仓库操作或提交问题将无法处理!

文件说明(后续会根据官方文档增加文件)

文件名类名描述类型加载 ①
App.phpAliPay\App支付宝App支付支付宝支付\We::AliPayApp()
Bill.phpAliPay\Bill支付宝账单下载支付宝支付\We::AliPayBill()
Pos.phpAliPay\Pos支付宝刷卡支付支付宝支付\We::AliPayPos()
Scan.phpAliPay\Scan支付宝扫码支付支付宝支付\We::AliPayScan()
Transfer.phpAliPay\Transfer支付宝转账支付宝支付\We::AliPayTransfer()
Wap.phpAliPay\Wap支付宝Wap支付支付宝支付\We::AliPayWap()
Web.phpAliPay\Web支付宝Web支付支付宝支付\We::AliPayWeb()
Card.phpWeChat\Card微信卡券接口支持认证服务号\We::WeChatCard()
Custom.phpWeChat\Custom微信客服消息接口支持认证服务号\We::WeChatCustom()
Media.phpWeChat\Media微信媒体素材接口支持认证服务号\We::WeChatMedia()
Oauth.phpWeChat\Oauth微信网页授权消息类接口认证服务号\We::WeChatOauth()
Pay.phpWeChat\Pay微信支付类接口认证服务号\We::WeChatPay()
Product.phpWeChat\Product微信商店类接口认证服务号\We::WeChatProduct()
Qrcode.phpWeChat\Qrcode微信二维码接口支持认证服务号\We::WeChatQrcode()
Receive.phpWeChat\Receive微信推送事件消息处理支持认证服务号\We::WeChatReceive()
Scan.phpWeChat\Scan微信扫一扫接口支持认证服务号\We::WeChatScan()
Script.phpWeChat\Script微信前端JSSDK支持认证服务号\We::WeChatScript()
Shake.phpWeChat\Shake微信蓝牙设备揺一揺接口认证服务号\We::WeChatShake()
Tags.phpWeChat\Tags微信粉丝标签接口支持认证服务号\We::WeChatTags()
Template.phpWeChat\Template微信模板消息接口支持认证服务号\We::WeChatTemplate()
User.phpWeChat\User微信粉丝管理接口支持认证服务号\We::WeChatCard()
Wifi.phpWeChat\Wifi微信门店WIFI管理支持认证服务号\We::WeChatWifi()
Draft.phpWeChat\Draft微信草稿箱认证服务号\We::WeChatDraft()
Freepublish.phpWeChat\Freepublish微信发布能力认证服务号\We::WeChatFreepublish()
Bill.phpWePay\Bill微信商户账单及评论微信支付\We::WePayBill()
Coupon.phpWePay\Coupon微信商户代金券微信支付\We::WePayCoupon()
Order.phpWePay\Order微信商户订单微信支付\We::WePayOrder()
Redpack.phpWePay\Redpack微信红包支持微信支付\We::WePayRedpack()
Refund.phpWePay\Refund微信商户退款微信支付\We::WePayRefund()
Transfers.phpWePay\Transfers微信商户打款到零钱微信支付\We::WePayTransfers()
TransfersBank.phpWePay\TransfersBank微信商户打款到银行卡微信支付\We::WePayTransfersBank()
Crypt.phpWeMini\Crypt微信小程序数据加密处理微信小程序\We::WeMiniCrypt()
Plugs.phpWeMini\Plugs微信小程序插件管理微信小程序\We::WeMiniPlugs()
Poi.phpWeMini\Poi微信小程序地址管理微信小程序\We::WeMiniPoi()
Qrcode.phpWeMini\Qrcode微信小程序二维码管理微信小程序\We::WeMiniCrypt()
Template.phpWeMini\Template微信小程序模板消息支持微信小程序\We::WeMiniTemplate()
Total.phpWeMini\Total微信小程序数据接口微信小程序\We::WeMiniTotal()

安装使用

1.1 通过 Composer 来管理安装

# 首次安装 线上版本(稳定)composer require zoujingli/wechat-developer
# 首次安装 开发版本(开发)composer require zoujingli/wechat-developer dev-master
# 更新 WeChatDevelopercomposer update zoujingli/wechat-developer

1.2 如果不使用 Composer, 可以下载 WeChatDeveloper 并解压到项目中

# 在项目中加载初始化文件include "您的目录/WeChatDeveloper/include.php";

2.1 接口实例所需参数

// =====================================================// 配置缓存处理函数 ( 适配其他环境 )
// -----------------------------------------------------// 数据缓存 (set|get|del) 操作可以将缓存写到任意位置或Redis
// 文件缓存 (put) 只能写在本地服务器,还需要返回可读的文件路径
// 未配置自定义缓存处理机制时,默认在 cache_path 写入文件缓存// 
// =====================================================
// \WeChat\Contracts\Tools::$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;
    }
  • 更多功能请阅读测试代码或SDK封装源码

支付宝支付

  • 支付参数配置(可用沙箱模式)

$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'   => '',
];
  • 支付宝发起PC网站支付

// 参考公共参数   
$config['notify_url'] = 'http://pay.thinkadmin.top/test/alipay-notify.php';
$config['return_url'] = '     
        try {
        // 实例支付对象
        $pay = We::AliPayWeb($config);
        // $pay = new \AliPay\Web($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();
    
        }
  • 支付宝发起手机网站支付

// 参考公共参数   
$config['notify_url'] = 'http://pay.thinkadmin.top/test/alipay-notify.php';
$config['return_url'] = ' 
try {    
// 实例支付对象
    $pay = We::AliPayWap($config);    
    // $pay = new \AliPay\Wap($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();

}
  • 更多功能请阅读测试代码或SDK封装源码

版权说明

WeChatDeveloper 遵循 MIT 开源协议发布,并免费提供使用。

本项目包含的第三方源码和二进制文件的版权信息将另行标注,请在对应文件查看。

WeChatDeveloper-master.zip


WeChatDeveloper微信开发工具包 v1.2.66大小:181KB | 来源:百度网盘 | 提取码:svq8
已经过安全软件检测无毒,请您放心下载。


声明:本站所有内容均为自动采集而来,如有侵权,请联系删除

扫描二维码推送至手机访问。

版权声明:本文由梦想博客发布,如需转载请注明出处。

本文链接:http://mxphp.com/show/6717096c8372e.html

分享给朋友:

“WeChatDeveloper微信开发工具包 v1.2.66” 的相关文章

macOS开源终端神器iTerm2——原生集成ChatGPT、让AI帮你写命令

macOS开源终端神器iTerm2——原生集成ChatGPT、让AI帮你写命令

iTerm2 是 macOS 上最流行的开源终端工具之一,它源自并基本上取代了早期的 “iTerm” 应用程序。其自我介绍称:“iTerm2 是 Mac 默认终端的替代品,也是目前 Mac 系统下最好用的终端工具,集颜值和效率于一身。”iTerm2 支持操作系统功能,如窗口透明度、全屏模式、分割窗格...

开源的SSL证书管理工具,实现自动申请部署和自动续期

开源的SSL证书管理工具,实现自动申请部署和自动续期

Certimate是一个开源的 SSL 证书管理工具,具有以下特点:支持私有部署:部署方法简单,只需下载二进制文件并执行即可完成安装。数据安全:由于是私有部署,所有数据均存储在本地,不会保存在服务商的服务器上,确保数据的安全性。操作方便:通过简单的配置即可轻松申请 SSL 证书,并且在证书即将过期时...

Docker-OSX!一键部署黑苹果,让享受原生级体验!

Docker-OSX!一键部署黑苹果,让享受原生级体验!

买不起苹果电脑?来试试这个开源黑苹果,让你享受原生级 macOS 体验!做为一名IT程序员,可能你的开发电脑中会有 Windows 和 Linux 环境,但如果有些程序想在 MacOS 中测试,花大成本去购买一台苹果电脑可能不太值当,去折腾黑苹果又比较繁琐。今天,给大家推荐一个功能非常强大的工具:D...

80.4K Star超强!3万多个公开公共可用IPTV频道

80.4K Star超强!3万多个公开公共可用IPTV频道

85.3K Star!3万多个公开公共可用IPTV频道,多领域、多平台、多语种 可根据兴趣和地理位置,享受个性化电视直播体验,解决你的电视荒! 1️⃣ 项目名称:iptv-org/iptv 2️⃣ 社区热度:For...

GitHub 星标 3.7K,一款高颜值、功能强大的终端网络分析工具

GitHub 星标 3.7K,一款高颜值、功能强大的终端网络分析工具

今天给大家推荐一款工具:GitHub 星标 3.7K,一款高颜值、功能强大的终端网络分析工具!简介Trippy 也是一款融合了traceroute和ping功能的网络调试工具,使用Rust编写。它支持ICMP、UDP和TCP协议,以及IPv4和IPv6网络,提供了高度可定制的追踪选项、实时的网络统计...