错误

为简化您的流程 Adapay SDK 会在内部完成对请求状态码的处理,您将直接获得响应数据,如有异常,则异常信息包含在响应数据中,示例如下(仅以支付为例):

Java

// 调用支付创建方法,获取 Payment对象
payment ch = payment.create(paymentParams);

// 返回数据处理
if(ch.isError()) {
  // TODO 进行错误处理...
  // payment 对象 中的 failed_code/failed_msg 等参数包含了错误信息

} else {
  // TODO 进行正常处理...
}

错误响应数据

Adapay 的错误响应中会包括错误码 error_code、简单的描述信息 error_msg 及用来描述错误发生原因的信息。

错误代码中的 error_msg 只是为每一个错误给调用方提供一个简单的解释,我们推荐结合使用 error_typeerror_code 来区分不同的错误,并显示自定义的文本给终端用户或舍弃不重要的错误码,而不是将 error_msg 的内容直接显示给终端用户。

错误参数说明

参数

描述

error_code

错误码,详见 错误返回码表

error_msg

返回具体的错误描述

error_type

错误类型,详见 错误类型表

status

状态描述

invalid_param

当发生参数错误时返回具体的参数名,便于定位错误原因,如 id

返回数据示例

{
  "error_code":"request_param_error",
  "error_msg":"金额格式非法,格式为 0.00",
  "error_type":"invalid_request_error",
  "status":"failed",
  "invalid_param":"transAmt"
}

错误类型表

类型

说明

invalid_request_error

请求错误,传入了不正确的地址、参数或值

api_error

Adapay 服务器出现的异常错误

channel_error

第三方支付渠道出现的错误导致请求出现错误,通常您需要对这些可能出现的情况进行处理或者联系我们

错误返回码表

返回码

说明

request_parameter_error

请求参数错误

system_exception

系统异常

config_exception

配置错误

security_exception

签名错误

token_revoke_error

Token 注销失败

token_apply_error

Token 申请失败

token_invalided

Token 已失效

payment_id_not_exists

对应支付记录不存在

request_order_no_repeate

请求订单号重复

channel_error

通道异常

channel_response_code_fail

支付渠道响应码错误

mer_not_register

商户未入驻

user_identity_not_exist

未获取到用户唯一标识,请重试

mer_acct_id_not_exists

商户子账号不存在

user_not_acct_id

用户未开立结算账户或账户状态异常

user_not_exist

分账用户未开户或用户状态异常

user_repeate

分账用户不能重复

div_members_not_blank

延时分账模式,分账串必须为空

div_members_num_over

分账方个数不能超过 7 个

agent_mer_conf_error

代理商配置错误

risk_trade

风控拦截

order_id_not_exists

订单记录不存在

fee_not_config

费率未配置

fee_amt_not_correct

手续费承担方分账金额小于手续费

pay_channel_not_config

支付渠道未配置

cash_card_unbind

用户未绑定取现卡

cash_log_exixt

取现记录已存在

mer_settle_not_config

商户结算配置不存在

cash_not_config

取现功能未开通

cash_fee_rate_not_config

取现手续费率未配置

cash_amt_too_small

取现金额未大于取现手续费

refund_repeate_request

请求过于频繁

refund_payment_order_not_success

原支付交易未成功

refund_amt_over

退款金额超过订单金额

refund_call_limit

退款次数超过限制

order_no_used

订单号已使用,请用新的订单号发起交易。

refund_div_amt_over

退款分账金额超过订单分账金额

refund_div_not_exisit

退款分账信息存在未分账对象

refund_amt_error

退款金额与分账金额不一致

refund_div_repeat

退款分账信息中存在重复对象

refund_div_unmatch

该笔退款已无可退分账

refund_delay_not_support

延时分账目前只支持全额退款

refund_type_error

该交易为延时分账,请传入支付确认对象id进行退款或调用支付撤销接口进行支付撤销

refund_merchant_not_match

支付和退款商户不匹配

close_order_exists

关单记录已存在,不允许重复关单

trans_less_than_one_min

交易时间小于一分钟,无法关单

payment_order_not_exist

支付交易不存在

payment_order_is_succeeded

交易已成功,不允许关单

payment_order_is_failed

交易已失败,不允许关单

payment_order_is_not_created

交易未创建成功,不允许关单

channel_close_fail

通道关单失败

reverse_app_id_not_exist

app_id不存在

reverse_payment_order_not_success

原支付交易未成功

reverse_payment_order_type_error

原支付交易类型错误

reverse_order_is_exist

撤销订单号已存在

reverse_call_limit

支付撤销次数超过限制

reverse_amt_over

撤销金额超过订单金额

reverse_id_not_exist

撤销id不存在

reverse_amt_error

撤销金额错误

fee_flag_only_one

手续费承担方有且只能有一个

div_amount_not_equal_confirm_amt

分账对象总金额必须等于确认金额

div_member_id_repeat

分账对象member_id重复

div_member_id_not_exist

分账对象member_id不存在或已禁用

payment_not_success

支付对象未成功

paymemt_pay_mode_not_delay

支付对象非延时分账模式,不支持调用该功能

div_member_id_not_exist_settle_account

分账对象member_id结算账户未创建或已删除,不支持分账

confirm_amt_lt_fee_amt

确认金额不能小于手续费金额

div_amount_lt_fee_amt

手续费承担方金额不能小于手续费金额

confirm_amt_over_limit

当前确认金额 > 支付金额 - 已支付确认金额 - 已支付撤销金额

payment_confirm_not_exist

支付确认对象不存在

trans_amt_lt_fee_amt

交易金额不能小于手续费金额

mer_base_acct_not_exist

商户基本账户不存在

balance_pay_failed

余额支付失败

not_support_out_fee

该业务暂不支持手续费外扣

refund_already_finished

该笔交易已退款

balance_refund_failed

余额支付退款失败