wechat_official_account.md 7.2 KB

微信公众号渠道配置

概述

微信公众号是微信生态中的重要营销工具,支持图文消息、自定义菜单、消息推送等功能。本文档描述了微信公众号渠道的完整配置流程。

基本信息

  • 渠道标识: wechat_official_account
  • 渠道名称: 微信公众号
  • 渠道类型: 公众号
  • 所属分组: 微信生态 (wechat)

配置要素

1. 基本配置

// 渠道基本信息
'channel' => 'wechat_official_account',
'name' => '微信公众号',
'status' => true, // 开启/关闭
'description' => '微信公众号平台接入'

2. 微信平台配置

必填参数

  • AppId: 公众号应用ID
  • AppSecret: 公众号应用密钥
  • Token: 消息推送Token
  • EncodingAESKey: 消息加解密密钥(可选)

配置示例

'wechat_config' => [
    'appid' => 'wxf8b4f85f3a794e54',
    'secret' => 'b1d6e8f9a4c2d3e5f7g8h9i0j1k2l3m4',
    'token' => 'your_token_here',
    'aes_key' => 'your_aes_key_here', // 消息加解密Key(可选)
]

获取方式

  1. 登录微信公众平台 (mp.weixin.qq.com)
  2. 选择公众号类型
  3. 在「开发」-「基本配置」中获取
  4. 在「开发」-「基本配置」中设置服务器配置

3. 支付配置

微信公众号支持以下支付方式:

3.1 微信支付 ✅ (推荐)

  • 状态: 开启
  • 优先级: 1
  • 配置要求:
    • 需要开通微信支付商户号
    • 配置支付授权目录
    • 设置支付证书
'payment_config' => [
    'wechat' => [
        'enabled' => true,
        'mch_id' => '商户号',
        'key' => '商户密钥',
        'cert_path' => '证书路径',
        'key_path' => '密钥路径',
        'notify_url' => '支付回调地址'
    ]
]

3.2 余额支付 ✅

  • 状态: 开启
  • 优先级: 2
  • 说明: 用户使用账户余额进行支付
'payment_config' => [
    'balance' => [
        'enabled' => true,
        'min_amount' => 0.01, // 最小支付金额
        'max_amount' => 50000, // 最大支付金额
    ]
]

3.3 不支持的支付方式 ❌

  • 支付宝支付
  • 线下支付
  • 货到付款

4. 登录配置

4.1 自动登录

  • 状态: 开启/关闭
  • 说明: 进入应用后,用户将会自动授权登录,未注册用户将会自动注册
'login_config' => [
    'auto_login' => true,
    'auto_register' => true,
    'scope' => 'snsapi_userinfo', // 授权作用域
]

4.2 绑定手机号

  • 状态: 开启/关闭
  • 说明: 授权登录后,未绑定手机号的用户,将会立即提醒绑定手机号
'login_config' => [
    'force_mobile' => true,
    'mobile_verify' => true, // 手机号验证
]

5. 功能特性

功能 支持状态 说明
支付功能 支持微信支付、余额支付
分享功能 支持分享到微信好友、朋友圈
定位功能 支持获取用户地理位置
拍照功能 不支持调用摄像头拍照
推送功能 支持模板消息推送

配置流程

1. 微信公众平台配置

  1. 注册公众号

  2. 获取开发信息

    • 在「开发」-「基本配置」中获取AppID
    • 生成AppSecret
  3. 配置服务器

    • 在「开发」-「基本配置」中配置
    • 服务器地址:https://your-domain.com/api/wechat/serve
    • Token:自定义设置
    • 消息加解密方式:推荐选择安全模式
  4. 配置网页授权域名

    • 在「设置」-「公众号设置」-「功能设置」中配置
    • 网页授权域名:your-domain.com
  5. 配置JS接口安全域名

    • 在「设置」-「公众号设置」-「功能设置」中配置
    • JS接口安全域名:your-domain.com

2. 系统后台配置

  1. 基本信息配置

    渠道状态: 开启
    渠道名称: 微信公众号
    渠道描述: 微信公众号平台
    
  2. 平台参数配置

    AppId: wxf8b4f85f3a794e54
    AppSecret: b1d6e8f9a4c2d3e5f7g8h9i0j1k2l3m4
    Token: your_token_here
    
  3. 支付方式配置

    微信支付: 开启
    余额支付: 开启
    支付宝支付: 关闭
    货到付款: 关闭
    
  4. 登录方式配置

    自动登录: 开启
    绑定手机号: 开启
    

3. 开发配置

  1. 网页授权登录 ``javascript // 获取授权链接 const authUrl =https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appId}&redirect_uri=${encodeURIComponent(redirectUri)}&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect`;

// 跳转授权 window.location.href = authUrl;


2. **JSSDK配置**
   ```javascript
   // 配置JSSDK
   wx.config({
     debug: false,
     appId: 'wxf8b4f85f3a794e54',
     timestamp: timestamp,
     nonceStr: nonceStr,
     signature: signature,
     jsApiList: ['chooseWXPay', 'getLocation', 'chooseImage']
   });
  1. 支付调用

    // 微信支付
    wx.chooseWXPay({
     timestamp: timestamp,
     nonceStr: nonceStr,
     package: package,
     signType: 'MD5',
     paySign: paySign,
     success: function(res) {
       // 支付成功
     }
    });
    

    测试验证

    1. 开发者工具测试

    • 使用微信开发者工具
    • 测试网页授权流程
    • 测试JSSDK功能

    2. 真机测试

    • 在微信中打开测试页面
    • 测试完整业务流程
    • 验证支付功能

    3. 接口测试

    # 测试登录接口
    curl -X POST "https://your-domain.com/api/login" \
    -H "Content-Type: application/json" \
    -d '{"code":"微信授权code","channel":"wechat_official_account"}'
    
    # 测试支付接口
    curl -X POST "https://your-domain.com/api/payment/create" \
    -H "Content-Type: application/json" \
    -d '{"amount":100,"channel":"wechat_official_account","payment_type":"wechat"}'
    

注意事项

  1. 域名配置

    • 必须使用HTTPS协议
    • 域名需要备案
    • 需要在微信公众平台配置相关域名
  2. 支付配置

    • 需要开通微信支付
    • 配置支付授权目录
    • 测试环境和生产环境分别配置
  3. 用户授权

    • 网页授权需要用户同意
    • 不同作用域获取的用户信息不同
    • 需要做好授权失败的处理
  4. 服务器配置

    • 需要正确响应微信服务器的验证请求
    • 需要处理微信推送的各种消息和事件

常见问题

Q1: Token验证失败怎么办?

A: 检查Token配置是否正确,确保服务器能正确响应微信的验证请求。

Q2: 网页授权失败怎么办?

A: 检查网页授权域名配置,确保域名已正确配置且使用HTTPS。

Q3: 支付功能如何测试?

A: 需要在真机微信中测试,确保支付授权目录配置正确。

Q4: 如何处理用户取消授权?

A: 需要引导用户重新授权,或提供其他登录方式。

相关链接