账户管理

账户冻结对象

参数

类型

说明

id

String(64)

Adapay生成的账户冻结对象id

object

String(20)

账户冻结对象,account_freeze

created_time

String(10)

创建时的时间戳

prod_mode

String(4)

是否prod模式,true是prod模式,false是mock模式

app_id

String(64)

控制台 主页面应用的app_id

order_no

String(64)

请求订单号,只能为英文、数字或者下划线的一种或多种组合,保证在app_id下唯一

trans_amt

String(14)

冻结金额, 必须大于0,保留两位小数点,如0.10、100.05等

member_id

String(64)

冻结用户的member_id,若为商户本身时,请传入0

unfreeze_flag

String(1)

是否已解冻标识:Y-已解冻,N-未解冻

status

String(16)

当前交易状态,参见 状态 说明

error_code

String(32)

错误码,详见 错误

error_msg

String(128)

错误描述,详见 错误

error_type

String(32)

错误类型,详见 错误

invalid_param

String(32)

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

创建账户冻结对象

实现对商户或者商户下用户的结算账户可用余额进行冻结操作。

请求参数

参数

类型

必填

描述

order_no

String(64)

Y

请求订单号,只能为英文、数字或者下划线的一种或多种组合,保证在app_id下唯一

app_id

String(64)

Y

控制台 主页面应用的app_id

trans_amt

String(16)

Y

冻结金额, 必须大于0,保留两位小数点,如0.10、100.05等

member_id

String(64)

Y

冻结用户的member_id,若为商户本身时,请传入0

响应

成功时同步返回一个包含 账户冻结对象 的 JSON。

调用示例

Java

Map<String, Object> freezeParam = new  HashMap<String, Object>(4);
freezeParam.put("order_no", "1579163031383");
freezeParam.put("app_id", "app_XXXXXXXX");
freezeParam.put("trans_amt", "0.01");
freezeParam.put("member_id", "member_id_test");
Map<String, Object> freeze = SettleAccount.freeze(freezeParam);

成功响应

{
    "app_id": "app_XXXXXXXX",
    "trans_amt": "0.01",
    "created_time": "1579163032",
    "id": "002112020111717230410174704123849117696",
    "member_id": "member_id_test",
    "object": "account_freeze",
    "unfreeze_flag": "N",
    "order_no": "1579163031383",
    "status": "succeeded",
    "prod_mode": "true"
}

查询账户冻结对象列表

查询已发起的账户冻结交易,支持使用原冻结交易的请求订单号,以及时间范围查询。

请求参数

参数

类型

必填

说明

app_id

String(64)

Y

控制台 主页面应用的app_id

order_no

String(64)

N

原冻结交易的请求订单号

status

String(16)

N

查询交易状态:succeeded-成功,failed-失败,pending-处理中

page_index

int

N

当前页码,取值范围1~300000,默认值为1

page_size

int

N

页面容量,取值范围1~20,默认值为10

created_gte

String

N

查询大于等于创建时间戳

created_lte

String

N

查询小于等于创建时间戳;若不为空时,created_gte字段值不能为空且小于created_lte时间

响应

参数

类型

必填

说明

object

String(8)

Y

账户冻结对象列表,list

prod_mode

String(4)

Y

是否prod模式,true是prod模式,false是mock模式

app_id

String(64)

Y

控制台 主页面应用的app_id

order_no

String(64)

N

原冻结交易的请求订单号

has_more

boolean

Y

是否还有更多,true-是,false-否

account_freezes

List

N

账户冻结对象 的列表

status

String(16)

Y

当前交易状态,参见 状态 说明

error_code

String(32)

N

错误码,详见 错误

error_msg

String(128)

N

错误描述,详见 错误

error_type

String(32)

N

错误类型,详见 错误

invalid_param

String(32)

N

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

调用示例

Java

Map<String, Object> params = new HashMap<>();
params.put("app_id", "app_XXXXXXXX");
params.put("status", "succeeded");
params.put("page_index", "1");
params.put("page_size", "10");
params.put("created_gte", "1571466657929");
params.put("created_lte", "1571898657929");
Map<String, Object> result = SettleAccount.freezeList(params);

成功响应

{
    "account_freezes": [{
        "app_id": "app_XXXXXXXX",
        "created_time": "1604392443",
        "id": "002112020110316340210169618353981083648",
        "object": "account_freeze",
        "order_no": "order_no_123",
        "member_id": "member_id_test",
        "unfreeze_flag": "N",
        "trans_amt": "0.01",
        "status": "succeeded",
        "prod_mode": "true"
    }, {
        "app_id": "app_XXXXXXXX",
        "created_time": "1604367575",
        "id": "002112020110309393410169514048871583744",
        "object": "account_freeze",
        "order_no": "order_no_1234",
        "member_id": "member_id_test",
        "unfreeze_flag": "N",
        "trans_amt": "0.10",
        "status": "succeeded",
        "prod_mode": "true"
    }],
    "app_id": "app_XXXXXXXX",
    "has_more": false,
    "object": "list",
    "status": "succeeded",
    "prod_mode": "true"
}

账户解冻对象

参数

类型

说明

id

String(64)

Adapay生成的账户解冻对象id

object

String(20)

账户解冻对象,account_unfreeze

created_time

String(10)

创建时的时间戳

prod_mode

String(4)

是否prod模式,true是prod模式,false是mock模式

app_id

String(64)

控制台 主页面应用的app_id

order_no

String(64)

请求订单号,只能为英文、数字或者下划线的一种或多种组合,保证在app_id下唯一

