codecamp

微信小程序云开发SDK文档 微信支付·关闭订单

CloudPay.closeOrder()

支持端:云函数 2.0.2

关闭订单

说明

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

参数说明

字段名变量名必填类型示例值描述
子商户号sub_mch_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参数格式是否正确


微信小程序云开发SDK文档 微信支付·查询订单
微信小程序云开发SDK文档 微信支付·申请退款
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

微信小程序 指南

目录结构

开放能力

微信小程序 调试

微信小程序 实时日志

微信小程序 小程序测速

微信小程序 基础组件

微信小程序 API

媒体

界面

微信小程序API 绘图

微信小程序 服务端

接口调用凭证

统一服务消息

微信小程序 服务市场

微信小程序 生物认证

微信小程序 云开发

服务端

微信小程序云开发服务端API 数据库

SDK文档

微信小程序 扩展能力

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }