CloudPay.closeOrder()

支持端:云函数 2.0.2

关闭订单

说明

以下情况需要调用关单接口:商户订单支付失败需要生成新单号重新发起支付,要对原订单号调用关单,避免重复支付;系统下单后,用户支付超时,系统退出不再受理,避免用户继续,请调用关单接口。 注意:订单生成后不能马上调用关单接口,最短调用时间间隔为5分钟。*

此接口与微信支付原接口(文档)的不同点在于:

  • 私有安全链路,免证书管理,免签名计算
  • 商户号填入 sub_mch_id 字段,小程序/公众号 appid 填入 sub_appid 字段
  • 免填写以下字段:mch_id、appid、sign、sign_type
  • 接口入参和返回值都为 JSON 而不是 XML

参数说明

字段名变量名必填类型示例值描述
子商户号submch_idString(32)1900000109微信支付分配的子商户号
商户订单号out_trade_noString(32)1217752501201407033233368018商户系统内部订单号,要求32个字符内,只能是数字、大小写字母-
随机字符串nonce_strString(32)5K8264ILTKCH16CQ2502SI8ZNMTM67VS商户系统内部的订单号,32个字符内、可包含字母, 其他说明见安全规范

返回值说明

字段名变量名必填类型示例值描述
返回状态码returnCodeString(16)SUCCESSSUCCESS/FAIL
返回信息returnMsgString(128)签名失败返回信息,如非空,为错误原因。如 签名失败、参数格式校验错误

以下字段在returnCode为SUCCESS的时候有返回

字段名变量名必填类型示例值描述
服务商的APPIDappidString(32)wxd678efh567hg6787服务商商户的APPID
商户号mch_idString(32)1230000109微信支付分配的商户号
小程序的APPIDsub_appidString(32)wx8888888888888888微信分配的小程序ID
子商户号sub_mch_idString(32)1900000109微信支付分配的子商户号
随机字符串nonce_strString(32)5K8264ILTKCH16CQ2502SI8ZNMTM67VS随机字符串,不长于32位
签名signString(32)C380BEC2BFD727A4B6845133519F3AD6签名,验证签名算法
业务结果result_codeString(16)SUCCESSSUCCESS/FAIL
业务结果描述result_msgString(32)OK对于业务执行的详细描述
错误代码err_codeString(32)SYSTEMERROR详细参见下文错误列表
错误代码描述err_code_desString(128)系统错误结果信息描述

错误码

名称描述原因解决方案
ORDERPAID订单已支付订单已支付,不能发起关单订单已支付,不能发起关单,请当作已支付的正常交易
SYSTEMERROR系统错误系统错误系统异常,请重新调用该API
ORDERCLOSED订单已关闭订单已关闭,无法重复关闭订单已关闭,无需继续调用
SIGNERROR签名错误参数签名结果不正确请检查签名参数和方法是否都符合签名算法要求
REQUIRE_POST_METHOD请使用post方法未使用post传递参数请检查请求参数是否通过post方法提交
XML_FORMAT_ERRORXML格式错误XML格式错误请检查XML参数格式是否正确