account_freeze_id

String(64)

Adapay生成的账户冻结对象id

status

String(16)

当前交易状态,参见 状态 说明

error_code

String(32)

错误码,详见 错误

error_msg

String(128)

错误描述,详见 错误

error_type

String(32)

错误类型,详见 错误

invalid_param

String(32)

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

创建账户解冻对象

实现对已冻结的交易进行全额解冻操作。

请求参数

参数

类型

必填

描述

order_no

String(64)

Y

请求订单号,只能为英文、数字或者下划线的一种或多种组合,保证在app_id下唯一

app_id

String(64)

Y

控制台 主页面应用的app_id

account_freeze_id

String(16)

Y

Adapay生成的账户冻结对象id

响应

成功时同步返回一个包含 账户解冻对象 的 JSON。

调用示例

Java

Map<String, Object> unfreezeParam = new  HashMap<String, Object>(4);
unfreezeParam.put("order_no", "1579163031383");
unfreezeParam.put("app_id", "app_XXXXXXXX");
unfreezeParam.put("account_freeze_id", "002112020111717230410174704123849117696");
Map<String, Object> unfreeze = SettleAccount.unfreeze(unfreezeParam);

成功响应

{
    "app_id": "app_XXXXXXXX",
    "created_time": "1579163032",
    "id": "002112020111717230410174704123849117696",
    "account_freeze_id": "002112020111017580500172176218045927424",
    "object": "account_unfreeze",
    "order_no": "1579163031383",
    "status": "succeeded",
    "prod_mode": "true"
}

查询账户解冻对象列表

查询已发起的账户解冻交易,支持使用原解冻交易的请求订单号,以及时间范围查询。

请求参数

参数

类型

必填

说明

app_id

String(64)

Y

控制台 主页面应用的app_id

order_no

String(64)

N

原解冻交易的请求订单号

status

String(16)

N

查询交易状态:succeeded-成功,failed-失败,pending-处理中

page_index

int

N

当前页码,取值范围1~300000,默认值为1

page_size

int

N

页面容量,取值范围1~20,默认值为10

created_gte

String

N

查询大于等于创建时间戳

created_lte

String

N

查询小于等于创建时间戳;若不为空时,created_gte字段值不能为空且小于created_lte时间

响应

参数

类型

必填

说明

object

String(8)

Y

账户解冻对象列表,list

prod_mode

String(4)

Y

是否prod模式,true是prod模式,false是mock模式

app_id

String(64)

Y

控制台 主页面应用的app_id

order_no

String(64)

N

原解冻交易的请求订单号

has_more

boolean

Y

是否还有更多,true-是,false-否

account_unfreezes

List

N

账户解冻对象 的列表

status

String(16)

Y

当前交易状态,参见 状态 说明

error_code

String(32)

N

错误码,详见 错误

error_msg

String(128)

N

错误描述,详见 错误

error_type

String(32)

N

错误类型,详见 错误

invalid_param

String(32)

N

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

调用示例

Java

Map<String, Object> params = new HashMap<>();
params.put("app_id", "app_XXXXXXXX");
params.put("status", "succeeded");
params.put("page_index", "1");
params.put("page_size", "10");
params.put("created_gte", "1571466657929");
params.put("created_lte", "1571898657929");
Map<String, Object> result = SettleAccount.unfreezeList(params);

成功响应

{
    "account_unfreezes": [{
        "app_id": "app_XXXXXXXX",
        "created_time": "1604392443",
        "id": "002112020110316340210169618353981083648",
        "account_freeze_id": "002112020111017580500172176218045927424",
        "object": "account_unfreeze",
        "order_no": "order_no_123",
        "status": "succeeded",
        "prod_mode": "true"
    }, {
        "app_id": "app_XXXXXXXX",
        "created_time": "1604367575",
        "id": "002112020110309393410169514048871583744",
        "account_freeze_id": "002112020111018124600172179913940783104",
        "object": "account_unfreeze",
        "order_no": "order_no_1234",
        "status": "succeeded",
        "prod_mode": "true"
    }],
    "app_id": "app_XXXXXXXX",
    "has_more": false,
    "object": "list",
    "status": "succeeded",
    "prod_mode": "true"
}

余额支付

创建余额支付请求

接口版本:v1

请求方法:POST

接口功能号:settle_accounts.balancePay

商户利用该接口进行余额支付,支持同一商户下的商户-用户,用户-商户,用户-用户间的账户余额支付。

请求参数

参数

类型

必填

描述

adapay_func_code

String

Y

Adapay接口功能号,该接口填固定值:settle_accounts.balancePay

app_id

String(64)

Y

控制台 主页面应用的app_id

order_no

String(64)

Y

请求订单号,只能为英文、数字或者下划线的一种或多种组合,保证在app_id下唯一

out_member_id

String(64)

Y

出账用户的member_id, 若为商户本身时,请传入0

in_member_id

String(64)

Y

入账用户的member_id, 若为商户本身时,请传入0

trans_amt

String(64)

Y

交易金额, 必须大于0,保留两位小数点,如0.10、100.05等

goods_title

String(64)

Y

商品名称

goods_desc

String(127)

Y

商品描述

pay_mode

String(20)

N

支付模式,delay- 延时分账模式(值为 delay 时,div_members 字段必须为空);值为空时并且div_mermbers不为空时,表示实时分账;值为空时并且div_mermbers也为空时,表示不分账;

div_members

String

N

分账对象信息列表,最多仅支持7个分账方,json 数组形式,详见 分账对象信息列表

响应

