钱包

取现对象

创建取现对象

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

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

请求参数

参数

类型

必填

描述

order_no

String(64)

Y

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

app_id

String(64)

Y

控制台 主页面应用的app_id

cash_type

String(2)

Y

取现类型:T1-T+1取现;D1-D+1取现;D0取现。

cash_amt

String(16)

Y

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

member_id

String(64)

Y

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

notify_url

String(250)

N

异步通知地址,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"
}

查询取现对象

通过该功能,可以查询已发起的取现交易状态。

请求参数

参数

类型

必填

描述

order_no

String(64)

Y

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

响应

参数

类型

必填

描述

cash_list

List

N

取现订单信息

status

String

Y

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

error_code

String

N

错误码,详见 错误

error_msg

String

N

错误描述,详见 错误

error_type

String

N

错误类型,详见 错误

invalid_param

String

N

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

cash_list字段说明:

参数

类型

必填

描述

cash_id

String

Y

由Adapay生成的取现对象 id

cash_amt

String

Y

取现金额

trans_stat

String

N

取现状态:S-成功,F-失败,P-处理中

调用示例

Java

Map<String, Object> queryCashParam = new  HashMap<String, Object>(2);
queryCashParam.put("order_no", "1579163031383");
Map<String, Object> cash = Cash.query(queryCashParam, merchantKey);

成功响应

{
    "status": "succeeded",
    "prod_mode": [
        {
            "cash_id": "0021110050669894721900544",
            "cash_amt": "1.00",
            "trans_stat": "S"
        }
    ]
}

查询账户余额对象

查询商户或商户下某个用户结算账户的余额,当查询商户自身时,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

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

last_avl_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",
    "last_avl_balance": "0.00",
    "object": "account_balance",
    "status": "succeeded",
    "prod_mode": "true"
}

钱包登录对象

当您想登录钱包时,需要通过 Adapay 提供的创建方法获取一个新的 Login 钱包登录对象,该对象含有 redirect_url 钱包登录链接, 商户在前端页面中跳转至钱包登录链接,Adapay 会自动弹出钱包的 H5 页面。钱包内含有提现、密码管理、银行卡等功能。若商户需要登录钱包时,请求参数member_id请传入0。 若钱包内提示登录过期,则需要申请新的 Login 钱包登录对象。详见 钱包登录功能 说明

请求参数

参数

类型

必填

描述

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模式

redirect_url

String(128)

N

登录URL

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);

成功响应

{
    "app_id": "app_XXXXXXXX",
    "redirect_url": "https://page.adapay.tech/wallet/v1/?token=e8f177f6bb074012218be00342a4fd40a7&sign=5b74ede4b12123710f8b6799538acffb6",
    "object": "login",
    "status": "succeeded",
    "prod_mode": "true"
}

钱包支付对象

当您想发起一次钱包支付请求时, 需要通过 Adapay 提供的创建方法获取一个新的 account_payment对象,该对象含有pay_url 钱包支付下单链接。 商户在前端页面中跳转至钱包支付下单链接,Adapay 会自动弹出钱包支付的 H5 页面,该页面需要付款方(目前仅支持商户)使用商户 控制台 对应的登录手机号和密码登录,登录成功后, 进入钱包支付支付确认页面,输入钱包支付密码进行钱包支付确认。Adapay 会将钱包支付结果通过发送 异步消息通知 告知。详见 钱包支付功能 说明。

参数

类型

必填

描述

id

String(64)

Y

Adapay生成的钱包支付对象id

object

String(20)

Y

钱包支付对象,account_payment

prod_mode

String(4)

Y

true是prod模式,false是mock模式

order_no

String(64)

Y

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

app_id

String(64)

Y

控制台 主页面应用的app_id

pay_amt

String(14)

Y

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

goods_title

String(64)

Y

商品标题

goods_desc

String(127)

Y

商品描述信息

mer_phone

String(11)

N

商户注册手机号,若值为空时,商户钱包支付需要输入密码登录;若不为空时,商户钱包支付免登录。

currency

String(3)

N

3位 ISO 货币代码,小写字母,默认为人民币:cny,详见 货币代码

time_expire

String(20)

N

订单失效时间,输入格式:yyyyMMddHHmmss,默认失效时间2小时;最短1分钟,最长不超过1天

description

String(128)

N

订单附加说明

notify_url

String(250)

N

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

callback_url

String(250)

N

支付成功后跳转地址

expend

Map

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

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

expend字段说明:

参数

类型

必填

描述

pay_url

String(256)

N

钱包支付的链接

创建钱包支付对象

当您想发起一次钱包支付请求时, 需要通过 Adapay 提供的创建方法获取一个新的 account_payment对象,该对象含有pay_url 钱包支付下单链接。 商户在前端页面中跳转至钱包支付下单链接,Adapay 会自动弹出钱包支付的 H5 页面,该页面需要付款方(目前仅支持商户)使用商户 控制台 对应的登录手机号和密码登录,登录成功后, 进入钱包支付支付确认页面,输入钱包支付密码进行钱包支付确认。Adapay 会将钱包支付结果通过发送 异步消息通知 告知。详见 钱包支付功能 说明。

