乐檬统一接口

乐檬统一接口


统一下单接口

<h1>统一下单接口开发文档</h1> <h2>一、接口概述</h2> <p>统一下单接口用于服务器后端发起支付请求,可返回支付二维码链接、支付跳转 URL 等信息,支持多种支付方式和接口类型,满足不同场景下的支付需求。</p> <h2>二、接口详情</h2> <ol> <li><strong>请求地址</strong>:<code>https://pay.lmwa.cn/api/pay/create</code></li> <li><strong>请求方式</strong>:POST</li> </ol> <h2>三、请求参数说明</h2> <table> <thead> <tr> <th>字段名</th> <th>变量名</th> <th>必填</th> <th>类型</th> <th>示例值</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td>商户 ID</td> <td>pid</td> <td>是</td> <td>Int</td> <td>1001</td> <td>商户在支付平台的唯一标识</td> </tr> <tr> <td>接口类型</td> <td>method</td> <td>是</td> <td>String</td> <td>web</td> <td>指定支付接口类型,取值参考接口类型列表</td> </tr> <tr> <td>设备类型</td> <td>device</td> <td>否</td> <td>String</td> <td>pc</td> <td>仅通用网页支付时需传,取值参考设备类型列表,默认值为 pc</td> </tr> <tr> <td>支付方式</td> <td>type</td> <td>是</td> <td>String</td> <td>alipay</td> <td>指定支付使用的第三方平台,取值参考支付方式列表</td> </tr> <tr> <td>商户订单号</td> <td>out_trade_no</td> <td>是</td> <td>String</td> <td>20160806151343349</td> <td>商户系统内部的订单号,用于唯一标识一笔订单</td> </tr> <tr> <td>异步通知地址</td> <td>notify_url</td> <td>是</td> <td>String</td> <td><a href="http://www.pay.com/notify_url.php">http://www.pay.com/notify_url.php</a></td> <td>支付平台在支付完成后,主动向该地址发送异步通知,告知支付结果</td> </tr> <tr> <td>跳转通知地址</td> <td>return_url</td> <td>是</td> <td>String</td> <td><a href="http://www.pay.com/return_url.php">http://www.pay.com/return_url.php</a></td> <td>支付完成后,用户浏览器会跳转至此地址,并附带支付相关参数</td> </tr> <tr> <td>商品名称</td> <td>name</td> <td>是</td> <td>String</td> <td>VIP 会员</td> <td>商品或服务的名称,长度超过 127 个字节会自动截取</td> </tr> <tr> <td>商品金额</td> <td>money</td> <td>是</td> <td>String</td> <td>1.00</td> <td>商品或服务的价格,单位为元,最多保留 2 位小数</td> </tr> <tr> <td>用户 IP 地址</td> <td>clientip</td> <td>是</td> <td>String</td> <td>192.168.1.100</td> <td>用户发起支付请求时的 IP 地址</td> </tr> <tr> <td>业务扩展参数</td> <td>param</td> <td>否</td> <td>String</td> <td>没有请留空</td> <td>支付完成后,该参数会原样返回,可用于传递自定义信息</td> </tr> <tr> <td>被扫支付授权码</td> <td>auth_code</td> <td>否</td> <td>String</td> <td>-</td> <td>仅被扫支付场景需要传递,付款码支付时使用</td> </tr> <tr> <td>用户 Openid</td> <td>sub_openid</td> <td>否</td> <td>String</td> <td>-</td> <td>仅 JSAPI 支付场景需要传递,用于标识用户在公众号或小程序内的唯一身份</td> </tr> <tr> <td>公众号 AppId</td> <td>sub_appid</td> <td>否</td> <td>String</td> <td>-</td> <td>仅 JSAPI 支付场景需要传递,公众号或小程序的 AppId</td> </tr> <tr> <td>当前时间戳</td> <td>timestamp</td> <td>是</td> <td>String</td> <td>1721206072</td> <td>10 位整数,单位为秒,用于防止重复请求和签名计算</td> </tr> <tr> <td>签名字符串</td> <td>sign</td> <td>是</td> <td>String</td> <td>-</td> <td>用于验证请求的合法性,参考签名规则生成</td> </tr> <tr> <td>签名类型</td> <td>sign_type</td> <td>是</td> <td>String</td> <td>RSA</td> <td>签名算法类型,默认为 RSA</td> </tr> </tbody> </table> <h2>四、返回参数说明</h2> <table> <thead> <tr> <th>字段名</th> <th>变量名</th> <th>类型</th> <th>示例值</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td>返回状态码</td> <td>code</td> <td>Int</td> <td>0</td> <td>0 表示支付请求成功,其他值表示失败,可根据错误信息排查问题</td> </tr> <tr> <td>错误信息</td> <td>msg</td> <td>String</td> <td>-</td> <td>支付请求失败时,返回的具体错误原因</td> </tr> <tr> <td>平台订单号</td> <td>trade_no</td> <td>String</td> <td>20160806151343349</td> <td>支付平台为该笔订单生成的唯一标识,用于后续查询和对账</td> </tr> <tr> <td>发起支付类型</td> <td>pay_type</td> <td>String</td> <td>jump</td> <td>支付发起的具体方式,取值参考发起支付类型说明</td> </tr> <tr> <td>发起支付参数</td> <td>pay_info</td> <td>String</td> <td>weixin://wxpay/bizpayurl?pr=04IPMKM</td> <td>根据不同的发起支付类型,返回不同的支付相关参数,如支付跳转链接、JSAPI 支付参数等</td> </tr> <tr> <td>当前时间戳</td> <td>timestamp</td> <td>String</td> <td>1721206072</td> <td>10 位整数,单位为秒,与请求中的时间戳对应,可用于验证消息时效性</td> </tr> <tr> <td>签名字符串</td> <td>sign</td> <td>String</td> <td>-</td> <td>用于验证返回数据的合法性,参考签名规则生成</td> </tr> <tr> <td>签名类型</td> <td>sign_type</td> <td>String</td> <td>RSA</td> <td>签名算法类型,默认为 RSA</td> </tr> </tbody> </table> <h2>五、接口类型列表</h2> <table> <thead> <tr> <th>调用值</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td>web</td> <td>通用网页支付,根据 device 参数自动返回跳转 URL、二维码、小程序跳转 URL 等,适用于在网页端进行支付的场景</td> </tr> <tr> <td>jump</td> <td>跳转支付,仅返回支付跳转 URL,适合需要直接引导用户跳转到第三方支付页面的场景</td> </tr> <tr> <td>jsapi</td> <td>JSAPI 支付,用于小程序内支付,仅返回 JSAPI 支付所需参数,需传入 sub_openid 和 sub_appid 参数</td> </tr> <tr> <td>app</td> <td>APP 支付,用于 iOS / 安卓 APP 内支付,返回 APP 支付参数或 APP 拉起微信小程序参数</td> </tr> <tr> <td>scan</td> <td>付款码支付,需传入 auth_code 参数,支付成功后返回订单信息,常用于线下扫码支付场景</td> </tr> <tr> <td>applet</td> <td>小程序支付,用于微信小程序内支付,返回微信小程序插件参数或跳转小程序参数</td> </tr> </tbody> </table> <h2>六、设备类型列表</h2> <table> <thead> <tr> <th>调用值</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td>pc</td> <td>电脑浏览器,为通用网页支付的默认设备类型</td> </tr> <tr> <td>mobile</td> <td>手机浏览器</td> </tr> <tr> <td>qq</td> <td>手机 QQ 内浏览器</td> </tr> <tr> <td>wechat</td> <td>微信内浏览器</td> </tr> <tr> <td>alipay</td> <td>支付宝客户端</td> </tr> </tbody> </table> <h2>七、发起支付类型说明</h2> <table> <thead> <tr> <th>发起支付类型</th> <th>描述</th> </tr> </thead> <tbody> <tr> <td>jump</td> <td>返回支付跳转 URL,直接引导用户跳转到第三方支付平台进行支付</td> </tr> <tr> <td>html</td> <td>返回 html 代码,用于支付跳转,可根据需求嵌入页面实现支付功能</td> </tr> <tr> <td>qrcode</td> <td>返回支付二维码,用户通过扫码完成支付,常用于线下或网页端扫码支付场景</td> </tr> <tr> <td>urlscheme</td> <td>返回微信 / 支付宝小程序跳转 URL scheme,用于在 APP 内拉起小程序进行支付</td> </tr> <tr> <td>jsapi</td> <td>返回用于发起 JSAPI 支付的参数,适用于小程序内支付</td> </tr> <tr> <td>app</td> <td>返回用于发起 APP 支付的参数,用于在 APP 内集成支付功能</td> </tr> <tr> <td>scan</td> <td>付款码支付成功后,返回支付订单信息</td> </tr> <tr> <td>wxplugin</td> <td>返回要拉起的微信小程序插件参数,用于未开通支付能力的小程序发起支付</td> </tr> <tr> <td>wxapp</td> <td>返回要拉起的微信小程序和路径,用于 APP 内拉起微信小程序支付</td> </tr> </tbody> </table> <h2>八、其他说明</h2> <ol> <li>代码实现时,需根据接口返回的 pay_type 值展示相应的支付页面。若不熟悉支付页面展示逻辑,可在请求时将 method 设置为 jump,此时 pay_type 只会返回 jump,系统会直接跳转支付。</li> <li>付款码支付场景下,可不传支付类型 type 字段,系统会根据 auth_code 自动判断支付类型。</li> <li>微信小程序插件支付,不同支付平台的拉起方式有所差异,可联系客服获取对接小程序插件的详细文档。</li> <li>APP 拉起微信小程序支付可参考微信官方文档进行开发。</li> </ol>

页面列表

ITEM_HTML