成功时同步返回交易结果的 JSON。

参数

类型

必填

描述

status

String

Y

当前交易结果状态,参见 状态 说明

error_code

String

N

错误码,详见 错误

error_msg

String

N

错误描述,详见 错误

error_type

String

N

错误类型,详见 错误

mer_cust_id

String

N

商户客户号

app_id

String

N

应用ID

order_no

String

N

订单号

trans_amt

String

N

交易金额

fee_amt

String

N

手续费

balance_seq_id

String

N

余额支付流水号

pay_mode

String

N

支付模式

调用示例

Java

Map<String, Object> balanceParam = new  HashMap<String, Object>(4);
balanceParam.put("app_id", "app_a1b23c45-dc67-890b-123f-45a67890d1c2");
balanceParam.put("adapay_func_code", "settle_accounts.balancePay");
balanceParam.put("order_no", "202104150919237591");
balanceParam.put("out_member_id", "member_10001");
balanceParam.put("in_member_id", "0");
balanceParam.put("trans_amt", "0.01");
balanceParam.put("goods_title", "测试商品名称");
balanceParam.put("goods_desc", "该商品信息用于测试余额支付");

Map<String, Object> paymentResult = AdapayCommon.requestAdapay(balanceParam);

成功响应

{
    "app_id": "app_a1b23c45-dc67-890b-123f-45a67890d1c2",
    "balance_seq_id": "0021120210416093150970228943710247636992",
    "fee_amt": "0.00",
    "order_no": "202104150919237591",
    "trans_amt": "0.01",
    "status": "succeeded",
    "prod_mode": "false"
}

查询余额支付订单列表

接口版本:v1

请求方法:GET

接口功能号:settle_accounts.balancePayList

商户利用该接口可查询余额支付订单的列表。

请求参数

参数

类型

必填

描述

adapay_func_code

String

Y

Adapay接口功能号,该接口填固定值:settle_accounts.balancePayList

app_id

String(64)

Y

控制台 主页面应用的app_id

order_no

String(64)

N

请求订单号,只能为英文、数字或者下划线的一种或多种组合,保证在app_id下唯一

balance_seq_id

String(64)

N

余额支付流水号

trans_stat

String(1)

N

交易结果状态:S-成功 F-失败

page_index

int

N

当前页码,取值范围1~300000,为空默认1

page_size

int

N

页面容量,取值范围1~20,为空默认10

created_gte

String

N

查询大于等于创建时间(13位时间戳),order_no和balance_seq_id都为空时必填

created_lte

String

N

查询小于等于创建时间(13位时间戳);order_no和balance_seq_id都为空时必填。其他场合若不为空时,created_gte 字段值不能为空且小于created_lte 时间

响应

成功时同步返回交易结果的 JSON。

参数

类型

必填

描述

status

String

Y

当前交易结果状态,参见 状态 说明

error_code

String

N

错误码,详见 错误

error_msg

String

N

错误描述,详见 错误

error_type

String

N

错误类型,详见 错误

app_id

String

N

应用ID

order_no

String

N

请求订单号

balance_seq_id

String

N

余额支付流水号

trans_stat

String

N

交易结果状态

has_more

boolean

Y

是否还有更多,true-是,false-否

payments

List

N

支付对象列表, 若未查询到结果时,字段为空

payments字段说明

参数

数据格式

必填

参数名称

created_time

String

Y

交易创建时间戳

balance_seq_id

String

Y

余额支付流水号

app_id

String

Y

控制台 主页面应用的app_id

order_no

String

Y

余额支付请求订单号

out_member_id

String

Y

出账用户的member_id, 若为商户本身时,值为0

out_member_id

String

Y

入账用户的member_id, 若为商户本身时,值为0

trans_amt

String

Y

交易金额

trans_stat

String

Y

当前交易状态:S-成功 F-失败

pay_trans_id

String

N

底层交易流水号

refund_stat

String

N

退款状态:S-成功 F-失败。未发生退款时为空

refund_amt

String

N

已退款金额,未发生退款时为0.00

goods_title

String

Y

商品名称

goods_desc

String

Y

商品描述

trace_id

String

Y

全局统一流水号

status

String

Y

交易结果状态,参见 状态 说明

调用示例

Java

Map<String, Object> queryParam = new  HashMap<String, Object>(4);
queryParam.put("app_id", "app_a1b23c45-dc67-890b-123f-45a67890d1c2");
queryParam.put("adapay_func_code", "settle_accounts.balancePayList");
queryParam.put("order_no", "202104150919237591");
queryParam.put("created_gte", "1618396138");
queryParam.put("created_lte", "1618464538");
queryParam.put("page_index", "1");
queryParam.put("page_size", "10");

Map<String, Object> paymentListResult = AdapayCommon.queryAdapay(queryParam);

成功响应

{
    "status": "succeeded",
    "app_id": "app_a1b23c45-dc67-890b-123f-45a67890d1c2",
    "order_no": "202104150919237591",
    "has_more": "false",
    "payments": [
        {
            "app_id": "app_f8b14a77-dc24-433b-864f-98a62209d6c4",
            "balance_seq_id": "0021120210414183633970228356020519227392",
            "create_time": "1618396594",
            "fee_amt": 0,
            "goods_desc": "余额支付对外接口的测试商品的描述",
            "goods_title": "余额支付测试商品",
            "in_member_id": "0",
            "order_no": "BALANCE_ORDER_20210414100010",
            "out_member_id": "iris1234_14151",
            "pay_trans_id": "Thud8eq11jq8",
            "refund_amt": 0,
            "refund_stat": "F",
            "trace_id": "0021100228356019961384960",
            "trans_amt": 0.1,
            "trans_stat": "S",
            "status": "succeeded",
            "error_code": "",
            "error_msg": ""
        }
    ],
}

