V免签 API 文档

个人开发者收款解决方案 - 完全兼容原V免签系统

接口概述

基础信息:
• 接口地址:您的域名根目录
• 请求方式:POST
• 数据格式:application/x-www-form-urlencoded
• 响应格式:JSON
• 字符编码:UTF-8
重要说明:
本系统完全兼容原V免签系统的API接口,可以无缝替换使用。所有接口参数、返回格式、签名算法均保持一致。

签名验证

为确保接口安全,部分接口需要进行签名验证。签名算法如下:

// 创建订单签名 $sign = md5($payId . $param . $type . $price . $key); // 关闭订单签名 $sign = md5($orderId . $key); // 监控端接口签名 $sign = md5($t . $key);

其中 $key 为系统通讯密钥,可在后台生成和查看。

创建订单

POST /createOrder
创建支付订单,返回支付信息

请求参数:

参数名 类型 必填 说明
payId string 商户订单号,唯一标识
type int 支付类型:1=微信,2=支付宝
price float 订单金额,单位:元
sign string 签名,md5(payId+param+type+price+key)
param string 自定义参数,回调时原样返回
notifyUrl string 异步通知地址
returnUrl string 同步跳转地址
isHtml int 是否返回HTML:1=返回跳转脚本,0=返回JSON

成功响应:

{ "code": 1, "msg": "成功", "data": { "payId": "商户订单号", "orderId": "系统订单号", "payType": 1, "price": "10.00", "reallyPrice": "10.01", "payUrl": "收款二维码链接", "isAuto": 1, "state": 0, "timeOut": "5", "date": 1234567890 } }

查询订单

POST /getOrder
根据系统订单号查询订单详情

请求参数:

参数名 类型 必填 说明
orderId string 系统订单号

成功响应:

{ "code": 1, "msg": "获取成功", "data": { "payId": "商户订单号", "orderId": "系统订单号", "payType": 1, "price": "10.00", "reallyPrice": "10.01", "payUrl": "收款二维码链接", "isAuto": 1, "state": 0, "timeOut": "5", "date": 1234567890, "wxpaymode": "1" } }

检查订单状态

POST /checkOrder
检查订单是否支付成功,成功时返回跳转URL

请求参数:

参数名 类型 必填 说明
orderId string 系统订单号

成功响应(已支付):

{ "code": 1, "msg": "成功", "data": "跳转URL(包含签名参数)" }

失败响应(未支付):

{ "code": -1, "msg": "订单未支付" }

关闭订单

POST /closeOrder
手动关闭待支付订单

请求参数:

参数名 类型 必填 说明
orderId string 系统订单号
sign string 签名,md5(orderId+key)

获取系统状态

POST /getState
获取监控端状态信息

请求参数:

参数名 类型 必填 说明
t int 时间戳
sign string 签名,md5(t+key)

成功响应:

{ "code": 1, "msg": "成功", "data": { "lastheart": "1234567890", "lastpay": "1234567890", "jkstate": "1" } }

监控端接口

以下接口仅供监控端APP使用,普通开发者无需关注。
POST /appHeart
监控端心跳接口
POST /appPush
监控端推送支付数据接口

状态码说明

状态码 说明
1 成功
-1 失败

订单状态说明

状态值 说明
0 待支付
1 已支付
-1 已过期
2 通知失败