请求参数

参数

类型

必填

描述

order_no

String(64)

Y

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

app_id

String(64)

Y

控制台 主页面应用的app_id

pay_amt

String(14)

Y

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

goods_title

String(64)

Y

商品标题

goods_desc

String(127)

Y

商品描述信息

mer_phone

String(11)

N

商户注册手机号,若值为空时,商户钱包支付需要输入密码登录;若不为空时,商户钱包支付免登录。

currency

String(3)

N

3位 ISO 货币代码,小写字母,默认为人民币:cny,详见 货币代码

time_expire

String(20)

N

订单失效时间,输入格式:yyyyMMddHHmmss,默认失效时间2小时;最短1分钟,最长不超过1天

description

String(128)

N

订单附加说明

notify_url

String(250)

N

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

callback_url

String(250)

N

支付成功后跳转地址

响应

同步返回一个 钱包支付对象 的 JSON。

调用示例

Java

// 请求参数
Map<String, Object> paymentParams = new HashMap<String, Object>();
paymentParams.put("order_no",  "payment_sdk_123456789");
paymentParams.put("pay_amt", "0.01");
paymentParams.put("app_id", "app_XXXXXXXX");
paymentParams.put("goods_title",  "Your goods_title");
paymentParams.put("goods_desc",  "Your goods_desc");
paymentParams.put("description",  "payment Discription");
paymentParams.put("callback_url",  "https://www.baidu.com");
Map<String, Object> paymentResponse = Payment.createPage(paymentParams);

成功响应

{
    "order_no": "payment_sdk_123456789",
    "created_time": "1582795442",
    "time_expire": "20200227192402",
    "pay_amt": "0.01",
    "goods_desc": "goods_desc",
    "callback_url": "https://www.baidu.com",
    "goods_title": "goods_title",
    "expend": {
        "pay_url": "https://page.adapay.tech/v1/16296c7c656c4cb2f876b918c0e395bab3ddaf099046b3e690765f15ca308087"
    },
    "prod_mode": "true",
    "currency": "cny",
    "id": "002112020022717240210079033970230317056",
    "app_id": "app_XXXXXXXX",
    "object": "account_payment",
    "status": "succeeded"
}

收银台对象

参数

类型

必填

描述

object

String(20)

Y

收银台对象,checkout

prod_mode

String(4)

Y

true是prod模式,false是mock模式

order_no

String(64)

Y

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

created_time

String(10)

Y

收银台对象创建时间戳

app_id

String(64)

Y

控制台 主页面应用的 app_id

member_id

String(64)

N

商户下的用户id。支付渠道为 fast_pay 时,必传。只能为英文、数字或者下划线的一种或多种组合,保证在app_id下唯一

pay_amt

String(14)

Y

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

pay_channel

String(20)

N

支付渠道: fast_pay-快捷支付,online_pay-网银支付;为空时,默认为fast_pay。

goods_title

String(64)

Y

商品标题

goods_desc

String(127)

Y

商品描述信息

pay_mode

String(20)

N

支付模式,delay- 延时分账模式;值为空时,表示实时分账;值为 delay 时,div_members 字段必须为空

div_members

List

N

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

currency

String(3)

N

3位 ISO 货币代码,小写字母,默认为人民币:cny,详见 货币代码

time_expire

String(20)

N

订单失效时间,输入格式:yyyyMMddHHmmss,默认失效时间2小时;最短1分钟,最长不超过1天

description

String(128)

N

订单附加说明

notify_url

String(250)

N

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

callback_url

String(250)

N

商户前端页面地址,支付成功或失败时,会向该地址跳转

expend

Map

N

下单成功后返回的扩展参数

fee_mode

String(1)

N

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

status

String(16)

Y

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

error_code

String(32)

N

错误码,详见 错误

error_msg

String(128)

N

错误描述,详见 错误

error_type

String(32)

N

错误类型,详见 错误

invalid_param

String(32)

N

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

expend字段说明:

参数

类型

必填

描述

pay_url

String(256)

N

跳转收银台的链接

创建收银台对象

当您想发起一次快捷支付请求时, 需要通过 Adapay 提供的创建方法获取一个新的checkout对象,该对象含有pay_url 跳转收银台的链接。 商户在前端页面中跳转至收银台链接,Adapay 会自动弹出快捷支付的 H5 页面,该页面用户可以选择已绑定快捷卡进行支付,也可以新增银行卡进行支付, 支付完成后,Adapay 会将支付结果通过发送 异步消息通知 告知。

注:该功能存在权限限制,若需要使用,请联系商务开通权限。

请求参数

参数

类型

必填

描述

order_no

String(64)

Y

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

app_id

String(64)

Y

控制台 主页面应用的app_id