余额支付退款

创建余额支付退款

接口版本:v1

请求方法:POST

接口功能号:settle_accounts.balanceRefund

商户可利用该接口进行余额支付和余额支付确认后的交易退款。

请求参数

参数

类型

必填

描述

adapay_func_code

String

Y

Adapay接口功能号,该接口填固定值:settle_accounts.balanceRefund

balance_refund_no

String(64)

Y

请求订单号,只能为英文、数字或者下划线的一种或多种组合,保证在app_id下唯一

balance_seq_id

String(64)

Y

订单确认或者余额支付的对象ID

reason

String(512)

N

退款描述

balance_refund_amt

String(14)

N

退款金额,必须大于0,保留两位小数点,如0.10、100.05等

refund_div_members

String

N

分账对象信息列表,最多仅支持7个分账方,json 数组形式,详见 分账对象信息列表

响应

成功时同步返回交易结果的 JSON。

参数

类型

必填

描述

status

String

Y

当前交易结果状态,参见 状态 说明

error_code

String

N

错误码,详见 错误

error_msg

String

N

错误描述,详见 错误

error_type

String

N

错误类型,详见 错误

balance_refund_no

String

N

退款订单号

balance_order_no

String

N

原余额支付订单号

balance_seq_id

String

N

余额支付流水号

refund_seq_id

String

N

退款流水号

trans_amt

String

N

退款金额

fee_amt

String

N

退还手续费

调用示例

Java

Map<String, Object> refundParam = new  HashMap<String, Object>(4);
refundParam.put("adapay_func_code", "settle_accounts.balanceRefund");
refundParam.put("balanec_refund_no", "REFUND_202104150919237591");
refundParam.put("balance_seq_id", "0021120210415131528970228637605244096512");
refundParam.put("reason", "退款理由");

Map<String, Object> refundResult = AdapayCommon.requestAdapay(refundParam);

成功响应

{
    "balance_order_no": "202104150919237591",
    "balance_refund_no": "REFUND_202104150919237591",
    "balance_seq_id": "0021120210415131528970228637605244096512",
    "refund_seq_id": "0021120210415133253960228641988287582208",
    "status": "succeeded",
}

查询余额支付订单退款列表

接口版本:v1

请求方法:GET

接口功能号:settle_accounts.balanceRefundList

商户利用该接口可查询余额支付订单退款的列表。

请求参数

参数

类型

必填

描述

adapay_func_code

String

Y

Adapay接口功能号,该接口填固定值:settle_accounts.balanceRefundList

app_id

Y

balance_refund_no

String(64)

N

退款请求订单号

refund_seq_id

String(64)

N

退款流水号

balance_seq_id

String(64)

N

原余额支付交易流水号

trans_stat

String(1)

N

交易结果状态:S-成功 F-失败

page_index

int

N

当前页码,取值范围1~300000,为空默认1

page_size

int

N

页面容量,取值范围1~20,为空默认10

created_gte

String

N

查询大于等于创建时间(13位时间戳),balance_refund_no,refund_seq_id和balance_seq_id都为空时必填

created_lte

String

N

查询小于等于创建时间(13位时间戳);balance_refund_no,refund_seq_id和balance_seq_id都为空时必填。其他场合若不为空时,created_gte 字段值不能为空且小于created_lte 时间

响应

成功时同步返回交易结果的 JSON。

参数

类型

必填

描述

status

String

Y

当前交易结果状态,参见 状态 说明

error_code

String

N

错误码,详见 错误

error_msg

String

N

错误描述,详见 错误

error_type

String

N

错误类型,详见 错误

app_id

String

N

应用ID

balance_refund_no

String

N

请求订单号

refund_seq_id

String(64)

N

退款流水号

balance_seq_id

String

N

余额支付流水号

trans_stat

String

N

交易结果状态

has_more

boolean

Y

是否还有更多,true-是,false-否

refunds

List

N

退款对象列表, 若未查询到结果时,字段为空

refunds字段说明

参数

数据格式

必填

参数名称

created_time

String

Y

退款请求创建时间戳

refund_seq_id

String

Y

退款请求流水号

refund_order_no

String

Y

退款请求订单号

balance_seq_id

String

Y

原余额支付流水号

balance_order_no

String

Y

原余额支付订单号

app_id

String

Y

控制台 主页面应用的app_id

trans_amt

String

Y

退款金额

trans_stat

String

Y

当前退款状态:S-成功 F-失败

description

String

N

退款描述

acct_date

String

N

退款账务日期

fee_acct_date

String

N

手续费退款账务日期

error_code

String

N

错误码

error_msg

String

N

错误描述

trace_id

String

Y

全局统一流水号

status

String

Y

退款结果状态,参见 状态 说明

调用示例

Java

Map<String, Object> queryParam = new  HashMap<String, Object>(7);
queryParam.put("app_id", "app_a1b23c45-dc67-890b-123f-45a67890d1c2");
queryParam.put("adapay_func_code", "settle_accounts.balanceRefundList");
queryParam.put("balance_seq_id", "0021120210415131528970228637605244096512");
queryParam.put("created_gte", "1618396138");
queryParam.put("created_lte", "1618464538");
queryParam.put("page_index", "1");
queryParam.put("page_size", "10");

Map<String, Object> paymentListResult = AdapayCommon.queryAdapay(queryParam);

