钱包

创建取现对象

通过该接口,实现对指定商户或者商户下用户的结算账户可用余额发起主动取现操作,金额从账户中提到绑定的结算银行卡中。Adapay 会发送 异步消息通知 告知取现终态结果,请以异步通知结果为准。

注:该功能存在权限限制,若需要,请联系销售开通权限。

请求参数

参数

类型

必填

描述

order_no

String(64)

Y

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

app_id

String(64)

Y

控制台 主页面应用的app_id

cash_type

String(2)

Y

取现类型,枚举值:T1-T+1取现。目前只支持 T1 取现

cash_amt

String(16)

Y

取现金额,必须大于0,人民币为元,保留两位小数点,如0.10、100.05等

member_id

String(64)

Y

用户对象的member_id,若是商户本身取现时,请传入0

notify_url

String(250)

N

异步通知地址,默认使用轻量、简单 MQTT 通知(强烈建议使用),url为http/https 路径,服务器 POST 回调,请不要地址上带有参数。

响应

参数

类型

必填

描述

id

String(64)

Y

由Adapay生成的取现对象 id

app_id

String(64)

Y

控制台 主页面应用的app_id

object

String(20)

Y

取现对象,cash

created_time

String(10)

Y

取现对象创建时的 10 位时间戳

prod_mode

String

Y

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

order_no

String(64)

Y

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

cash_type

String(2)

Y

取现类型,枚举值:T1-T+1取现。目前只支持 T1 取现

cash_amt

String(16)

Y

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

real_amt

String(16)

N

取现成功后的到账金额,值为取现金额 - 取现手续费金额。

fee_amt

String(16)

N

取现手续费金额

status

String

Y

当前查询状态,参见 状态 说明

error_code

String

N

错误码,详见 错误

error_msg

String

N

错误描述,详见 错误

error_type

String

N

错误类型,详见 错误

invalid_param

String

N

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

调用示例

Java

Map<String, Object> cashParam = new  HashMap<String, Object>(5);
cashParam.put("order_no", "1579163031383");
cashParam.put("app_id", "app_XXXXXXXX");
cashParam.put("cash_type", "T1");
cashParam.put("cash_amt", "0.01");
cashParam.put("member_id", "member_id_test");
Map<String, Object> cash = SettleAccount.drawCash(cashParam, merchantKey);

成功响应

{
    "app_id": "app_XXXXXXXX",
    "cash_amt": "0.01",
    "cash_type": "T1",
    "created_time": "1579163032",
    "fee_amt": "0.00",
    "id": "0021110063798536337944576",
    "member_id": "member_id_test",
    "object": "cash",
    "order_no": "1579163031383",
    "real_amt": "0.01",
    "status": "pending",
    "prod_mode": "true"
}

查询账户余额对象

查询商户或商户下某个用户结算账户的余额,当查询商户自身时,member_id请传入0,settle_account_id字段不输入,而当查询商户下的用户时,member_id和settle_account_id必须传入。

请求参数

参数

类型

必填

描述

app_id

String(64)

Y

控制台 主页面应用的app_id

member_id

String(64)

Y

商户用户对象 id,只能为英文、数字或者下划线的一种或多种组合,若查询商户本身时,传入值0

settle_account_id

String

N

由Adapay生成的结算账户对象id,若查询商户本身时,可以为空

响应

参数

类型

必填

描述

app_id

String(64)

Y

控制台 主页面应用的app_id

object

String(20)

Y

账户余额对象,account_balance

prod_mode

String

Y

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

acct_balance

String(16)

N

账户余额,账户余额 = 可用余额 + 冻结余额

avl_balance

String(16)

N

可用余额,该余额大于0时,才可发起取现。

frz_balance

String(16)

N

冻结余额,当配置了自动结算功能,在每日发起结算时会将可用余额转为冻结金额。该部分金额不允许取现。

status

String

Y

当前查询状态,参见 状态 说明

error_code

String

N

错误码,详见 错误

error_msg

String

N

错误描述,详见 错误

error_type

String

N

错误类型,详见 错误

invalid_param

String

N

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

调用示例

Java

Map<String, Object> queryParams = new  HashMap<String, Object>(5);
queryParams.put("settle_account_id", settle_account_id);
queryParams.put("member_id", member_id);
queryParams.put("app_id", app_id);
Map<String, Object> settleCount = SettleAccount.queryBalance(queryParams, merchantKey);

成功响应

{
    "acct_balance": "0.00",
    "app_id": "app_XXXXXXXX",
    "avl_balance": "0.00",
    "frz_balance": "0.00",
    "object": "account_balance",
    "status": "succeeded",
    "prod_mode": "true"
}

用户登录对象(敬请期待)

用户登录钱包申请临时token,当登录商户自身时,member_id请传入0。

请求参数

参数

类型

必填

描述

app_id

String(64)

Y

控制台 主页面应用的app_id

member_id

String(64)

Y

商户用户对象 id,只能为英文、数字或者下划线的一种或多种组合,若查询商户本身时,传入值0

ip

String(64)

Y

请填写真实的用户客户端IP

响应

参数

类型

必填

描述

app_id

String(64)

Y

控制台 主页面应用的app_id

object

String(20)

Y

账户余额对象,login

prod_mode

String(20)

Y

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

token

String(64)

N

临时token

sign

String(64)

N

登录的签名,登录时候请传入

error_code

String

N

错误码,详见 错误

error_msg

String

N

错误描述,详见 错误

error_type

String

N

错误类型,详见 错误

invalid_param

String

N

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

调用示例

Java

Map<String, Object> queryParams = new  HashMap<String, Object>(5);
queryParams.put("ip", ip);
queryParams.put("member_id", member_id);
queryParams.put("app_id", app_id);
Map<String, Object> login = Login.login(queryParams, merchantKey);

成功响应

{
    "acct_balance": "0.00",
    "app_id": "app_XXXXXXXX",
    "token": "XXXXXXXX",
    "sign": "XXXXXXXX",
    "object": "login",
    "status": "succeeded",
    "prod_mode": "true"
}

钱包对象(敬请期待)

用户登录申请token,用于登录钱包

请求参数

参数

类型

必填

描述

token

String(64)

Y

token

sign

String(64)

Y

签名

响应

响应为form格式的表单字符串,请输出到浏览器

调用示例

Java

Map<String, Object> queryParams = new  HashMap<String, Object>(5);
queryParams.put("token", token);
queryParams.put("sign", sign);
String formString = Login.wallet(queryParams);