易支付开发文档v2(RSA版本)

来源: 作者:  更新 :2026-05-01 10:43:44

接口说明及规范
协议规则

提交数据格式:application/x-www-form-urlencoded

返回数据格式:JSON

字符编码:UTF-8

签名算法:SHA256WithRSA

V2升级说明

1、V2接口全面使用 RSA 签名算法;V1接口使用 MD5 签名算法

2、V2接口改用全新的接口地址,支持退款、代付等功能;V1接口使用submit.php和mapi.php提交订单

3、V2接口新增timestamp入参和返回值用于校验时间戳

获取RSA密钥对

在 商户后台->个人资料->API信息 页面,点击【生成商户RSA密钥对】,生成后注意保存【商户私钥】。对接接口时只需要用到【平台公钥】与【商户私钥】。


 

签名规则

签名步骤

对本平台接口发起的请求,需要进行签名。

1、获取请求报文所有非空请求参数,不包括数组、字节类型参数,如文件、字节流,剔除signsign_type字段,并按照第一个字符的键值ASCII码递增排序(字母升序排序),如果遇到相同字符则按照第二个字符的键值ASCII码递增排序,以此类推。

2、将排序后的参数和对应值,组合成“参数=参数值”的格式,并且把这些参数用 & 字符连接起来,此时生成的字符串为待签名字符串。

3、使用商户私钥,对待签名字符串计算RSA签名(SHA256WithRSA),得到签名sign。

验签步骤

针对接口返回的数据,以及异步通知回调的数据,需进行验签。

1、先根据签名步骤里面的1~2,获取到待签名字符串。

2、使用平台公钥,根据签名字符串sign,对待签名字符串与进行RSA验签(SHA256WithRSA)

注意事项

1、商户私钥(private key)需填写到代码中供签名时使用。生成的私钥需妥善保管,避免遗失,不要泄露。

2、平台公钥(public key)用于接口返回数据、异步通知回调数据的验签。

3、具体发起支付相关流程的示例代码可下载SDK查看。

 

支付方式列表

调用值 描述
alipay 支付宝
wxpay 微信支付
paypal PayPal
douyinpay 抖音支付
 

支付相关接口

页面跳转支付

此接口可用于用户前台直接发起支付,使用form表单跳转或拼接成url跳转。

请求地址:

https://pay.lanfucai.com/api/pay/submit

请求方式:

POST 或 GET(推荐POST,不容易被劫持)

请求参数说明:

字段名 变量名 必填 类型 示例值 描述
商户ID pid Int 1001  
支付方式 type String alipay 支付方式列表
商户订单号 out_trade_no String 20160806151343349  
异步通知地址 notify_url String http://www.pay.com/notify_url.php 服务器异步通知地址
跳转通知地址 return_url String http://www.pay.com/return_url.php 页面跳转通知地址
商品名称 name String VIP会员 如超过127个字节会自动截取
商品金额 money String 1.00 单位:元,最大2位小数
业务扩展参数 param String 没有请留空 支付后原样返回
自定义通道ID channel_id Int   对应进件商户列表的ID,未进件请勿传
买家身份证号 cert_no String   可限制指定买家,仅支持支付宝官方接口
买家真实姓名 cert_name String   可限制指定买家,仅支持支付宝官方接口
买家最小年龄 min_age Int   可限制买家年龄,仅支持支付宝官方接口
当前时间戳 timestamp String 1721206072 10位整数,单位秒
签名字符串 sign String   参考签名规则
签名类型 sign_type String RSA 默认为RSA

其他说明:

  • 支付方式(type)不传会跳转到收银台支付
 

统一下单接口

此接口可用于服务器后端发起支付请求,会返回支付二维码链接、支付跳转url等。

请求地址:

https://pay.lanfucai.com/api/pay/create

请求方式:

POST

请求参数说明:

字段名 变量名 必填 类型 示例值 描述
商户ID pid Int 1001  
接口类型 method String web 接口类型列表
设备类型 device String pc 仅通用网页支付需要传 设备类型列表
支付方式 type String alipay 支付方式列表
商户订单号 out_trade_no String 20160806151343349  
异步通知地址 notify_url String http://www.pay.com/notify_url.php 服务器异步通知地址
跳转通知地址 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地址
业务扩展参数 param String 没有请留空 支付后原样返回
被扫支付授权码 auth_code String   仅被扫支付需要传
用户Openid sub_openid String   仅JSAPI支付需要传
应用AppId sub_appid String   仅JSAPI支付(微信)需要传
是否小程序 is_applet Int   仅JSAPI支付需要传,1:是小程序
自定义通道ID channel_id Int   对应进件商户列表的ID,未进件请勿传
买家身份证号 cert_no String   可限制指定买家,仅支持支付宝官方接口
买家真实姓名 cert_name String   可限制指定买家,仅支持支付宝官方接口
买家最小年龄 min_age Int   可限制买家年龄,仅支持支付宝官方接口
当前时间戳 timestamp String 1721206072 10位整数,单位秒
签名字符串 sign String   参考签名规则
签名类型 sign_type String RSA 默认为RSA