成功响应

{
    "status": "succeeded",
    "app_id": "app_a1b23c45-dc67-890b-123f-45a67890d1c2",
    "balance_seq_id": "0021120210415131528970228637605244096512",
    "has_more": "false",
    "refunds": [
        {
            "app_id": "app_f8b14a77-dc24-433b-864f-98a62209d6c4",
            "refund_seq_id": "0021120210415133253960228641988287582208",
            "refund_order_no": "REFUND_202104150919237591",
            "balance_seq_id": "0021120210415131528970228637605244096512",
            "balance_order_no": "202104150919237591",
            "create_time": "1618396594",
            "trans_stat": "S",
            "trace_id": "0021100228356019961384960",
            "trans_amt": 0.1,
            "acct_date":"20210101",
            "fee_acct_date":"20210101",
            "status": "succeeded",
            "error_code": "",
            "error_msg": ""
        }
    ]
}

余额支付订单确认

创建余额支付订单确认对象

接口版本:v1

请求方法:POST

接口功能号:settle_accounts.balanceconfirm

创建余额支付确认对象适用于余额支付延时分账的场景。只有已支付完成且延时分账的Payment对象,才支持调用创建余额支付确认对象。支持一次全额或多次部分确认,多次部分确认时,当前确认金额 + 已确认金额 + 已撤销金额不能大于原余额支付金额。

请求参数

参数

类型

必填

说明

adapay_func_code

String(64)

Y

Adapay接口功能号,该接口填固定值:settle_accounts.balanceconfirm

balance_seq_id

String(64)

Y

余额支付的对象ID

description

String(512)

Y

订单确认备注

confirm_amt

String(14)

Y

退款金额,必须大于0,保留两位小数点,如0.10、100.05等

div_members

String

N

分账对象信息列表,最多仅支持7个分账方,json 数组形式,详见 分账对象信息列表

order_no

String(64)

Y

请求订单号,只能为英文、数字或者下划线的一种或多种组合,保证在app_id下唯一

响应

成功时同步返回交易结果的 JSON。

参数

类型

必填

描述

status

String

Y

当前交易结果状态,参见 状态 说明

error_code

String

N

错误码,详见 错误

error_msg

String

N

错误描述,详见 错误

error_type

String

N

错误类型,详见 错误

app_id

String

N

应用app_id

order_no

String

N

余额支付订单确认的订单号

balance_seq_id

String

N

原余额支付流水号

id

String

N

余额支付订单确认流水号

confirm_amt

String

N

确认金额

fee_amt

String

N

手续费

created_time

String

N

订单确认时间

调用示例

Java

Map<String, Object> confirmParams = new  HashMap<String, Object>(4);
confirmParams.put("order_no", "REFUND_202104150919237591");
confirmParams.put("adapay_func_code", "settle_accounts.balanceconfirm");
confirmParams.put("balance_seq_id", "0021120210415131528970228637605244096512");
confirmParams.put("confirm_amt", "2.00");
List<Map<String, String>> memberList = new ArrayList<>();
Map<String, String> divMember = new HashMap<>(3);
divMember.put("member_id", "0");
divMember.put("amount", "0.02");
divMember.put("fee_flag", "Y");
memberList.add(divMember);
confirmParams.put("div_members", memberList);
confirmParams.put("description", "确认描述");

Map<String, Object> refundResult = AdapayCommon.requestAdapay(confirmParams);

成功响应

{
    "order_no": "202104150919237591",
    "id": "0021120210415133253960228641988287582208",
    "balance_seq_id": "0021120210415131528970228637605244096512",
    "app_id": "app_XXXXXXXX",
    "confirm_amt": "2.00",
    "fee_amt": "0.01",
    "status": "succeeded",
}

查询余额支付确认对象

接口版本:v1

请求方法:GET

接口功能号:settle_accounts.balanceRefund.{payment_confirm_id}

商户可利用该接口进行余额支付确认订单的查询。

请求参数

参数

类型

必填

说明

adapay_func_code

String(64)

Y

Adapay接口功能号:settle_accounts.balanceconfirm.{payment_confirm_id}

payment_confirm_id

String(64)

Y

Adapay生成的余额支付确认对象id

响应

参数

类型

说明

id

String(64)

Adapay生成的支付确认对象id

created_time

String(10)

创建时的时间戳

app_id

String(64)

控制台 主页面应用的app_id

payment_id

String(64)

Adapay生成的余额支付对象id

order_no

String(64)

请求订单号,只能为英文、数字或者下划线的一种或多种组合,保证在app_id下唯一

confirm_amt

String(14)

确认金额, 必须大于0,保留两位小数点,如0.10、100.05等。必须小于等于原支付金额-已确认金额-已撤销金额。

fee_amt

String(14)

支付确认手续费金额

confirmed_amt

String(16)

原支付对象已确认金额。

reserved_amt

String(16)

原支付对象已撤销金额,包括已撤销完成金额和撤销处理中的金额。

refunded_amt

String(16)

当前支付确认对象已退款金额,包括已退款完成金额和退款处理中的金额。

description

String(128)

附加说明

div_members

List

分账对象信息列表,一次请求最多仅支持7个分账方。json对象 形式,详见 分账对象信息列表

fee_mode

String(1)

手续费收取模式:O-商户手续费账户扣取手续费,I-交易金额中扣取手续费;值为空时,默认值为I;若为O时,分账对象列表中不支持传入手续费承担方

status

String(16)

当前交易状态,参见 状态 说明

error_code

String(32)

