小畅通
  1. 支付接口
  • 对接指引
    • 对接说明
    • 技术规范
    • SDK说明
  • 支付接口
    • 统一支付下单
    • 查询支付订单V2
    • 关闭支付订单
    • 支付结果通知
    • 发起支付退款
    • 查询退款订单
    • 退款结果通知
  1. 支付接口

支付结果通知

接口说明#

接口描述:当订单支付成功时,支付网关会向商户系统发起回调通知。如果商户系统没有正确返回,支付网关会延迟再次通知。
适用对象:普通商户 特约商户
请求URL:该链接是通过统一下单接口提交的参数notifyUrl设置,如果无法访问链接,商户系统将无法接收到支付中心的通知。
请求方式:POST
请求类型:application/x-www-form-urlencoded

通知参数#

字段名变量名必填类型示例值描述
支付订单号payOrderId是String(30)P12021022311124442600返回支付系统订单号
商户号mchNo是String(64)M1621873433953商户号
应用IDappId是String(64)60cc09bce4b0f1c0b83761c9应用ID
商户订单号mchOrderNo是String(64)20160427210604000490返回商户传入的订单号
支付接口ifCode是String(30)wxpay支付接口编码
支付方式wayCode是String(30)WX_LITE支付方式,微信小程序WX_LITE
支付金额amount是int100支付金额,单位分
货币代码currency是String(3)cny三位货币代码,人民币:cny
订单状态state是int2支付订单状态
0-订单生成
1-支付中
2-支付成功
3-支付失败
4-已撤销
5-已退款
6-订单关闭
客户端IPclientIp否String(32)210.73.10.148客户端IPV4地址
商品标题subject是String(128)Jeepay商品标题测试商品标题
商品描述body是String(256)Jeepay商品描述测试商品描述
渠道订单号channelOrderNo否String20160427210604000490对应渠道的订单号
渠道错误码errCode否String1002渠道下单返回错误码
渠道错误描述errMsg否String134586944573118714渠道下单返回错误描述
扩展参数extParam否String(512)134586944573118714商户扩展参数
支付成功时间successTime否long1622016572190订单支付成功时间,13位时间戳
创建时间createdAt是long1622016572190订单创建时间,13位时间戳
通知请求时间reqTime是String(30)1622016572190通知请求时间,,13位时间戳
签名sign是String(32)C380BEC2BFD727A4B6845133519F3AD6签名值,详见签名算法
以下扩展参数如需同步传递需在商户后台配置
字段名变量名必填类型示例值描述
商户门店IDstoreId否int商户门店ID
经度lng否String商户门店ID
纬度lat否String商户门店ID
码牌IDqrcId否int商户门店ID
支付方式代码分类wayCodeType否String商户门店ID
商户手续费费率mchFeeRate否String商户门店ID
商户手续费mchFeeAmount否int商户手续费,单位分
渠道用户标识channelUser否String渠道用户标识,如微信openId,支付宝账号
订单分账模式divisionMode否int订单分账模式:0-该笔订单不允许分账, 1-支付成功按配置自动完成分账, 2-商户手动分账(解冻商户金额)
订单分账状态divisionState否int订单分账状态:0-未分账, 1-待分账, 2-分账中, 3-已分账, 4-完结中, 5-已完结, 6-已分账完结失败
买家备注buyerRemark否String买家备注
卖家备注sellerRemark否String卖家备注
订单失效时间expiredTime否long订单失效时间
支付凭证交易单号platformOrderNo否String支付凭证交易单号
支付凭证商户单号platformMchOrderNo否String支付凭证商户单号

返回结果#

业务系统处理后同步返回给支付中心,返回字符串 success 则表示成功,返回非success则表示处理失败,支付中心会再次通知业务系统。(通知频率为0/30/60/90/120/150,单位:秒)
注意:返回的字符串不区分大小写,字符串前后不能有空格和换行符。
通知示例数据
{
    "amount": 5,
    "body": "商品描述",
    "clientIp": "192.166.1.132",
    "createdAt": "1622016572190",
    "currency": "cny",
    "extParam": "",
    "ifCode": "wxpay",
    "mchNo": "M1621873433953",
    "appId": "60cc09bce4b0f1c0b83761c9",
    "mchOrderNo": "mho1621934803068",
    "payOrderId": "20210525172643357010",
    "state": 3,
    "subject": "商品标题",
    "wayCode": "WX_BAR",
    "sign": "C380BEC2BFD727A4B6845133519F3AD6"
}

SDK验签代码示例#

    @RequestMapping("/mchJeepayPayOrderNotify")
    public void mchJeepayPayOrderNotify(HttpServletRequest request, HttpServletResponse response) throws IOException {

        // 获取到请求参数
        PayOrderNotifyResModel payOrderNotifyResModel = JeepayNotifyKit.convertNotifyResModel(request);

        // 获取到jeepay回调参数中的: mchNo 和 appId
        String mchNo = payOrderNotifyResModel.getMchNo();
        String appId = payOrderNotifyResModel.getAppId();
        String mchOrderNo = payOrderNotifyResModel.getMchOrderNo(); // 商户订单编号

        String mchAppSecret = ""; // TODO 根据[mchNo,appId]自行查询配置的秘钥

        // 验签失败
        if(!payOrderNotifyResModel.checkSign(mchAppSecret)){
            response.getWriter().print("sign fail");
            return;
        }

        // 以下为验签成功
        // TODO 商户业务逻辑处理。。。。。。。。。。。

        // 响应jeepay SUCCESS字样
        response.getWriter().print("SUCCESS");
    }
修改于 2026-08-29 03:23:35
上一页
关闭支付订单
下一页
发起支付退款
Built with