返回参数说明:

字段名 变量名 类型 示例值 描述
返回状态码 code Int 0 0为成功,其它值为失败
错误信息 msg String   失败时返回原因
平台订单号 trade_no String 20160806151343349 平台内部的订单号
发起支付类型 pay_type String jump 参考 发起支付类型说明
发起支付参数 pay_info String weixin://wxpay/bizpayurl?pr=04IPMKM 根据不同的发起支付类型,返回内容也不一样
当前时间戳 timestamp String 1721206072 10位整数,单位秒
签名字符串 sign String   参考签名规则
签名类型 sign_type String RSA 默认为RSA

返回示例:

{
    "code": 0,
    "trade_no": "20160806151343349",
    "pay_type": "qrcode",
    "pay_info": "weixin://wxpay/bizpayurl?pr=04IPMKM"
}
{
    "code": 0,
    "trade_no": "20160806151343351",
    "pay_type": "jsapi",
    "pay_info": "{\"appId\":\"wx2421b1c4370ec43b\",\"timeStamp\":\"1395712654\",\"nonceStr\":\"e61463f8efa94090b1f366cccfbbb444\",\"package\":\"prepay_id=up_wx21201855730335ac86f8c43d1889123400\",\"signType\":\"RSA\",\"paySign\":\"oR9d8PuhnIc+YZ8cBHFCwfgpaK9gd7vaRvkYD7rthRAZ\"}"
}
{
    "code": 0,
    "trade_no": "2024072320222180092",
    "pay_type": "scan",
    "pay_info": "{\"type\":\"wxpay\",\"trade_no\":\"2024072320222180092\",\"api_trade_no\":\"4200002345202407238253501450\",\"buyer\":\"o9uAcc6VlZxhcujpKIqQuWWoDQc\",\"money\":\"1.00\"}"
}
{
    "code": 0,
    "trade_no": "2024072320222180018",
    "pay_type": "wxplugin",
    "pay_info": "{\"appId\":\"wxc237fd59fbb634ae\",\"supplierId\":\"123456\",\"shopId\":\"123456\",\"orderId\":\"2024072320222180092\"}"
}
{
    "code": 0,
    "trade_no": "2024072320222180018",
    "pay_type": "wxapp",
    "pay_info": "{\"appId\":\"wxbb48bac536053072\",\"miniProgramId\":\"gh_bf9cd8cf50b5\",\"path\":\"pages/fromAppPay/index?orderid=123456\",\"extraData\":\"\"}"
}

接口类型列表

调用值 描述
web 通用网页支付(会根据device判断,自动
返回跳转url/二维码/小程序跳转url等)
jump 跳转支付(仅会返回跳转url)
jsapi JSAPI支付(小程序内支付使用,仅返回JSAPI参数,
需传入sub_openid和sub_appid参数)
app APP支付(iOS/安卓APP内支付使用,
仅返回APP支付参数,或APP拉起微信小程序参数)
scan 付款码支付(需传入auth_code参数,
支付成功后返回订单信息)
applet 小程序支付(微信小程序内使用,
返回微信小程序插件参数或跳转小程序参数)

设备类型列表

调用值 描述
pc 电脑浏览器(默认)
mobile 手机浏览器
qq 手机QQ内浏览器
wechat 微信内浏览器
alipay 支付宝客户端

发起支付类型说明

发起支付类型 描述
jump 返回支付跳转url
html 返回html代码,用于支付跳转
qrcode 返回支付二维码
urlscheme 返回微信/支付宝小程序跳转url scheme
jsapi 返回用于发起JSAPI支付的参数
app 返回用于发起APP支付的参数
scan 付款码支付成功,返回支付订单信息
wxplugin 返回要拉起的微信小程序插件参数,
用于未开通支付能力的小程序发起支付,
wxapp 返回要拉起的微信小程序和路径,
用于APP内拉起微信小程序支付