错误码,详见 错误

error_msg

String(128)

错误描述,详见 错误

error_type

String(32)

错误类型,详见 错误

调用示例

Java

Map<String, Object> confirmParams = new HashMap<>();
confirmParams.put("adapay_func_code", "settle_accounts.balanceconfirm.{payment_confirm_id}");
Map<String, Object> paymentConfirm = AdapayCommon.requestAdapay(confirmParams);
  • 成功响应

{
    "app_id": "app_XXXXXXXX",
    "confirm_amt": "0.02",
    "fee_amt": "0.00",
    "confirmed_amt": "0.00",
    "created_time": "1571378447",
    "description": "description",
    "div_members": [
        {
            "amount": "0.02",
            "fee_flag": "Y",
            "member_id": "0"
        }
    ],
    "id": "002112019101814004710031147620004315136",
    "order_no": "jsdk_payment_confirm_1571378445992",
    "refunded_amt": "0.00",
    "reserved_amt": "0.00",
    "status": "succeeded",
    "prod_mode": "true"
}

查询支付确认对象列表

接口版本:v1

请求方法:GET

接口功能号:settle_accounts.balanceRefundList

商户利用该接口可查询余额支付订单确认列表。

请求参数

参数

类型

必填

说明

adapay_func_code

String(64)

Y

Adapay接口功能号:settle_accounts.balanceconfirm.list

app_id

String(64)

Y

控制台 主页面应用的app_id

payment_id

String(64)

N

Adapay生成的余额支付对象id

order_no

String(64)

N

请求订单号,只能为英文、数字或者下划线的一种或多种组合

page_index

int

N

当前页码,取值范围1~300000,默认值为1

page_size

int

N

页面容量,取值范围1~20,默认值为10

created_gte

String

N

查询大于等于创建时间戳

created_lte

String

N

查询小于等于创建时间戳;若不为空时,created_gte字段值不能为空且小于created_lte时间

响应

参数

类型

必填

说明

object

String(8)

Y

支付确认对象列表,list

prod_mode

String(4)

Y

是否prod模式,true是prod模式,false是mock模式

app_id

String(64)

Y

控制台 主页面应用的app_id

payment_id

String(64)

N

Adapay生成的支付对象id

has_more

boolean

Y

是否还有更多,true-是,false-否

payment_confirms

List

N

余额支付确认对象 列表,若未查询到结果时,字段为空

status

String(16)

Y

当前交易状态,参见 状态 说明

error_code

String(32)

N

错误码,详见 错误

error_msg

String(128)

N

错误描述,详见 错误

error_type

String(32)

N

错误类型,详见 错误

invalid_param

String(32)

N

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

调用示例

Java

Map<String, Object> confirmParams = new HashMap<>();
confirmParams.put("app_id", "app_XXXXXXXX");
confirmParams.put("adapay_func_code", "settle_accounts.balanceconfirm.list");
confirmParams.put("payment_id", "");
confirmParams.put("page_index", "1");
confirmParams.put("page_size", "10");
confirmParams.put("created_gte", "1571466657929");
confirmParams.put("created_lte", "1571898657929");
Map<String, Object> paymentConfirmList = AdapayCommon.requestAdapay(confirmParams);
  • 成功响应

{
    "app_id": "app_XXXXXXXX",
    "has_more": true,
    "object": "list",
    "payment_confirms": [
        {
            "app_id": "app_XXXXXXXX",
            "confirm_amt": "0.02",
            "fee_amt": "0.00",
            "confirmed_amt": "0.00",
            "created_time": "1571378447",
            "description": "description",
            "div_members": [
                {
                    "amount": "0.02",
                    "fee_flag": "Y",
                    "member_id": "0"
                }
            ],
            "id": "002112019101814004710031147620004315136",
            "object": "payment_confirm",
            "order_no": "jsdk_payment_confirm_1571378445992",
            "refunded_amt": "0.00",
            "reserved_amt": "0.00",
            "status": "succeeded",
            "prod_mode": "true"
        }
    ],
    "status": "succeeded",
    "prod_mode": "true"
}

余额支付撤销对象

参数

类型

必填

说明

id

String(64)

Y

Adapay生成的支付撤销对象id

order_no

String(64)

Y

请求订单号,只能为英文、数字或者下划线的一种或多种组合,保证在app_id下唯一

object

String(8)

Y

支付撤销对象,payment_reverse

prod_mode

String(4)

Y

true是prod模式,false是mock模式

balance_seq_id

String(64)

Y

原余额支付交易id

app_id

String(64)

Y

控制台 主页面应用的app_id

reverse_amt

String(16)

Y

撤销金额,必须大于0,保留两位小数点,如0.10、100.05等

reversed_amt

String(16)

Y

原支付对象已撤销金额,包括已撤销完成金额和撤销处理中的金额

confirmed_amt

String(16)

Y

当前支付对象已确认金额

refunded_amt

String(16)

Y

当前支付确认对象已退款金额,包括已退款完成金额和退款处理中的金额

notify_url

String(250)

N

异步通知地址,url为http/https路径,服务器POST回调,URL 上请勿附带参数

created_time

String(13)

N

创建时间戳

succeed_time

String(13)

N

撤销成功时间戳

channel_no

String(64)

N

扫码收银台返回的退款交易流水号

status

String(16)

Y

当前支付撤销状态,参见 状态 说明

error_code

String(32)

N

错误码,详见 错误

error_msg

String(128)

N

错误描述,详见 错误

error_type

String(32)

N

错误类型,详见 错误

invalid_param

String(32)

