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是应用ID如 ecos.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_statusenum否in_out=out, value=['1','5'] 时不生成支付单
order_info.statusenum否必须为 active
order_info.process_statusenum否in_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:订单状态不允许