## 业务结果分类 对应字段名:`biz_response.result_code` | 分类 | 含义 | | ------------ | -------------------- | | `SUCCESS` | 本次业务执行成功 | | `FAIL` | 本次业务执行失败 | | `INPROGRESS` | 本次业务进行中 | | `ERROR` | 本次业务执行结果未知 | ## 交易类业务结果码 对应字段名:`biz_response.result_code` | 结果码 | 含义 | 后续处理 | | ---------------------------- | ------------------------------------------------------------ | ---------------------------------------------------- | | `PAY_SUCCESS` | 支付操作成功 | 银货两讫 | | `PAY_FAIL` | 支付操作失败并且已冲正 | 重新进行一笔交易 | | `PAY_IN_PROGRESS` | 支付中 | 调用查询接口查询 | | `PAY_FAIL_ERROR` | 支付操作失败并且不确定第三方支付通道状态 | 联系客服 | | `PAY_FAIL_IN_PROGRESS` | 支付操作失败中并且不清楚状态 | 联系客服 | | `CANCEL_SUCCESS` | 撤单操作成功 | | | `CANCEL_ERROR` | 撤单操作失败并且不确定第三方支付通道状态 | 联系客服 | | `CANCEL_ABORT_ERROR` | 撤单操作试图终止进行中的支付流程,但是失败,不确定第三方支付通道状态 | 联系客服 | | `CANCEL_ABORT_SUCCESS` | 撤单操作试图终止进行中的支付流程并且成功 | | | `CANCEL_IN_PROGRESS` | 撤单进行中 | 调用查询接口查询 | | `CANCEL_ABORT_IN_PROGRESS` | 撤单操作试图终止进行中的支付流程,但是撤单状态不明确 | | | `REFUND_SUCCESS` | 退款操作成功 | | | `REFUND_ERROR` | 退款操作失败并且不确定第三方支付通道状态 | 联系客服 | | `REFUND_FAIL` | 退款失败 | | | `REFUND_IN_PROGRESS` | 退款进行中 | | | `PRECREATE_SUCCESS` | 预下单操作成功 | | | `PRECREATE_FAIL` | 预下单操作失败 | | | `PRECREATE_FAIL_ERROR` | 预下单状态失败并且不确定第三方支付通道状态 | 联系客服 | | `PRECREATE_FAIL_IN_PROGRESS` | 预下单状态失败并且不清楚状态 | 联系客服 | | `SUCCESS` | 操作成功 | 根据 biz_response.data.order_status 判断当前订单状态 | | `FAIL` | 操作失败(不会触发流程) | | ## 订单推送结果码 对应字段名:`biz_response.result_code` | 结果码 | 含义 | 后续处理 | | -------------- | -------- | -------------------------------------------- | | `PUSH_SUCCESS` | 推送成功 | 订单已推送至设备,请在设备上操作完成收款 | | `PUSH_FAIL` | 推送失败 | 检查错误码及报错原因,排除后重新发起推送 | | `ERROR` | 推送异常 | 业务系统报错,联系客服;系统方可联系技术支持 | ## 订单状态码 对应字段名:`biz_response.data.order_status` | 状态码 | 含义 | 是否最终状态 | | --------------------- | ------------------------------------------------------------ | ------------ | | `CREATED` | 订单已创建/支付中 | 否 | | `PAID` | 订单支付成功 | 是 | | `PAY_CANCELED` | 支付失败并且已经成功冲正 | 是 | | `PAY_ERROR` | 支付异常,不确定是否已经成功冲正,请联系收钱吧客服确认是否支付成功 | 否 | | `REFUNDED` | 已成功全额退款 | 是 | | `PARTIAL_REFUNDED` | 已成功部分退款 | 是 | | `REFUND_INPROGRESS` | 退款进行中 | 否 | | `REFUND_ERROR` | 退款异常并且不确定第三方支付通道的最终退款状态 | 否 | | `CANCELED` | 客户端发起的撤单已成功 | 是 | | `CANCEL_ERROR` | 客户端发起的撤单异常并且不确定第三方支付通道的最终状态 | 否 | | `CANCEL_INPROGRESS` | 撤单进行中 | 否 | | `INVALID_STATUS_CODE` | 无效的状态码 | 否 | 最终状态:`PAID`、`PAY_CANCELED`、`REFUNDED`、`PARTIAL_REFUNDED`、`CANCELED`。 ## 流水状态码 对应字段名:`biz_response.data.status` > 当系统返回失败但不确认消费者端状态时,必须明确订单按失败处理,不交货或不退货,并立即人工介入、联系客服。 | 状态码 | 含义 | 处理方式 | | ----------------- | -------------------------------------------------------- | ------------------------------------------------------------ | | `SUCCESS` | 业务执行确认成功(收钱吧后台和消费者端均成功) | 银货两讫(无论交货还是退货) | | `FAIL_CANCELED` | 确认失败(收钱吧后台和消费者端均失败) | 银货两讫(不交货或不退货) | | `FAIL_PROTOCOL_1` | 协议错误 | 失败但不确认消费者端状态;收款不交货、退货应回收货品,并立即联系客服人工介入 | | `FAIL_IO_1` | IO错误 | 同 FAIL_PROTOCOL_1 | | `FAIL_PROTOCOL_2` | 协议错误 | 同 FAIL_PROTOCOL_1 | | `FAIL_IO_2` | IO错误 | 同 FAIL_PROTOCOL_1 | | `FAIL_PROTOCOL_3` | 协议错误 | 同 FAIL_PROTOCOL_1 | | `FAIL_ERROR` | 支付流程失败后自动撤单,与支付通道通信成功但返回撤单失败 | 同 FAIL_PROTOCOL_1 | | `CANCEL_ERROR` | 撤单流程调用支付通道撤单接口通信成功,但返回撤单失败 | 同 FAIL_PROTOCOL_1 | | `REFUND_ERROR` | 退款流程调用支付通道退款接口通信成功,但返回退款失败 | 同 FAIL_PROTOCOL_1 | | `CREATED` | 中间状态,订单已受理但尚未开始处理 | 调用查单接口确认流水状态 | | `ABORTED` | 确认失败(收钱吧后台和消费者端均失败) | 银货两讫(不交货或不退货) | | `IN_PROG` | 中间状态,订单处理中 | 调用查单接口确认流水状态 | | `ERROR_RECOVERY` | 中间状态,订单撤销处理中 | 调用查单接口确认流水状态 | | `PRE_SUCCESS` | 中间状态,业务处理成功 | 调用查单接口确认流水状态 | ## 标准业务错误码 对应字段名:`biz_response.error_code`(错误码)、`biz_response.error_message`(错误描述) | error_code | error_message | | --------------------------------- | ------------------------------------------------------------ | | `INVALID_BARCODE` | 条码错误 | | `INSUFFICIENT_FUND` | 账户金额不足 | | `EXPIRED_BARCODE` | 过期的支付条码 | | `BUYER_OVER_DAILY_LIMIT` | 付款人当日付款金额超过上限 | | `BUYER_OVER_TRANSACTION_LIMIT` | 付款人单笔付款金额超过上限 | | `SELLER_OVER_DAILY_LIMIT` | 收款账户当日收款金额超过上限 | | `TRADE_NOT_EXIST` | 交易不存在 | | `TRADE_HAS_SUCCESS` | 交易已被支付 | | `SELLER_BALANCE_NOT_ENOUGH` | 卖家余额不足 | | `REFUND_AMT_NOT_EQUAL_TOTAL` | 退款金额无效 | | `TRADE_FAILED` | 交易失败 | | `UNEXPECTED_PROVIDER_ERROR` | 不认识的支付通道 | | `TRADE_TIMEOUT` | 交易超时自动撤单 | | `ACCOUNT_BALANCE_NOT_ENOUGH` | 商户余额不足 | | `CLIENT_SN_CONFLICT` | client_sn 在系统中已存在 | | `UPAY_ORDER_NOT_EXISTS` | 订单不存在 | | `REFUNDABLE_AMOUNT_NOT_ENOUGH` | 订单可退金额不足 | | `UPAY_TERMINAL_NOT_EXISTS` | 终端号在交易系统中不存在 | | `UPAY_TERMINAL_STATUS_ABNORMAL` | 终端未激活 | | `UPAY_CANCEL_ORDER_NOOP` | 无效操作,订单已经是撤单状态 | | `UPAY_CANCEL_INVALID_ORDER_STATE` | 当前订单状态不可撤销 | | `UPAY_REFUND_ORDER_NOOP` | 无效操作,本次退款已经完成 | | `UPAY_REFUND_INVALID_ORDER_STATE` | 当前订单状态不可退款 | | `UPAY_STORE_OVER_DAILY_LIMIT` | 商户日收款额超过上限 | | `UPAY_TCP_ORDER_NOT_REFUNDABLE` | 订单参与了活动并且无法撤销 | | `EXTERNAL_SERVICE_EXCEPTION` | 外部服务错误集合;开发者可将具体错误信息记录在交易记录中供商户查看 | ## 订单推送错误码 对应字段名:`biz_response.error_code`(错误码)、`biz_response.error_message`(错误描述) | error_code | error_message | | ------------------------- | -------------------------------- | | `STORE_NOT_MARCH` | 推送设备不在该门店下,请重新配置 | | `MERCHANT_NOT_MARCH` | 推送设备不在该商户下,请重新配置 | | `DEVICE_TYPE_NOT_SUPPORT` | 该设备类型不支持推送 | | `DEVICE_STATUS_UN_KNOW` | 设备状态未知 | | `DEVICE_OFFLINE` | 设备离线 | | `PUSH_FAIL` | 推送失败 | | `INVALID_PARAM` | 请求参数不合法 |