
URL地址:文档仅供参考,实际以商户后台接口地址为准
请求数据格式:application/x-www-form-urlencoded
返回数据格式:JSON
签名算法:MD5
字符编码:UTF-8
此接口可用于用户前台直接发起支付,使用form表单跳转或拼接成url跳转。
URL地址:https://a1026a.lemzf.com/submit.php
请求方式:POST 或 GET(推荐POST,不容易被劫持或屏蔽)
请求参数说明:
| 字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 商户ID | pid | 是 | Int | 1001 | |
| 支付方式 | type | 否 | String | alipay | 支付方式列表 |
| 商户订单号 | out_trade_no | 是 | String | 20230806151343349 | |
| 异步通知地址 | notify_url | 是 | String | http://www.pay.com/notify_url.php | 服务器异步通知地址 |
| 退款通知地址 | refund_url | 否 | String | https://merchant.example/refund_notify | 可选,留空不通知。 传入时参与签名。 退款通知说明 |
| 跳转通知地址 | return_url | 是 | String | http://www.pay.com/return_url.php | 页面跳转通知地址 |
| 商品名称 | name | 是 | String | VIP会员 | 如超过127个字节会自动截取 |
| 商品金额 | money | 是 | String | 1.00 | 单位:元,最大2位小数 |
| 业务扩展参数 | param | 否 | String | 没有请留空 | 支付后原样返回 |
| 签名字符串 | sign | 是 | String | 202cb962ac59075b964b07152d234b70 | 签名算法点此查看 |
| 签名类型 | sign_type | 是 | String | MD5 | 默认为MD5 |
支付方式(type)不传会跳转到收银台支付
此接口可用于服务器后端发起支付请求,会返回支付二维码链接或支付跳转url。
URL地址:https://a1026a.lemzf.com/mapi.php
请求方式:POST
请求参数说明:
| 字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 商户ID | pid | 是 | Int | 1001 | |
| 支付方式 | type | 是 | String | alipay | 支付方式列表 如需收银台,传: cashier |
| 商户订单号 | out_trade_no | 是 | String | 20230806151343349 | |
| 异步通知地址 | notify_url | 是 | String | http://www.pay.com/notify_url.php | 服务器异步通知地址 |
| 退款通知地址 | refund_url | 否 | String | https://merchant.example/refund_notify | 可选,留空不通知。 传入时参与签名。 退款通知说明 |
| 跳转通知地址 | return_url | 否 | String | http://www.pay.com/return_url.php | 页面跳转通知地址 |
| 商品名称 | name | 是 | String | VIP会员 | 如超过127个字节会自动截取 |
| 商品金额 | money | 是 | String | 1.00 | 单位:元,最大2位小数 |
| 用户IP地址 | clientip | 是 | String | 192.168.1.100 | 用户发起支付的IP地址 |
| 设备类型 | device | 否 | String | pc 建议按实际传入,适配最佳体验 | 根据当前用户浏览器的UA判断, 传入用户所使用的浏览器 或设备类型,默认为pc 设备类型列表 |
| 获取原始链接 | rawurl | 否 | Int | 1 | 默认0,返回兼容性好的收款链接payurl 传1时,将返回二维码链接qrcode |
| 业务扩展参数 | param | 否 | String | 没有请留空 | 支付后原样返回 |
| 签名字符串 | sign | 是 | String | 202cb962ac59075b964b07152d234b70 | 签名算法点此查看 |
| 签名类型 | sign_type | 是 | String | MD5 | 默认为MD5 |
返回结果(json):
| 字段名 | 变量名 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|
| 返回状态码 | code | Int | 1 | 1为成功,其它值为失败 |
| 返回信息 | msg | String | 失败时返回原因 | |
| 订单号 | trade_no | String | 20230806151343349 | 支付订单号 |
| 支付跳转url | payurl | String | https://a1026a.lemzf.com/pay/wxpay/202010903/ | 如果返回该字段,则直接跳转到该url支付 |
| 二维码链接 | qrcode | String | weixin://wxpay/bizpayurl?pr=04IPMKM | 如果返回该字段,则根据该url生成二维码 |
| 小程序跳转url | urlscheme | String | weixin://dl/business/?ticket=xxx | 如果返回该字段,则使用js跳转该url,可发起微信小程序支付 |
注:payurl、qrcode、urlscheme 不一定都返回,建议都适配
通知类型:服务器异步通知(notify_url)、页面跳转通知(return_url)
请求方式:GET
请求参数说明:
| 字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 商户ID | pid | 是 | Int | 1001 | |
| 易支付订单号 | trade_no | 是 | String | 20230806151343349021 | 柠檬支付订单号 |
| 商户订单号 | out_trade_no | 是 | String | 20230806151343349 | 商户系统内部的订单号 |
| 支付方式 | type | 是 | String | alipay | 支付方式列表 |
| 商品名称 | name | 是 | String | VIP会员 | |
| 商品金额 | money | 是 | String | 1.00 | |
| 支付状态 | trade_status | 是 | String | TRADE_SUCCESS | 只有TRADE_SUCCESS是成功 |
| 业务扩展参数 | param | 否 | String | ||
| 签名字符串 | sign | 是 | String | 202cb962ac59075b964b07152d234b70 | 签名算法点此查看 |
| 签名类型 | sign_type | 是 | String | MD5 | 默认为MD5 |
收到异步通知后,需返回success以表示服务器接收到了订单通知
submit.php、mapi.php 均支持可选参数 refund_url。下单时传入,留空不通知。
平台完成退款登记后立即加入异步队列发送通知,定时任务每分钟补发到期任务。适用于 API、自助、后台和机器人退款。
请求方式:GET。字符编码:UTF-8。
refund_url 使用公网 HTTP/HTTPS 地址,最长2048字节。固定查询参数用于路由,验签时取下表中的通知字段。
请求参数说明:
| 字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 商户ID | pid | 是 | Int | 1001 | 原订单所属商户 |
| 易支付订单号 | trade_no | 是 | String | 20230806151343349021 | 原支付订单号 |
| 商户订单号 | out_trade_no | 是 | String | 20230806151343349 | 下单时传入的商户订单号 |
| 平台退款单号 | refund_no | 是 | String | RF202610250001 | 同一次退款的唯一标识,重试和补发保持不变 |
| 支付方式 | type | 是 | String | alipay | 原订单实际支付方式 |
| 商品名称 | name | 是 | String | VIP会员 | 与支付通知的商品名称口径一致 |
| 原订单金额 | money | 是 | String | 100.00 | 原商品金额,单位元,固定两位小数 |
| 本次退款金额 | refund_money | 是 | String | 30.00 | 本次退款金额,单位元,固定两位小数 |
| 退款状态 | refund_status | 是 | String | REFUND_SUCCESS | 平台已登记退款 |
| 退款原因 | refund_reason | 是 | String | 用户取消订单 | 本次退款保存的原因,UTF-8 纯文本;未填写时回传“未提供退款原因” |
| 业务扩展参数 | param | 否 | String | 原订单非空扩展参数原样返回 | |
| 签名字符串 | sign | 是 | String | [SIGN] | 32位小写MD5;示例为占位符。签名算法 |
| 签名类型 | sign_type | 是 | String | MD5 | 与支付通知一致 |
签名算法与支付通知一致。退款原因、金额、单号和状态均参与签名;验签时保留原始文本和金额格式。
验签并核对订单后,按 refund_no 去重处理。处理成功返回 HTTP 200 和纯文本 success;重复通知也返回 success。
通知失败后最多重试9次,间隔为1分钟、3分钟、10分钟、30分钟、1小时、2小时、4小时、8小时、24小时。自动重试期为48小时;订单列表提供“补发退款通知”。
money 为原订单金额,refund_money 为本次退款金额。重试和补发沿用原退款单号、金额及原因。支付通知和退款通知可能乱序到达,请保留已退款状态。
1、按参数名ASCII码从小到大排序。排除 sign、sign_type 和空值;字符串 "0" 参与签名。
2、将排序后的参数拼接成URL键值对的格式,例如 a=b&c=d&e=f,参数值不要进行url编码。
3、再将拼接好的字符串与商户密钥KEY进行MD5加密得出sign签名参数,sign = md5 ( a=b&c=d&e=f + KEY ) (+ 表示字符串拼接),MD5结果为小写。
4、具体签名与发起支付的示例代码可下载SDK查看。
| 调用值 | 描述 |
|---|---|
| alipay | 支付宝 |
| wxpay | 微信支付 |
| usdt | USDT |
| 调用值 | 描述 |
|---|---|
| pc | 电脑浏览器 |
| mobile | 手机浏览器 |
| 手机QQ内浏览器 | |
| 微信内浏览器 | |
| alipay | 支付宝客户端 |
以下商户查询、结算记录及退款API均必须携带 time,格式为10位Unix秒时间戳。
有效期:与服务器时间相差不超过3600秒(前后1小时,含边界)。time格式错误或超出范围返回 code=-4。
签名:先生成当前time,再与其他非空参数一起计算sign;更换time后必须重新签名。退款的time放在POST表单中,act仍通过URL传入,签名字段沿用原有POST参数。
时区:时间展示以新加坡 Asia/Singapore(UTC+8) 为准。Unix时间戳本身不分时区,请勿额外加8小时。例:1792886400 对应新加坡时间 2026-10-25 08:00:00。
生成方式:PHP:$time = time();
JavaScript:Math.floor(Date.now() / 1000)
URL地址:https://a1026a.lemzf.com/api.php?act=query&pid={商户ID}&time={10位Unix秒时间戳}&sign={32位签名字符串}
请求参数说明:
| 字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 操作类型 | act | 是 | String | query | 此API固定值 |
| 商户ID | pid | 是 | Int | 1001 | |
| 请求时间 | time | 是 | Int | 1792886400 | 10位Unix秒时间戳,参与签名。 时间与签名规则 |
| 签名字符串 | sign | 是 | String | 202cb962ac59075b964b07152d234b70 | 签名算法点此查看 |
| 签名类型 | sign_type | 否 | String | MD5 | 默认为MD5 |
返回结果:
| 字段名 | 变量名 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|
| 返回状态码 | code | Int | 1 | 1为成功,其它值为失败 |
| 商户ID | pid | Int | 1001 | 商户ID |
| 商户密钥 | key | String(32) | 89unJUB8HZ54Hj7x4nUj56HN4nUzUJ8i | 商户密钥 |
| 商户状态 | active | Int | 1 | 1为正常,0为封禁 |
| 商户余额 | money | String | 0.00 | 商户所拥有的余额 |
| 结算方式 | type | Int | 1 | 1:支付宝,2:微信,3:QQ,4:银行卡 |
| 结算地址 | account | String | [email protected] | 结算的支付宝账号 |
| 结算姓名 | username | String | 张三 | 结算的支付宝姓名 |
| 订单总数 | orders | Int | 30 | 订单总数统计 |
| 今日订单 | order_today | Int | 15 | 今日订单数量 |
| 昨日订单 | order_lastday | Int | 15 | 昨日订单数量 |
| 今日流水 | amount_today | Float | 3510.12 | 今日流水(扣除手续费后) |
| 昨日流水 | amount_yesterday | Float | 4233.42 | 昨日流水(扣除手续费后) |
URL地址:https://a1026a.lemzf.com/api.php?act=settle&pid={商户ID}&time={10位Unix秒时间戳}&sign={32位签名字符串}
请求参数说明:
| 字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 操作类型 | act | 是 | String | settle | 此API固定值 |
| 商户ID | pid | 是 | Int | 1001 | |
| 请求时间 | time | 是 | Int | 1792886400 | 10位Unix秒时间戳,参与签名。 时间与签名规则 |
| 签名字符串 | sign | 是 | String | 202cb962ac59075b964b07152d234b70 | 签名算法点此查看 |
| 签名类型 | sign_type | 否 | String | MD5 | 默认为MD5 |
返回结果:
| 字段名 | 变量名 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|
| 返回状态码 | code | Int | 1 | 1为成功,其它值为失败 |
| 返回信息 | msg | String | 查询结算记录成功! | |
| 结算记录 | data | Array | 结算记录列表 |
URL地址:https://a1026a.lemzf.com/api.php?act=order&pid={商户ID}&out_trade_no={商户订单号}&time={10位Unix秒时间戳}&sign={32位签名字符串}
请求参数说明:
| 字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 操作类型 | act | 是 | String | order | 此API固定值 |
| 商户ID | pid | 是 | Int | 1001 | |
| 系统订单号 | trade_no | 选择 | String | 20230806151343312 | |
| 商户订单号 | out_trade_no | 选择 | String | 20230806151343349 | |
| 请求时间 | time | 是 | Int | 1792886400 | 10位Unix秒时间戳,参与签名。 时间与签名规则 |
| 签名字符串 | sign | 是 | String | 202cb962a..7152d234b70 | 签名算法点此查看 |
| 签名类型 | sign_type | 否 | String | MD5 | 默认为MD5 |
提示:系统订单号 和 商户订单号 二选一传入即可,如果都传入以系统订单号为准!
返回结果:
| 字段名 | 变量名 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|
| 返回状态码 | code | Int | 1 | 1为成功,其它值为失败 |
| 返回信息 | msg | String | 查询订单号成功! | |
| 易支付订单号 | trade_no | String | 2023080622555342651 | 柠檬支付订单号 |
| 商户订单号 | out_trade_no | String | 20230806151343349 | 商户系统内部的订单号 |
| 第三方订单号 | api_trade_no | String | 20230806151343349 | 支付宝微信等接口方订单号 |
| 支付方式 | type | String | alipay | 支付方式列表 |
| 商户ID | pid | Int | 1001 | 发起支付的商户ID |
| 创建订单时间 | addtime | String | 2023-08-06 22:55:52 | |
| 完成交易时间 | endtime | String | 2023-08-06 22:55:52 | |
| 商品名称 | name | String | VIP会员 | |
| 商品金额 | money | String | 1.00 | |
| 支付状态 | status | Int | 0 | 1为支付成功,0为未支付 |
| 业务扩展参数 | param | String | 默认留空 | |
| 支付者账号 | buyer | String | 默认留空 |
URL地址:https://a1026a.lemzf.com/api.php?act=orders&pid={商户ID}&time={10位Unix秒时间戳}&sign={32位签名字符串}
请求参数说明:
| 字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 操作类型 | act | 是 | String | orders | 此API固定值 |
| 商户ID | pid | 是 | Int | 1001 | |
| 查询数量 | limit | 否 | Int | 20 | 返回的订单数量,最大50 |
| 起始位置 | offset | 否 | Int | 0 | 当前查询的起始位,最大2000 |
| 请求时间 | time | 是 | Int | 1792886400 | 10位Unix秒时间戳,参与签名。 时间与签名规则 |
| 签名字符串 | sign | 是 | String | 202cb962a..7152d234b70 | 签名算法点此查看 |
| 签名类型 | sign_type | 否 | String | MD5 | 默认为MD5 |
返回结果:
| 字段名 | 变量名 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|
| 返回状态码 | code | Int | 1 | 1为成功,其它值为失败 |
| 返回信息 | msg | String | 查询结算记录成功! | |
| 订单列表 | data | Array | 订单列表 |
需要先在商户后台开启订单退款API接口开关,才能调用该接口发起订单退款
URL地址:https://a1026a.lemzf.com/api.php?act=refund
请求方式:POST
请求参数说明:
| 字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 商户ID | pid | 是 | Int | 1001 | |
| 易支付订单号 | trade_no | 特殊可选 | String | 20230806151343349021 | 易支付订单号 |
| 商户订单号 | out_trade_no | 特殊可选 | String | 20230806151343349 | 订单支付时传入的商户订单号,商家自定义且保证商家系统中唯一 |
| 退款金额 | money | 是 | String | 1.50 | 少数通道需要与原订单金额一致 |
| 退款原因 | refund_reason | 否 | String | 用户取消订单 | 可选,传入时参与签名。 UTF-8文本,最多200个字符,随退款通知回传。 默认“未提供退款原因”。 |
| 请求时间 | time | 是 | Int | 1792886400 | 10位Unix秒时间戳,参与签名。 时间与签名规则 |
| 签名字符串 | sign | 是 | String | 202cb962a..7152d234b70 | 签名算法点此查看 |
| 签名类型 | sign_type | 否 | String | MD5 | 默认为MD5 |
注:trade_no、out_trade_no 不能同时为空,如果都传了以trade_no为准
返回结果:
| 字段名 | 变量名 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|
| 返回状态码 | code | Int | 1 | 1为成功,其它值为失败 |
| 返回信息 | msg | String | 退款成功 | |
| 退款金额 | money | String | 1.50 | 退款成功时返回本次退款金额,单位元 |
通用PHP-SDK.zip - 适合自研编写代码对接
其他PHP系统-SDK.zip - SSPanel多版本/WHMCS/Woocommerce
v2board机场: https://t.me/lempay_channel/880
dujiao独角发卡: https://github.com/assimon/dujiaoka/wiki
商户id 填: 给你的商户ID
商户key 填:https://{接口地址}/submit.php
商户密钥 填: 给你的密钥
支付场景 填: 通用