其他说明:

  • 代码中需根据接口返回的pay_type值来展示具体的支付页面,例如扫码页面等。如果不懂怎么展示支付页面,可在method传入jump,这样pay_type就只会返回jump,直接跳转支付即可。
  • 付款码支付可不传支付类型type字段,会根据auth_code的数字自动判断支付类型。
  • 微信小程序插件支付,不同支付平台拉起支付方式不一样,可联系客服获取对接小程序插件的文档。
  • APP拉起微信小程序可参考微信官方文档

订单查询

请求地址:

https://pay.lanfucai.com/api/pay/query

请求方式:

POST

请求参数说明:

字段名 变量名 必填 类型 示例值 描述
商户ID pid Int 1001  
平台订单号 trade_no 特殊 String 20160806151343349 与商户订单号必传其一
商户订单号 out_trade_no 特殊 String 20160806151343351 与平台订单号必传其一
当前时间戳 timestamp String 1721206072 10位整数,单位秒
签名字符串 sign String   参考签名规则
签名类型 sign_type String RSA 默认为RSA

返回参数说明:

字段名 变量名 类型 示例值 描述
返回状态码 code Int 0 0为成功,其它值为失败
错误信息 msg String   失败时返回原因
平台订单号 trade_no String 20160806151343349  
商户订单号 out_trade_no String 20160806151343351  
接口订单号 api_trade_no String 40001249985198893 微信支付宝返回的单号
支付方式 type String alipay 支付方式列表
支付状态 status Int 1 支付状态列表
商户ID pid Int 1001  
订单创建时间 addtime String 2024-07-01 16:47:32  
订单完成时间 endtime String 2024-07-01 16:49:24 仅完成才返回
商品名称 name String    
商品金额 money String 1.00  
已退款金额 refundmoney String   仅部分退款情况才返回
业务扩展参数 param String    
支付用户标识 buyer String   一般为openid
支付用户IP clientip String    
当前时间戳 timestamp String 1721206072 10位整数,单位秒
签名字符串 sign String   参考签名规则
签名类型 sign_type String RSA 默认为RSA

支付状态列表

状态值 描述
0 未支付
1 已支付
2 已退款
3 已冻结
4 预授权
 

支付结果通知

通知类型:

服务器异步通知(notify_url)、页面跳转通知(return_url)

请求方式:

GET

请求参数说明:

字段名 变量名 类型 示例值 描述
商户ID pid Int 1001  
平台订单号 trade_no String 20160806151343349  
商户订单号 out_trade_no String 20160806151343351  
接口订单号 api_trade_no String 40001249985198893 微信支付宝返回的单号
支付方式 type String alipay 支付方式列表
交易状态 trade_status String TRADE_SUCCESS 固定为TRADE_SUCCESS
订单创建时间 addtime String 2024-07-01 16:47:32  
订单完成时间 endtime String 2024-07-01 16:49:24 仅完成才返回
商品名称 name String    
商品金额 money String 1.00  
业务扩展参数 param String    
支付用户标识 buyer String   一般为openid
当前时间戳 timestamp String 1721206072 10位整数,单位秒
签名字符串 sign String   参考签名规则
签名类型 sign_type String RSA 默认为RSA

返回内容说明:

收到异步通知后,需返回success以表示服务器接收到了订单通知

其他说明:

  • 商户系统代码内务必对返回的签名sign进行校验,并且判断trade_status的值是否等于TRADE_SUCCESS
  • 支付平台可能会增加回调字段,验证签名时必须支持增加的扩展字段
 

订单退款

需要先在商户后台开启订单退款API接口开关,才能调用该接口发起订单退款

请求地址:

https://pay.lanfucai.com/api/pay/refund

请求方式:

POST

请求参数说明:

字段名 变量名 必填 类型 示例值 描述
商户ID pid Int 1001  
平台订单号 trade_no 特殊 String 20160806151343349 与商户订单号必传其一
商户订单号 out_trade_no 特殊 String 20160806151343351 与平台订单号必传其一
退款金额 money String 1.00 单位:元
商户退款单号 out_refund_no String 20160806151343391 可避免出现重复请求退款
当前时间戳 timestamp String 1721206072 10位整数,单位秒
签名字符串 sign String   参考签名规则
签名类型 sign_type String RSA 默认为RSA

返回参数说明:

字段名 变量名 类型 示例值 描述
返回状态码 code Int 0 0为成功,其它值为失败
返回信息 msg String   失败或成功时返回提示
平台退款单号 refund_no String 20160806151343349  
商户退款单号 out_refund_no String 20160806151343351  
平台订单号 trade_no String 20160806151343349  
退款金额 money String    
扣减商户余额 reducemoney String    
当前时间戳 timestamp String 1721206072 10位整数,单位秒
签名字符串 sign String   参考签名规则
签名类型 sign_type String RSA 默认为RSA