N

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

创建余额支付撤销对象

接口版本:v1

请求方法:POST

接口功能号:settle_accounts.balancereverse

创建余额支付撤销对象适用于延时分账的场景。只有已支付完成且为延时分账的 Payment 对象,在没有创建余额支付确认对象成功之前,可以调用创建余额支付撤销对象,用来撤销余额支付,资金会原路退回分账用户的基本账户中。 支持一次全额或多次部分撤销,撤销次数最多不超过10次。多次部分撤销时,当前撤销金额 + 已撤销金额 + 已确认金额不能大于原余额支付金额。

注:支持撤销最长时间为178天,若返回码是”order_id_not_exists 订单记录不存在”,即超过撤销期限,无法撤销成功。

请求参数

参数

类型

必填

说明

adapay_func_code

String

Y

Adapay接口功能号,该接口填固定值:settle_accounts.balancereverse

balance_seq_id

String(64)

Y

Adapay生成的余额支付对象id

app_id

String(64)

Y

控制台 主页面应用的app_id

order_no

String(64)

Y

请求订单号,只能为英文、数字或者下划线的一种或多种组合,保证在app_id下唯一

reverse_amt

String(14)

Y

撤销金额,必须大于0,保留两位小数点,如0.10、100.05等。撤销金额必须小于等于支付金额 - 已确认金额 - 已撤销(撤销成功+撤销中)金额。

reason

String(512)

N

撤销描述

expand

String(512)

N

扩展域

device_info

String(1024)

N

设备静态信息,详见 设备信息

响应

成功时同步返回一个包含 余额支付撤销对象 的 JSON。

调用示例

Java

Map<String, Object> reverseParams = new HashMap<>();
reverseParams.put("app_id", "app_XXXXXXXX");
reverseParams.put("adapay_func_code", "settle_accounts.balancereverse");
reverseParams.put("balance_seq_id", "002112019101810164110031091225392021504");
reverseParams.put("reverse_amt", "0.01");
reverseParams.put("order_no", "jsdk_reverse" + System.currentTimeMillis());
Map<String, Object> paymentReverse = AdapayCommon.requestAdapay(reverseParams);
  • 成功响应

{
    "id":  "002112019102413120700033309700010668032",
    "object":  "payment_reverse",
    "status":  "succeeded",
    "prod_mode":  "true",
    "order_no":  "jsdk_reverse1571893921558",
    "balance_seq_id":  "002112019101810164110031091225392021504",
    "app_id":  "app_XXXXXXXX",
    "reverse_amt":  "0.01",
    "reversed_amt":  "0.00",
    "confirmed_amt":  "0.00",
    "refunded_amt":  "0.00",
    "created_time":  "1571893927000",
    "succeed_time":  "1571894004000"
}

查询余额支付撤销对象

接口版本:v1

请求方法:GET

接口功能号:settle_accounts.balancereverse.{reverseId}

通过余额支付撤销id查询余额支付撤销对象。

请求参数

参数

类型

必填

说明

adapay_func_code

String

Y

Adapay接口功能号:settle_accounts.balancereverse.{reverse_id}

reverse_id

String(64)

Y

Adapay生成的余额支付撤销对象id

响应

成功时同步返回一个包含 余额支付撤销对象 的 JSON。

调用示例

Java

Map<String, Object> reverseQueryParams = new HashMap<>();
reverseQueryParams.put("adapay_func_code", "settle_accounts.balancereverse.{reverse_id}");
Map<String, Object> paymentReverse =  AdapayCommon.requestAdapay(reverseQueryParams);
  • 成功响应

{
    "id":  "002112019102413120700033309700010668032",
    "object":  "payment_reverse",
    "status":  "succeeded",
    "prod_mode":  "true",
    "order_no":  "jsdk_reverse1571893921558",
    "balance_seq_id":  "002112019101810164110031091225392021504",
    "app_id":  "app_XXXXXXXX",
    "reverse_amt":  "0.01",
    "reversed_amt":  "0.00",
    "confirmed_amt":  "0.00",
    "refunded_amt":  "0.00",
    "created_time":  "1571893927000",
    "succeed_time":  "1571894004000"
}

查询余额支付撤销对象列表

接口版本:v1

请求方法:GET

接口功能号:settle_accounts.balancereverse.list

通过条件查询余额支付撤销对象列表。

请求参数

参数

类型

必填

说明

adapay_func_code

String

Y

Adapay接口功能号,该接口填固定值:settle_accounts.balancereverse.list

app_id

String(64)

Y

控制台 主页面应用的app_id

balance_seq_id

String(64)

N

Adapay生成的余额支付对象id

page_index

int

N

当前页码,取值范围1~300000,默认值为1

page_size

int

N

页面容量,取值范围1~20,默认值为10

created_gte

String

N

查询大于等于创建时间戳

created_lte

String

N

查询小于等于创建时间戳;若不为空时,created_gte字段值不能为空且小于created_lte时间

响应

参数

类型

必填

说明

object

String(8)

Y

支付确认对象列表,list

prod_mode

String(4)

Y

是否prod模式,true是prod模式,false是mock模式

app_id

String(64)

Y

控制台 主页面应用的app_id

balance_seq_id

String(64)

N

Adapay生成的余额支付对象id

has_more

boolean

Y

是否还有更多,true-是,false-否

payment_reverses

List

N

余额支付撤销对象 列表,若未查询到结果时,字段为空

status

String(16)

Y

当前交易状态,参见 状态 说明

error_code

String(32)

N

错误码,详见 错误

error_msg

String(128)

