账户管理¶
账户冻结对象¶
参数 |
类型 |
说明 |
---|---|---|
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 |
调用示例¶
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 |
调用示例¶
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 |
设备静态信息,详见 设备信息 |
调用示例¶
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 |
调用示例¶
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"
}