member_id

String(64)

N

商户下的用户id。支付渠道为 fast_pay 时,必传。只能为英文、数字或者下划线的一种或多种组合,保证在app_id下唯一

pay_channel

String(20)

N

支付渠道: fast_pay-快捷支付,online_pay-网银支付;为空时,默认为fast_pay。

pay_amt

String(14)

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_members

List

N

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

currency

String(3)

N

3位 ISO 货币代码,小写字母,默认为人民币:cny,详见 货币代码

time_expire

String(20)

N

订单失效时间,输入格式:yyyyMMddHHmmss,默认失效时间2小时;最短1分钟,最长不超过1天

description

String(128)

N

订单附加说明

notify_url

String(250)

N

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

callback_url

String(250)

N

商户前端页面地址,支付成功或失败时,会向该地址跳转

fee_mode

String(1)

N

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

响应

同步返回一个 收银台对象 的 JSON。

调用示例

Java

// 请求参数
Map<String, Object> checkoutParams = new HashMap<String, Object>();
checkoutParams.put("order_no",  "checkoutParams_sdk_123456789");
checkoutParams.put("pay_amt", "0.02");
checkoutParams.put("app_id", "app_XXXXXXXX");
checkoutParams.put("currency",  "cny");
checkoutParams.put("member_id",  "member_id_test");
checkoutParams.put("goods_title",  "Your goods_title");
checkoutParams.put("goods_desc",  "Your goods_desc");
checkoutParams.put("description",  "payment Discription");
checkoutParams.put("callback_url",  "https://www.baidu.com");
checkoutParams.put("div_members",  [{"amount":"0.01","fee_flag":"Y","member_id":"iris1234_14151"},{"amount":"0.01","fee_flag":"N","member_id":"0"}]);
Map<String, Object> response = Payment.createCheckout(checkoutParams);

成功响应

{
    "app_id": "app_XXXXXXXX",
    "callback_url": "https://www.baidu.com",
    "created_time": "1589008683",
    "currency": "cny",
    "expend": {
        "pay_url": "https://checkout.adapay.tech/h5/?hash=aeb717f496dc3b2ebba3f16372d77aa89b3cff969dfd1c26b5ff933a97a1343d"
    },
    "goods_desc": "Your goods_desc",
    "goods_title": "Your goods_title",
    "member_id": "member_id_test",
    "object": "checkout",
    "order_no": "1589008682253",
    "pay_amt": "0.02",
    "prod_mode": "true",
    "time_expire": "20200509171803"
}

查询收银台对象列表

该功能可查询已发起的收银台对象,支持使用请求订单号、商户下用户id、以及按时间范围分页查询。

请求参数

参数

类型

必填

描述

app_id

String(64)

Y

控制台 主页面应用的app_id

order_no

String(64)

N

创建收银台对象时上送的请求订单号,只能为英文、数字或者下划线的一种或多种组合

member_id

String(64)

N

创建收银台对象时上送的商户下的用户id,只能为英文、数字或者下划线的一种或多种组合

page_index

int

N

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

page_size

int

N

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

created_gte

String

N

查询大于等于创建时间(13位时间戳)

created_lte

String

N

查询小于等于创建时间(13位时间戳);若不为空时,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

创建收银台对象时上送的请求订单号,只能为英文、数字或者下划线的一种或多种组合

member_id

String(64)

N

创建收银台对象时上送的商户下的用户id,只能为英文、数字或者下划线的一种或多种组合

has_more

boolean

Y

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

checkouts

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> checkoutParams = new HashMap<>();
checkoutParams.put("app_id", "app_XXXXXXXX");
checkoutParams.put("page_index", "1");
checkoutParams.put("page_size", "10");
checkoutParams.put("created_gte", "1571466657929");
checkoutParams.put("created_lte", "1571898657929");
Map<String, Object> checkoutList = Payment.queryCheckoutList(checkoutParams);
  • 成功响应

{
    "app_id": "app_XXXXXXXX",
    "has_more": false,
    "member_id": "member_id_14144",
    "object": "list",
    "prod_mode": "true",
    "status": "succeeded",
    "checkouts": [
        {
            "app_id": "app_XXXXXXXX",
            "callback_url": "http://www.baidu.com",
            "created_time": "1596616941",
            "currency": "cny",
            "description": "",
            "div_members": [
                {
                    "amount": "59.00",
                    "fee_flag": "Y",
                    "member_id": "member_id_14151"
                }, {
                    "amount": "40.00",
                    "fee_flag": "N",
                    "member_id": "member_id_14149"
                }
            ],
            "fee_mode": "I",
            "goods_desc": "goodsdesc",
            "goods_title": "goods",
            "member_id": "member_id_14144",
            "notify_url": "http://www.baidu.com",
            "object": "checkout",
            "order_no": "202004281596616939966",
            "pay_mode": "",
            "prod_mode": "true",
            "status": "succeeded"
        }
    ]
}