N

错误描述,详见 错误

error_type

String(32)

N

错误类型,详见 错误

invalid_param

String(32)

N

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

调用示例

Java

Map<String, Object> reverseParams = new HashMap<>();
reverseParams.put("adapay_func_code", "settle_accounts.balancereverse.list");
reverseParams.put("app_id", "app_XXXXXXXX");
reverseParams.put("balance_seq_id", "");
reverseParams.put("page_index", "1");
reverseParams.put("page_size", "10");
reverseParams.put("created_gte", "1571466657929");
reverseParams.put("created_lte", "1571898657929");
Map<String, Object> paymentReverseList = AdapayCommon.requestAdapay(reverseParams);
  • 成功响应

{
    "app_id": "app_XXXXXXXX",
    "has_more": true,
    "object": "list",
    "payment_confirms": [
        {
            "id":  "002112019102413120700033309700010668032",
            "object":  "payment_reverse",
            "status":  "succeeded",
            "prod_mode":  "true",
            "order_no":  "jsdk_reverse1571893921558",
            "balance_seq_id":  "002112019101810164110031091225392021504",
            "app_id":  "app_XXXXXXXX",
            "reverse_amt":  "0.01",
            "reversed_amt":  "0.00",
            "confirmed_amt":  "0.00",
            "refunded_amt":  "0.00",
            "created_time":  "1571893927000",
            "succeed_time":  "1571894004000"
        }
    ],
    "status": "succeeded",
    "prod_mode": "true"
}

账务流水

查询账务流水

接口版本:v1

请求方法:GET

接口功能号:acct.flow.list

可通过该接口查询子账户的账务流水明细,支持查询商户和分账用户的账务流水明细。

注意:仅支持查询10000条流水记录。

请求参数

参数

类型

必填

说明

adapay_func_code

String

Y

Adapay接口功能号,该接口填固定值:acct.flow.list

app_id

String(64)

Y

控制台 主页面应用的app_id

member_id

String(64)

Y

用户对象的member_id,若查询商户本身时,传入值0

acct_type

String(2)

Y

账户类型,01-基本户,02-手续费账户,03-临时过渡户,若查询主体为用户,则只支持查询基本户

page_index

int

N

当前页码,取值范围1~10000,默认值为1

page_size

int

N

页面容量,取值范围1~100,默认值为10

begin_date

String(8)

Y

查询起始日期,格式为 yyyyMMdd

end_date

String(8)

Y

查询结束日期,格式为 yyyyMMdd,日期间隔必须小于等于7天

响应

参数

类型

必填

说明

object

String(8)

Y

账务流水对象,acct.flow

prod_mode

String(4)

Y

是否prod模式,true是prod模式,false是mock模式

app_id

String(64)

N

控制台 主页面应用的app_id

member_id

String(64)

N

用户对象member_id,若是商户本身取现时,则为0

acct_type

String(2)

N

账户类型,01-基本户,02-手续费账户,03-临时过渡户

begin_date

String(8)

N

查询起始日期,格式为 yyyyMMdd

end_date

String(8)

N

查询结束日期,格式为 yyyyMMdd

has_more

boolean

Y

是否还有更多,true-是,false-否

acct_flows

List

N

账务流水对象列表,若未查询到结果时,字段为空

status

String(16)

Y

当前交易状态,参见 状态 说明

error_code

String(32)

N

错误码,详见 错误

error_msg

String(128)

N

错误描述,详见 错误

error_type

String(32)

N

错误类型,详见 错误

invalid_param

String(32)

N

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

账务流水对象acct_flows说明:

参数

类型

必填

说明

trace_id

String(64)

N

全局流水号

acct_seq_id

String(32)

N

账务流水号

acct_date

String(8)

N

账务日期,格式为 yyyyMMdd

trans_date_time

String(14)

N

账务时间,格式为 yyyyMMddHHmmss

trans_amt

String(16)

N

金额,保留两位小数点,如0.10、100.05等

fee_amt

String(16)

N

手续费金额,保留两位小数点,如0.10、100.05等

balance_amt

String(16)

N

交易后余额,保留两位小数点,如0.10、100.05等

debit_flag

String(1)

N

借贷标识,D-借记(出款),C-贷记(入款)

trans_type

String(4)

N

账务类型,详见 账务类型

调用示例

Java

Map<String, Object> acctFlowParams = new HashMap<>();
acctFlowParams.put("adapay_func_code", "acct.flow.list");
acctFlowParams.put("app_id", "app_XXXXXXXX");
acctFlowParams.put("member_id", "0");
acctFlowParams.put("acct_type", "01");
acctFlowParams.put("page_index", "1");
acctFlowParams.put("page_size", "10");
acctFlowParams.put("begin_date", "20200101");
acctFlowParams.put("end_date", "20200101");
Map<String, Object> acctFlowList = AdapayCommon.queryAdapay(acctFlowParams);
  • 成功响应

{
    "acct_flows": [
        {
            "acct_date": "20200101",
            "acct_seq_id": "9012238869",
            "balance_amt": "912.63",
            "debit_flag": "C",
            "fee_amt": "0.00",
            "trace_id": "002112*****67737647104",
            "trans_amt": "50.00",
            "trans_date_time": "20200101155813",
            "trans_type": "1006"
        }
    ],
    "acct_type": "01",
    "app_id": "app_******",
    "begin_date": "20200101",
    "end_date": "20200101",
    "has_more": true,
    "member_id": "0",
    "object": "acct_flow",
    "prod_mode": "false",
    "status": "succeeded"
}