其他说明:

  • 少数插件对接的第三方平台不支持部分金额退款
 

订单退款查询

请求地址:

https://pay.lanfucai.com/api/pay/refundquery

请求方式:

POST

请求参数说明:

字段名 变量名 必填 类型 示例值 描述
商户ID pid Int 1001  
平台退款单号 refund_no 特殊 String 20160806151343349 与商户退款单号必传其一
商户退款单号 out_refund_no 特殊 String 20160806151343351 与平台退款单号必传其一
当前时间戳 timestamp String 1721206072 10位整数,单位秒
签名字符串 sign String   参考签名规则
签名类型 sign_type String RSA 默认为RSA

返回参数说明:

字段名 变量名 类型 示例值 描述
返回状态码 code Int 0 0为成功,其它值为失败
错误信息 msg String   失败时返回提示
平台退款单号 refund_no String 20160806151343349  
商户退款单号 out_refund_no String 20160806151343351  
平台订单号 trade_no String 20160806151343349  
商户订单号 out_trade_no String 20160806151343351  
退款金额 money String    
扣减商户余额 reducemoney String    
退款状态 status Int   0:失败,1:成功
退款时间 addtime String 2024-07-01 16:47:32  
当前时间戳 timestamp String 1721206072 10位整数,单位秒
签名字符串 sign String   参考签名规则
签名类型 sign_type String RSA 默认为RSA


 

订单关闭

请求地址:

https://pay.lanfucai.com/api/pay/close

请求方式:

POST

请求参数说明:

字段名 变量名 必填 类型 示例值 描述
商户ID pid Int 1001  
平台订单号 trade_no 特殊 String 20160806151343349 与商户订单号必传其一
商户订单号 out_trade_no 特殊 String 20160806151343351 与平台订单号必传其一
当前时间戳 timestamp String 1721206072 10位整数,单位秒
签名字符串 sign String   参考签名规则
签名类型 sign_type String RSA 默认为RSA

返回参数说明:

字段名 变量名 类型 示例值 描述
返回状态码 code Int 0 0为成功,其它值为失败
返回信息 msg String   失败或成功时返回提示
当前时间戳 timestamp String 1721206072 10位整数,单位秒
签名字符串 sign String   参考签名规则
签名类型 sign_type String RSA 默认为RSA

其他说明:

  • 只有部分支付插件支持关闭订单操作

商户相关接口

查询商户信息

请求地址:

https://pay.lanfucai.com/api/merchant/info

请求方式:

POST

请求参数说明:

字段名 变量名 必填 类型 示例值 描述
商户ID pid Int 1001  
当前时间戳 timestamp String 1721206072 10位整数,单位秒
签名字符串 sign String   参考签名规则
签名类型 sign_type String RSA 默认为RSA

返回参数说明:

字段名 变量名 类型 示例值 描述
返回状态码 code Int 0 0为成功,其它值为失败
返回信息 msg String   失败或成功时返回提示
商户ID pid Int 1001  
商户状态 status Int 1 0:已封禁,1:正常,2:待审核
支付状态 pay_status Int 1 0:关闭,1:开启
结算状态 settle_status Int 1 0:关闭,1:开启
商户余额 money String 50.00 单位:元
结算方式 settle_type Int 1 结算方式列表
结算账户 settle_account String alipay@alipay.com  
结算账户姓名 settle_name String 张三  
订单总数量 order_num Int 10  
今日订单数量 order_num_today Int 3  
昨日订单数量 order_num_lastday Int 2  
今日订单收入 order_money_today String 45.00 单位:元
昨日订单收入 order_money_lastday String 35.00 单位:元
当前时间戳 timestamp String 1721206072 10位整数,单位秒
签名字符串 sign String   参考签名规则
签名类型 sign_type String RSA 默认为RSA

结算方式列表

状态值 描述
1 支付宝
2 微信
3 QQ钱包
4 银行卡
 

查询订单列表

查询订单列表可用于对账或同步订单状态等

请求地址:

https://pay.lanfucai.com/api/merchant/orders

请求方式:

POST

请求参数说明:

字段名 变量名 必填 类型 示例值 描述
商户ID pid Int 1001  
查询偏移 offset Int 0 从0开始
每页条数 limit Int 50 最大不能超过50
过滤订单状态 status Int 1 0:未支付,1:已支付
当前时间戳 timestamp String 1721206072 10位整数,单位秒
签名字符串 sign String   参考签名规则
签名类型 sign_type String RSA 默认为RSA

返回参数说明:

字段名 变量名 类型 示例值 描述
返回状态码 code Int 0 0为成功,其它值为失败
返回信息 msg String   失败或成功时返回提示
订单列表 data Array   具体参数可参考订单查询
当前时间戳 timestamp String 1721206072 10位整数,单位秒
签名字符串 sign String   参考签名规则
签名类型 sign_type String RSA 默认为RSA
 

代付相关接口

转账发起

平台需开通代付功能,且在商户后台开启代付API接口开关,才能调用本接口发起转账

请求地址:

https://pay.lanfucai.com/api/transfer/submit

请求方式:

POST

请求参数说明:

字段名 变量名 必填 类型 示例值 描述
商户ID pid Int 1001  
转账方式 type String alipay 转账方式列表
收款方账号 account String alipay@alipay.com 支付宝账号/微信OpenId/银行卡号
收款方姓名 name String 张三 选填,传入则校验账号与该姓名是否匹配
转账金额 money String 1.00 单位:元
转账备注 remark String   选填
转账交易号 out_biz_no String 2016080615134334917 传入后可避免出现重复请求转账
安全发账本ID bookid String   仅支付宝安全发转账可以传入
当前时间戳 timestamp String 1721206072 10位整数,单位秒
签名字符串 sign String   参考签名规则
签名类型 sign_type String RSA 默认为RSA

返回参数说明:

字段名 变量名 类型 示例值 描述
返回状态码 code Int 0 0为成功,其它值为失败
错误信息 msg String   失败时返回转账失败原因
转账状态 status Int   0:正在处理
1:转账成功
系统交易号 biz_no String 2016080615134334917  
商户交易号 out_biz_no String 2016080615134334917 可用于后续转账查询
接口转账单号 orderid String 40001283951815782 支付宝微信返回的转账单号
转账完成时间 paydate String 2024-07-01 16:47:32  
转账花费金额 cost_money String   从商户可用余额扣减的金额
当前时间戳 timestamp String 1721206072 10位整数,单位秒
签名字符串 sign String   参考签名规则
签名类型 sign_type String RSA 默认为RSA

转账方式列表

状态值 描述
alipay 支付宝
wxpay 微信支付
qqpay QQ钱包
bank 银行卡

其他说明:

  • 如果返回的转账状态status=0,则需稍后调用转账查询接口查询转账状态。
 

转账查询

请求地址:

https://pay.lanfucai.com/api/transfer/query

请求方式:

POST

请求参数说明:

字段名 变量名 必填 类型 示例值 描述
商户ID pid Int 1001  
系统交易号 biz_no String 2016080615134334919 与商户交易号必传其一
商户交易号 out_biz_no String 2016080615134334919 与系统交易号必传其一
当前时间戳 timestamp String 1721206072 10位整数,单位秒
签名字符串 sign String   参考签名规则
签名类型 sign_type String RSA 默认为RSA

返回参数说明:

字段名 变量名 类型 示例值 描述
返回状态码 code Int 0 0为成功,其它值为失败
返回信息 msg String   成功或失败时返回提示
转账状态 status Int   0:正在处理
1:转账成功
2:转账失败
转账失败原因 errmsg String 收款方账户异常 status=2 时才返回
系统交易号 biz_no String 2016080615134334917  
商户交易号 out_biz_no String 2016080615134334917  
接口转账单号 orderid String 40001283951815782 支付宝微信返回的转账单号
转账完成时间 paydate String 2024-07-01 16:47:32  
转账金额 amount String   单位:元
转账花费金额 cost_money String   从商户可用余额扣减的金额
转账备注 remark String    
当前时间戳 timestamp String 1721206072 10位整数,单位秒
签名字符串 sign String   参考签名规则
签名类型 sign_type String RSA 默认为RSA
 

可用余额查询

请求地址:

https://pay.lanfucai.com/api/transfer/balance

请求方式:

POST

请求参数说明:

字段名 变量名 必填 类型 示例值 描述
商户ID pid Int 1001  
当前时间戳 timestamp String 1721206072 10位整数,单位秒
签名字符串 sign String   参考签名规则
签名类型 sign_type String RSA 默认为RSA

返回参数说明:

字段名 变量名 类型 示例值 描述
返回状态码 code Int 0 0为成功,其它值为失败
返回信息 msg String   成功或失败时返回提示
商户可用余额 available_money String 1.00 单位:元
转账手续费率 transfer_rate String 3 %
当前时间戳 timestamp String 1721206072 10位整数,单位秒
签名字符串 sign String   参考签名规则
签名类型 sign_type String RSA 默认为RSA
 

SDK下载

PHP-SDK

SDK.zip

版本:V2.0

- END -

查看更多开发文档