💳 微信支付接口文档
快速接入微信支付,支持PC扫码支付和H5支付,Token机制简化回调流程
支付概述
wxlogin平台为开发者提供简单易用的微信支付接口服务。通过我们的平台,您可以无需经过复杂的微信官方认证流程,快速为您的应用接入微信支付功能。
v2.0.0 更新说明(Token机制):
• 支付成功后自动生成64位随机token,简化回调流程
• 回调地址只接收token参数,无需解密复杂的JWT数据
• 开发者通过token查询接口获取完整订单信息和支付状态
• PC端扫码跳转H5支付页面,H5端直接调起微信支付
• 支持 mode 参数指定支付模式
• 支付成功后自动生成64位随机token,简化回调流程
• 回调地址只接收token参数,无需解密复杂的JWT数据
• 开发者通过token查询接口获取完整订单信息和支付状态
• PC端扫码跳转H5支付页面,H5端直接调起微信支付
• 支持 mode 参数指定支付模式
支付模式说明
| 模式 | 触发条件 | 展示方式 |
|---|---|---|
| PC模式 | mode=pc 或 PC浏览器访问 | 显示二维码 + 轮询查询状态 |
| H5模式 | mode=h5 或 移动端/微信访问 | 显示支付按钮,调起JSAPI |
| H5扫码模式 | PC二维码被扫码访问 | 自动调起JSAPI支付 |
支付流程
1
生成订单数据
2
JWT加密
3
跳转支付页面
4
用户完成支付
5
系统生成token
6
回调返回token
7
用token查询订单
Token机制说明:
• 用户支付成功后,系统自动生成64位随机token并存入订单
• 回调跳转时URL只携带token参数,格式:
• 开发者在回调页面获取token后,调用查询接口获取订单详情
• 无需JWT解密,流程更简单安全
• 用户支付成功后,系统自动生成64位随机token并存入订单
• 回调跳转时URL只携带token参数,格式:
https://yourdomain.com/callback?token=xxx• 开发者在回调页面获取token后,调用查询接口获取订单详情
• 无需JWT解密,流程更简单安全
发起支付请求
将用户引导至以下URL进行微信支付:
请求URL
// 支付页面入口 https://wxlogin.com/pay?appid={您的AppID}&data={JWT加密的订单数据}&mode={支付模式}
请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| appid | string | 必填 | 您在平台创建应用时获得的AppID |
| data | string | 必填 | JWT加密的订单数据 |
| mode | string | 可选 | 支付模式:pc/h5,不传则自动判断 |
订单数据格式(JWT加密前)
JSON
{
"out_order_no": "商户订单号",
"amount": 100.00,
"product_name": "商品名称",
"product_img": "商品图片URL",
"product_desc": "商品描述",
"return_url": "支付成功后跳转URL",
"time": 1234567890,
"expire": 1234567990
}
订单数据参数说明
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| out_order_no | string | 可选 | 商户订单号,用于对账 |
| amount | float | 必填 | 支付金额,单位:元 |
| product_name | string | 必填 | 商品名称 |
| product_img | string | 可选 | 商品图片URL |
| product_desc | string | 可选 | 商品描述 |
| return_url | string | 可选 | 支付成功后跳转URL |
| time | int | 可选 | 请求时间戳 |
| expire | int | 可选 | 过期时间戳 |
支付成功回调
用户支付成功后,系统会自动跳转到您在后台配置的回调地址(pay_notify_url),URL中只携带token参数:
回调URL示例
// 支付成功后跳转到您配置的回调地址 https://yourdomain.com/pay_callback.php?token={64位随机token} // 开发者在回调页面获取token $token = $_GET['token']; // 通过token调用查询接口获取订单信息 $result = file_get_contents('https://wxlogin.com/pay/query?token=' . $token); $orderInfo = json_decode($result, true); if ($orderInfo['code'] == 200 && $orderInfo['data']['status'] == 1) { // 支付成功,处理业务逻辑 $order_no = $orderInfo['data']['order_no']; $amount = $orderInfo['data']['amount']; // ... 您的业务逻辑 }
生成支付链接示例
PHP
// 订单数据 $orderData = [ 'out_order_no' => 'ORDER' . time(), 'amount' => 99.00, 'product_name' => 'VIP会员', 'product_desc' => '购买VIP会员1个月', 'return_url' => 'https://yourdomain.com/pay/success', 'time' => time(), 'expire' => time() + 900 // 15分钟后过期 ]; // JWT加密(使用您的AppSecret作为密钥) $data = JWT_encode($orderData, $appSecret); // 生成支付URL $payUrl = 'https://wxlogin.com/pay?appid=' . $appid . '&data=' . urlencode($data); // 跳转到支付页面 header('Location: ' . $payUrl);
通过Token查询订单状态
开发者获取token后,通过此接口查询订单详细信息和支付状态:
请求URL
GET https://wxlogin.com/pay/query?token={支付成功后返回的token}
查询接口参数说明
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| token | string | 必填 | 支付成功后系统生成的64位随机token |
响应示例
{
"code": 200,
"msg": "查询成功",
"data": {
"order_no": "PAY202604151057301234",
"out_order_no": "商户订单号",
"amount": 100.00,
"product_name": "VIP会员",
"product_desc": "购买VIP会员1个月",
"status": 1, // 0=待支付 1=已支付
"pay_time": "2026-04-15 10:58:00",
"transaction_id": "微信交易号"
}
}
注意事项:
• token在支付成功后才会生成,未支付的订单无法通过token查询
• token为64位随机字符串,具有唯一性,可安全用于URL传参
• 建议在回调页面获取token后立即调用查询接口确认订单状态
• token在支付成功后才会生成,未支付的订单无法通过token查询
• token为64位随机字符串,具有唯一性,可安全用于URL传参
• 建议在回调页面获取token后立即调用查询接口确认订单状态
错误码说明
| 错误码 | 说明 | 解决方案 |
|---|---|---|
| 10001 | AppID不存在 | 请检查AppID是否正确 |
| 10002 | 应用已禁用 | 请联系管理员处理 |
| 20001 | 数据解密失败 | 请检查AppSecret是否正确 |
| 30001 | 订单不存在 | 请检查token是否正确 |
| 30002 | 订单未支付 | 用户尚未完成支付 |
技术支持:
如遇到其他问题,请访问我们的网站获取帮助。
如遇到其他问题,请访问我们的网站获取帮助。