Skip to content

支付接口文档(payment)

基本信息

  • 接口地址:/index.php/api
  • 请求方法:POST
  • 接口类型:接收方接口(第三方平台推送 → OMS 接收)
  • 路由参数:method = {app_id}.payment.{action}

接口方法列表

接口名方法功能描述
ome.payment.addPOST新增支付记录(带金额/订单状态校验)
ome.payment.statusUpdatePOST支付状态更新(仅允许 succ)

系统级参数

参数名类型必填名称描述
flagstring接入标识固定值 erpapi
app_idstring应用IDecos.ome
certi_idstring证书ID系统证书编号
from_node_idstring来源节点推送方节点ID
node_idstring目标节点店铺节点ID(OMS节点)
node_typestring节点类型ecos.ome
timestampint时间戳10位时间戳
methodstring接口方法名形如 {app_id}.payment.add
signstring签名用于验证请求合法性

签名算法说明

  • 生成公式:sign = strtoupper(md5(strtoupper(md5(assemble($params))). $token))
  • 要点:
    • 参与签名的参数集合不包含 sign 本身;常以键名排序后按约定拼装
    • 首次 md5 后转大写,与 token 拼接后再 md5,最终再转大写
    • 保持编码一致、去除多余空白

接收参数(业务参数)

add

参数名类型必填说明
payment_bnstring支付单号
statusstring支付状态
moneynumber方法校验通过 validAddMoney 校验(累计不得超过订单应付)
order_info.pay_statusenumin_out=out, value=['1','5'] 时不生成支付单
order_info.statusenum必须为 active
order_info.process_statusenumin_out=out, value=['cancel'] 时不生成
other_payment[]array其他支付流水(参与金额累计)

statusUpdate

参数名类型必填说明
statusenum仅允许 succ
order_bnstring订单号
payment_bnstring支付单号

响应参数

响应格式统一为 JSON,包含以下字段:

字段名类型必填说明
rspstring响应状态:succ(成功)或 fail(失败)
msgstring响应消息(成功时包含操作描述,失败时包含错误信息)
dataobject响应数据(成功时可能包含订单号、支付单号等信息)

数据示例

请求示例(新增支付)

json
{
  "flag":"erpapi",
  "app_id":"ecos.ome",
  "method":"ome.payment.add",
  "timestamp":1700000000,
  "sign":"...",
  "payment_bn":"P202311110001",
  "status":"succ",
  "money":99.00,
  "order_info":{"order_bn":"T202311110001","payed":0,"total_amount":99.00,"status":"active"}
}

响应示例

响应成功

新增支付成功ome.payment.add):

json
{
    "rsp": "succ",
    "msg": "添加支付单成功",
    "data": {
        "tid": "T202311110001",
        "payment_id": "P202311110001",
        "retry": "false"
    }
}

响应失败

新增支付失败(添加支付单失败)

json
{
    "rsp": "fail",
    "msg": "添加支付单失败"
}

新增支付失败(订单不存在)

json
{
    "rsp": "fail",
    "msg": "订单T202311110001不存在"
}

错误码定义(示例)

  • E_PARAM:参数缺失
  • E_AMOUNT:金额越界
  • E_STATE:订单状态不允许