xpay第三方支付平台微信接口接入教程,实现微信支付功能
网站准备接入微信支付时,最容易被忽略的是支付完成后的订单处理。用户能够打开支付页面,只说明前面的请求已经跑通,网站还需要确认支付结果,并把对应订单更新到正确状态。使用xpay第三方支付平台接入微信支付,可以按参数准备、创建订单、打开支付页面、接收通知、核对状态的顺序完成。WordPress网站搭配WooCommerce,还可以通过适配xpay的插件完成配置,减少自行编写接口代码的工作。
网站准备接入微信支付时,最容易被忽略的是支付完成后的订单处理。用户能够打开支付页面,只说明前面的请求已经跑通,网站还需要确认支付结果,并把对应订单更新到正确状态。使用xpay第三方支付平台接入微信支付,可以按参数准备、创建订单、打开支付页面、接收通知、核对状态的顺序完成。WordPress网站搭配WooCommerce,还可以通过适配xpay的插件完成配置,减少自行编写接口代码的工作。

一、先看清xpay微信支付接入的关键流程
整个接入过程可以概括为:准备应用凭据 → 确认微信支付能力 → 配置接口或插件 → 发起支付 → 验证回调 → 更新订单。
对于自行开发的网站,需要由服务端处理请求签名、订单创建和支付结果通知。对于WordPress网站,可以安装并启用适配xpay的WooCommerce支付插件;采用OnRamp业务流程的站点,则选择对应的WooCommerce OnRamp插件。两种插件需要匹配实际开通的业务与支付方式,配置前先确认这一点,后面的参数填写才有意义。
本文接口部分以微信直连的Native扫码和H5支付为例。Native适合电脑端展示二维码,H5适合手机浏览器支付;这条接入路径不包含JSAPI、小程序和APP支付,选型时应先对照网站的使用场景。
二、准备应用参数,分清两套凭据
开始配置前,准备好xpay AppID、AppSecret,以及已经审核并启用的微信支付API v3凭据。这里有个细节需要特别留意:请求中的appId填写xpay应用标识,不能直接填成微信AppID,两套凭据承担的作用不同。
网站应启用HTTPS,并准备可被外部访问的支付通知地址。微信直连下单时,主要关注以下字段:
| 参数 | 填写要点 |
|---|---|
appId |
填写xpay应用AppID,注意字段大小写 |
merchantOrderNo |
网站生成的商户订单号,用于关联本地订单 |
payType |
微信直连填写WECHAT |
payMethod |
电脑扫码填写native,手机浏览器填写h5 |
amount |
人民币订单金额,最多两位小数 |
notifyUrl |
服务端接收支付结果的通知地址 |
redirectUrl |
支付后返回网站的页面地址,可选 |
credentialId |
微信凭据记录ID,可选;指定时须属于当前商户且可用 |
signature |
服务端使用xpay AppSecret计算的请求签名 |
AppSecret应保存在服务端或受保护的插件配置中,不要放入网页源码、前端脚本或公开的调试信息。

三、生成签名并创建微信支付订单
自行开发接入时,通过POST请求调用/v1/api/open/order/submit,提交对应订单参数。签名的基本步骤是:选取参与签名的字段,按参数名ASCII升序排列,拼接成key=value形式,再在末尾追加&appsecret=密钥,计算MD5并转为大写。signature本身不参与计算,参数名称、金额格式和实际提交的值应保持一致。
如果传入credentialId,该字段也需要参与签名;没有传入时,不要自行补入签名原文。同一订单号重试时,金额、支付方式以及首次明确指定的凭据ID应保持一致,避免重复请求与原订单信息冲突。
创建成功后,读取返回的payUrl并交给浏览器打开。Native模式返回二维码页面,H5模式返回微信支付地址。此时可以展示“等待支付”,但不能因为接口返回成功就把商品订单标记为已支付。
四、WordPress通过WooCommerce插件填写参数
WordPress网站已经启用WooCommerce时,可以使用适配xpay的WooCommerce支付插件,或根据业务需要启用WooCommerce OnRamp插件,直接在配置界面填写所需参数。操作可按下面的顺序进行:
- 安装并启用插件。 确认插件适配当前WordPress、WooCommerce版本,并支持准备使用的xpay业务。
- 进入支付配置。 通常在“WooCommerce → 设置 → 支付”中找到对应支付方式;具体入口以插件版本为准。
- 填写连接参数。 将xpay应用凭据、支付接口地址和回调配置逐项对应。插件提供自动生成的通知地址时,使用该地址;OnRamp插件还需完成其流程要求的相关配置。
- 保存并测试结账。 确认已开通的微信支付方式可以在结账流程中使用,再检查支付后的页面返回和订单更新。
普通商品订单可优先检查WooCommerce支付插件是否满足需求;使用OnRamp流程时,再配置WooCommerce OnRamp插件对应的业务参数。微信支付是否可用,还取决于账户开通情况、通道能力及插件版本支持,不能仅凭插件已启用来判断接入完成。
五、处理支付回调,让网站订单同步更新
notifyUrl和redirectUrl很容易混淆。前者接收服务端支付通知,后者负责把用户带回网站。用户支付后可能直接关闭页面,因此,订单支付状态应以验签通过的异步通知或服务端查单结果为依据。
微信直连通知以表单POST方式发送,支付成功通知中的状态为PAID。网站收到通知后,应验证签名,核对商户订单号、金额及关联信息,再更新订单。处理成功可以返回纯文本OK,让平台确认通知已被接收。
同一笔订单可能收到重复通知,处理逻辑需要确保订单只更新一次、业务只执行一次。使用WooCommerce插件时,也应通过测试确认这些环节正常,包括订单状态变化、库存处理,以及数字商品或会员权限是否按预期生效。

六、上线前,检查这几类容易卡住的问题
支付页面打不开怎么办? 先检查应用参数、微信凭据审核与启用状态,再核对payType和payMethod。出现签名错误时,重点查看字段大小写、排序、金额格式,以及参与签名的内容是否与请求一致。
用户已经支付,订单为什么仍在等待? 查看通知地址是否可达、安全插件或防火墙是否拦截请求,以及回调验签是否通过。必要时调用/v1/api/open/order/query核对状态;微信直连查单需提交payType=WECHAT,并将该字段参与签名。
插件保存参数后,还需要测试吗? 需要。建议完成一笔符合通道金额要求的测试订单,再检查取消支付、支付后关闭页面、重复通知等情况。电脑端扫码和手机浏览器支付也应分别验证,避免只测试一种访问方式。
xpay微信支付接口接入是否完成,最终要看用户支付与网站订单能否准确对应。自行开发的网站,把签名、回调和查单处理好;WordPress网站,则选好匹配业务的WooCommerce插件,填写参数并跑通完整订单。上线前把这些关键节点逐一核对,后续维护时就能沿着订单号追踪问题,微信支付功能也更容易保持稳定。