当前位置:首页 > CMS教程 > 正文

WordPress微信支付接入教程

在WordPress中添加微信支付,通常需安装支付插件(如WooCommerce+官方扩展),在微信商户平台申请支付权限并获取商户号和API密钥,最后在插件后台配置这些信息即可启用微信支付按钮。

WordPress添加微信支付详细教程

在WordPress网站中集成微信支付,可大幅提升国内用户的支付体验,以下是经过验证的4种主流方法,涵盖插件方案与代码集成方案,兼顾安全性与易用性。


插件方案(推荐新手)

推荐插件

  1. WooCommerce + 官方微信支付插件

    • 适用场景:电商网站(需安装WooCommerce)
    • 操作步骤:
      • 安装插件:后台 → 插件 → 搜索 “WeChat Pay for WooCommerce” → 安装激活
      • 配置密钥:
        • 登录微信支付商户平台
        • 获取 商户号(MCHID)API密钥(API KEY)APPID(需已认证服务号)
      • 填写信息:
        WooCommerce → 设置 → 支付 → WeChat Pay → 输入商户号、API密钥、APPID
      • 开启沙盒测试:
        启用”Test Mode”用1分钱订单验证支付流程

    优势:官方支持,自动处理回调通知,符合PCI安全标准

  2. 通用支付插件:WPWeChat

    • 适用场景:内容付费、会员订阅
    • 配置流程:
      • 安装插件后,进入 WPWeChat → 支付设置
      • 上传 微信支付证书(商户平台下载的apiclient_cert.pem和apiclient_key.pem)
      • 设置支付成功回调URL:yoursite.com/wc-api/wc_wechat/

代码集成方案(开发者适用)

前提条件

WordPress微信支付接入教程  第1张

  • 已备案域名 + SSL证书(微信支付强制HTTPS)
  • 服务器IP加入微信白名单

步骤

  1. 接入微信JSAPI支付

    // 在主题functions.php中添加
    add_action('wp_ajax_wechat_pay', 'generate_wechat_payment');
    function generate_wechat_payment() {
      require_once('wechat-sdk/WxPay.Api.php'); // 引入官方SDK
      $input = new WxPayUnifiedOrder();
      $input->SetBody("订单描述");
      $input->SetOut_trade_no("ORDER123456");
      $input->SetTotal_fee("100"); // 单位:分
      $input->SetNotify_url("https://yoursite.com/notify");
      $input->SetTrade_type("JSAPI");
      $input->SetOpenid($user_openid); // 通过微信授权获取
      $order = WxPayApi::unifiedOrder($input);
      echo json_encode($order); // 返回前端调起支付参数
    }
  2. 前端调起支付

    jQuery.ajax({
      url: '/wp-admin/admin-ajax.php?action=wechat_pay',
      success: function(res) {
        WeixinJSBridge.invoke('getBrandWCPayRequest', {
          "appId": res.appId,
          "timeStamp": res.timeStamp,
          "nonceStr": res.nonceStr,
          "package": "prepay_id=" + res.prepay_id,
          "signType": "MD5",
          "paySign": res.sign
        }, function(result) {
          if (result.err_msg == "get_brand_wcpay_request:ok") {
            alert("支付成功!");
          }
        });
      }
    });

常见问题解决

  • Q:支付后订单状态未更新?
    → 检查服务器能否接收微信回调(需公网IP),在商户平台 → 开发配置 → 设置通知URL

  • Q:提示”当前页面的URL未注册”?
    → 登录微信公众平台 → 设置 → 公众号设置 → 功能设置 → 添加JSAPI支付域名

  • Q:跨域支付失败?
    → 使用Nginx反向代理:

    location /wechat-notify {
      proxy_pass https://your-payment-server;
      proxy_set_header Host $host;
    }

安全注意事项

  1. 敏感信息保护

    • API密钥和证书勿提交到Git仓库
    • 使用.htaccess限制证书目录访问:
      <Files ~ ".pem$">
         Order allow,deny
         Deny from all
      </Files>
  2. 定期更新机制

    微信支付证书有效期1年,需在商户平台 → 账户中心 → API安全 → 定期更新

  3. 订单校验

    • 支付回调后必须验证签名:
      $result = WxPayResults::Init($xml);
      if($result['return_code'] == 'SUCCESS' && $result['result_code'] == 'SUCCESS'){
        // 校验签名和金额
      }

替代方案推荐

  • 第三方聚合支付(适合无服务号场景)
    • PingPong支付:支持境外商户,费率0.4%
    • Stripe+微信支付:通过Stripe插件激活,需企业资质

最佳实践建议

  • 日订单<100单:用WooCommerce官方插件
  • 高并发业务:使用微信官方SDK+Redis缓存订单
  • 虚拟商品:需额外申请《增值电信业务许可证》

引用说明

  • 微信支付开发文档:pay.weixin.qq.com/wiki/doc/api
  • WooCommerce微信支付插件:wordpress.org/plugins/wechat-pay-for-woocommerce
  • 微信JS-SDK说明:developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html

操作前务必备份网站数据,首次接入建议使用微信沙盒环境测试,遇到技术难题可查阅微信支付社区工单系统或联系微信支付服务商。

0