辅助接口

对账单下载

商户可以通过该接口获取到对账单下载地址,通过该下载地址可以获取到历史支付、退款交易清单。 下载成功后,获取到zip压缩包,压缩包内包含支付、退款交易的csv文件,文件编码格式为UTF-8,若想使用Excel打开可能有乱码问题,解决方案请参考 Excel打开CSV文件

请求参数

参数

类型

必填

描述

bill_date

String(8)

Y

对账单的日期,格式:20180808

响应

参数

类型

必填

描述

prod_mode

String

Y

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

bill_download_url

String

N

对账单下载地址

status

String

Y

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

error_code

String

N

错误码,详见 错误

error_msg

String

N

错误描述,详见 错误

error_type

String

N

错误类型,详见 错误

invalid_param

String

N

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

调用示例

Java

Map<String, Object> downloadParam = new  HashMap<String, Object>(1);
downloadParam.put("bill_date", "20191012");
Map<String, Object> download = Bill.download(downloadParam, apikey);
  • 成功响应

{
    "bill_download_url":"http://jarvisfile.oss-cn-shanghai.aliyuncs.com/app-bdef1811-3bad-472f-b76c-90230ad840ed%2Fb0391558-00b2-11ea-a2ee-0242ac110005.zip?Expires=1573282894&OSSAccessKeyId=LTAI6Yzq9tIYS57h&Signature=X57wgKM89ipCs0yqLSVsvElV5b4%3D",
    "status":"succeeded",
    "prod_mode":"true"
}

余额支付对账单下载

商户可以通过该接口获取到余额支付对账单下载地址,通过该下载地址可以获取到余额支付交易清单。 下载成功后,获取到zip压缩包,压缩包内包含余额支付的csv文件,文件编码格式为UTF-8,若想使用Excel打开可能有乱码问题,解决方案请参考 Excel打开CSV文件

请求参数

参数

类型

必填

描述

bill_date

String(8)

Y

对账单的日期,格式:20180808

响应

参数

类型

必填

描述

prod_mode

String

Y

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

bill_download_url

String

N

对账单下载地址

status

String

Y

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

error_code

String

N

错误码,详见 错误

error_msg

String

N

错误描述,详见 错误

error_type

String

N

错误类型,详见 错误

invalid_param

String

N

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

调用示例

Java

Map<String, Object> downloadParam = new  HashMap<String, Object>();
downloadParam .put("adapay_func_code",  "bill.balance");
downloadParam.put("bill_date", "20191012");
Map<String, Object> download = AdapayCommon.requestAdapay(downloadParam, apikey);
  • 成功响应

{
    "bill_download_url":"http://jarvisfile.oss-cn-shanghai.aliyuncs.com/app-bdef1811-3bad-472f-b76c-90230ad840ed%2Fb0391558-00b2-11ea-a2ee-0242ac110005.zip?Expires=1573282894&OSSAccessKeyId=LTAI6Yzq9tIYS57h&Signature=X57wgKM89ipCs0yqLSVsvElV5b4%3D",
    "status":"succeeded",
    "prod_mode":"true"
}

获取银联云闪付用户标识

银联云闪付 H5 支付的前置接口。 商户在自己的平台上通过银联接口获取用户的授权码后,调用本接口同步换取对应用户在银联体系的用户唯一标识。发起银联云闪付 H5 支付时用户唯一标识 user_identity_id 是必填的请求参数。

请求参数

参数

类型

必填

描述

app_id

String(64)

Y

商户的应用 id

order_no

String(64)

Y

请求订单号,必须是英文、数字或者下划线,保证在商户应用id下唯一

user_auth_code

String(64)

Y

用户授权码

app_up_identifier

String(16)

Y

App 标识,通过用户请求的 userAgent 中 appUpIdentifier 截取获得,银联支付标识的格式为“UnionPay/<版本号> <App 标识>”例如 UnionPay/1.0 Cloudpay ,其中 Cloudpay 即为 App 标识

响应

参数

类型

必填

描述

app_id

String

Y

商户的应用 id

object

String

Y

银联云闪付用户标识,user_identity

prod_mode

String

Y

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

order_no

String

Y

请求订单号,必须是英文、数字或者下划线,保证在商户应用id下唯一

user_identity_id

String

Y

银联云闪付用户唯一标识

status

String

Y

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

error_code

String

N

错误码,详见 错误

error_msg

String

N

错误描述,详见 错误

error_type

String

N

错误类型,详见 错误

invalid_param

String

N

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

调用示例

Java

Map<String, Object> unionParam = new  HashMap<String, Object>(4);
unionParam.put("order_no", "20190912");
unionParam.put("app_id", "app_XXXXXXXXX");
unionParam.put("user_auth_code", "user_auth_code");
unionParam.put("app_up_identifier", "app_up_identifier");
Map<String, Object> result = AdapayTools.unionUserId(unionParam, merchantKey);
  • 成功响应

{
    "app_id": "app_XXXXXXXXX",
    "object": "user_identity",
    "order_no": "20190912",
    "prod_mode": "true",
    "user_identity_id": "V1fnnUx1UWSAVNUI+/JVyiF/6bueSTH3eK2cRl5MDUfHj/PzaAynYRg0XpFyBZLX",
    "status": "succeeded"
}

获取微信用户标识

商户通过微信接口获取用户的授权码后,调用本接口换取对应用户在微信体系的用户唯一标识

请求参数

参数

类型

必填

描述

app_id

String(64)

Y

商户的应用 id

order_no

String(64)

Y

请求订单号,必须是英文、数字或者下划线,保证在商户应用id下唯一

auth_code

String(64)

Y

微信支付授权码

sub_app_id

String(16)

N

微信支付若想获取subOpenId,此参数必传

响应

参数

类型

必填

描述

open_id

String

Y

用户在商户appid下的唯一标识

sub_open_id

String

Y

用户在子商户appid下的唯一标识

status

String

Y

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

error_code

String

N

错误码,详见 错误

error_msg

String

N

错误描述,详见 错误

error_type

String

N

错误类型,详见 错误

调用示例

Java

Map<String, Object> wxParam = new  HashMap<String, Object>(4);
wxParam.put("adapay_func_code", "wx.query_openid");
wxParam.put("order_no", "20190912");
wxParam.put("app_id", "app_XXXXXXXXX");
wxParam.put("auth_code", "auth_code");
Map<String, Object> result =  AdapayCommon.queryAdapay(params, "yifuyun");;
  • 成功响应

{
    "data": {
        "open_id": "oBmIts0nfSPq1OA6wT6iFGymkkGY",
        "status": "succeeded"
    },
    "message": "成功"
}

终端信息新增接口

接口版本:v1

请求方法:POST

接口功能号:device.add

商户对终端设备信息进行报备。

请求参数

参数

类型

必填

描述

order_no

String(64)

Y

订单号,订单日期下唯一

pay_way

String(1)

Y

入驻的支付通道。W:微信,A:支付宝

fee_type

String(2)

Y

费率类型 01-标准费率线上 02-标准费率线下

device_type

String(2)

Y

终端类型 01:自动柜员机(含ATM 和 CDM)和多媒体自助终端,02:传统POS,03:mPOS,04:智能POS,05:II型固定电话,06:云闪付终端,07:保留使用,08:手机POS,09:刷脸付终端,10:条码支付受理终端,11:辅助受理终端,12:行业终端(公交、地铁用于指定行业的终端),13:MIS终端)

serial_num

String(64)

C

终端序列号,终端类型(deviceType)为 02、03、04、05、06、08、09或10时必填

province_code

String(16)

Y

终端布放省份编码。具体参考 (Adapay省市区编码

city_code

String(16)

Y

终端布放城市编码

district_code

String(16)

Y

终端布放区县编码

device_address

String(64)

Y

终端布放地址: 省-市-区-详细地址,长度控制在60个字符=30个汉字以内。示例:上海市-上海市-浦东新区-五星路

device_company_name

String(64)

N

终端厂商名称

device_put_date

String(8)

N

终端布放日期,格式yyyyMMdd

device_gps_flag

String(2)

Y

终端定位功能标识 01:可定位,02:不可定位

device_machines_no

String(24)

Y

终端机具型号,终端厂商的终端机具类型编号

network_license

String(5)

C

银行卡受理终端产品入网认证编号。

device_location

String(32)

C

受理终端设备实时经纬度信息,格式为纬度/经度,+表示北纬、东经,-表示南纬、西经。示例值:+37.12/-121.213, 注:如设备IP未上送, 该字段必送

device_ip

String(64)

C

商户端终端设备 IP 地址。注:如经、维度信息未上送, 该字段必送

响应

属性

类型

描述

status

String(16)

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

error_code

String(32)

错误码,详见 错误

error_msg

String(128)

错误描述,详见 错误

error_type

String(32)

错误类型,详见 错误

invalid_param

String(32)

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

order_no

String(64)

订单号,即请求参数

device_id

String(8)

终端设备号,成功时才返回

调用示例

Java

Map<String, Object> deviceParam = new  HashMap<String, Object>(17);
deviceParam.put("adapay_func_code", "device.add");
deviceParam.put("order_no", "202201011234567890");
deviceParam.put("pay_way", "A");
deviceParam.put("fee_type", "02");
deviceParam.put("device_type", "02");
deviceParam.put("serial_num", "1234567890");
deviceParam.put("province_code", "123456");
deviceParam.put("city_code", "123456");
deviceParam.put("district_code", "123456");
deviceParam.put("device_address", "XX市-XX区-XXX路");
deviceParam.put("device_company_name", "XX公司");
deviceParam.put("device_put_date", "20220101");
deviceParam.put("device_gps_flag", "02");
deviceParam.put("device_machines_no", "123457890");
deviceParam.put("network_license", "123457890");
deviceParam.put("device_location", "+37.12/-121.213");
deviceParam.put("device_ip", "127.0.0.1");


Map<String, Object> result =  AdapayCommon.requestAdapay(deviceParam);
  • 成功响应

{
    "data": {
        "order_no": "202201011234567890",
        "status": "succeeded",
        "device_id": "HF000sa"
    }
}

终端信息修改接口

接口版本:v1

请求方法:POST

接口功能号:device.modify

商户对终端设备信息进行注销。

请求参数

参数

类型

必填

描述

order_no

String(64)

Y

订单号,订单日期下唯一

pay_way

String(1)

Y

入驻的支付通道。W:微信,A:支付宝

fee_type

String(2)

Y

费率类型 01-标准费率线上 02-标准费率线下

device_id

String(8)

Y

终端设备号

device_address

String(64)

N

终端布放地址: 省-市-区-详细地址,长度控制在60个字符=30个汉字以内。示例:上海市-上海市-浦东新区-五星路

device_put_date

String(8)

N

终端布放日期,格式yyyyMMdd

network_license

String(5)

N

银行卡受理终端产品入网认证编号。

device_location

String(32)

N

受理终端设备实时经纬度信息,格式为纬度/经度,+表示北纬、东经,-表示南纬、西经。示例值:+37.12/-121.213,

device_ip

String(64)

N

商户端终端设备 IP 地址。

响应

属性

类型

描述

status

String(16)

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

error_code

String(32)

错误码,详见 错误

error_msg

String(128)

错误描述,详见 错误

error_type

String(32)

错误类型,详见 错误

invalid_param

String(32)

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

order_no

String(16)

订单号,即请求参数

调用示例

Java

Map<String, Object> deviceParam = new  HashMap<String, Object>(17);
deviceParam.put("adapay_func_code", "device.modify");
deviceParam.put("order_no", "202201011234567890");
deviceParam.put("pay_way", "A");
deviceParam.put("fee_type", "02");
deviceParam.put("device_id", "HF000sa");
deviceParam.put("device_address", "XX市-XX区-XXX路");
deviceParam.put("device_put_date", "20220101");
deviceParam.put("network_license", "123457890");
deviceParam.put("device_location", "+37.12/-121.213");
deviceParam.put("device_ip", "127.0.0.1");


Map<String, Object> result =  AdapayCommon.requestAdapay(deviceParam);
  • 成功响应

{
    "data": {
        "order_no": "202201011234567890",
        "status": "succeeded",
    }
}

终端信息注销接口

接口版本:v1

请求方法:POST

接口功能号:device.cancel

商户对终端设备信息进行修改。

请求参数

参数

类型

必填

描述

order_no

String(64)

Y

订单号,订单日期下唯一

pay_way

String(1)

Y

入驻的支付通道。W:微信,A:支付宝

fee_type

String(2)

Y

费率类型 01-标准费率线上 02-标准费率线下

device_id

String(8)

Y

终端设备号

响应

属性

类型

描述

status

String(16)

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

error_code

String(32)

错误码,详见 错误

error_msg

String(128)

错误描述,详见 错误

error_type

String(32)

错误类型,详见 错误

invalid_param

String(32)

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

order_no

String(16)

订单号,即请求参数

调用示例

Java

Map<String, Object> deviceParam = new  HashMap<String, Object>(17);
deviceParam.put("adapay_func_code", "device.cancel");
deviceParam.put("order_no", "202201011234567890");
deviceParam.put("pay_way", "A");
deviceParam.put("fee_type", "02");
deviceParam.put("device_id", "HF000sa");

Map<String, Object> result =  AdapayCommon.requestAdapay(deviceParam);
  • 成功响应

{
    "data": {
        "order_no": "202201011234567890",
        "status": "succeeded",
    }
}

终端信息查询接口

接口版本:v1

请求方法:GET

接口功能号:device.query

商户查询绑定过的终端设备信息。

请求参数

参数

类型

必填

描述

pay_way

String(1)

N

入驻的支付通道。W:微信,A:支付宝,fee_type有值时必填

fee_type

String(2)

N

费率类型 01-标准费率线上 02-标准费率线下,pay_way有值时必填

device_id

String(8)

N

终端设备号,与pay_way、fee_type至少有一个必填

stat

String(1)

N

终端状态 N:已绑定 C:已注销

pageIndex

int

N

分页查询 页码,为空默认1

pageSize

int

N

分页查询 单页查询件数,为空默认10

响应

属性

类型

描述

status

String(16)

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

error_code

String(32)

错误码,详见 错误

error_msg

String(128)

错误描述,详见 错误

error_type

String(32)

错误类型,详见 错误

invalid_param

String(32)

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

pay_way

String(1)

请求参数

fee_type

String(2)

请求参数

device_list

List

设备信息结果集 DeviceInfo

total_cnt

long

总件数

page_index

int

分页查询 页码,即请求参数

DeviceInfo

属性

类型

描述

bind_time

String(19)

绑定时间,格式yyyy-MM-dd HH:mm:ss

mer_cust_id

String(16)

绑定商户号

serial_num

String(64)

终端序列号

device_type

String(2)

终端类型

device_machines_no

String(24)

终端型号

device_address

String(64)

布放地址

pay_way

String(1)

支付通道

fee_type

String(2)

费率类型

device_id

String(8)

终端设备号

stat

String(1)

终端状态 N已绑定 C已注销

调用示例

Java

Map<String, Object> deviceParam = new  HashMap<String, Object>(17);
deviceParam.put("adapay_func_code", "device.query");
deviceParam.put("pay_way", "A");
deviceParam.put("fee_type", "02");
deviceParam.put("device_id", "HF000sa");
deviceParam.put("pageIndex", 1);


Map<String, Object> result =  AdapayCommon.queryAdapay(deviceParam);
  • 成功响应

{
    "data": {
        "page_index": 1,
        "total_cnt": 2,
        "status": "succeeded",
        "device_list": [
            {
            "bind_time": "2022-03-07 17:15:36",
            "device_address": "上海市",
            "device_id": "HF000sa",
            "device_machines_no": "GL4546",
            "device_type": "02",
            "fee_type": "02",
            "mer_cust_id": "1234567890123456",
            "pay_way": "A",
            "serial_num": "`12345",
            "stat": "N"
            },
            {
            "bind_time": "2022-03-07 17:15:38",
            "device_address": "上海市",
            "device_id": "HF000sf",
            "device_machines_no": "GL4546",
            "device_type": "02",
            "fee_type": "02",
            "mer_cust_id": "1234567890123456",
            "pay_way": "A",
            "serial_num": "123467",
            "stat": "N"
            },
        ]

    }
}

微信应用

添加微信应用接口

接口版本:v1

请求方法:POST

接口功能号:wxMinProgram.add

商户通过该接口添加微信应用appid,添加成功后可通过微信支付发起交易。

请求参数

参数

类型

必填

描述

order_no

String(64)

Y

订单号,订单日期下唯一

wx_app_id

String(64)

Y

由微信生成的小程序appid,全局唯一

wx_app_name

String(64)

Y

微信应用名称,用于区分多个微信应用

wx_app_type

String(1)

N

微信应用类型:1表示:自有,不填默认1

响应

属性

类型

描述

status

String(16)

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

error_code

String(32)

错误码,详见 错误

error_msg

String(128)

错误描述,详见 错误

error_type

String(32)

错误类型,详见 错误

order_no

String(64)

订单号,即请求参数

wx_app_id

String(64)

由微信生成的小程序appid,全局唯一

wx_app_name

String(64)

微信应用名称,用于区分多个微信应用

wx_app_type

String(1)

微信应用类型

wx_app_status

String(3)

微信应用添加的状态

created_time

String(19)

微信应用创建的时间

调用示例

Java

Map<String, Object> wxMinProgramParam = new  HashMap<String, Object>(17);
wxMinProgramParam.put("adapay_func_code", "wxMinProgram.add");
wxMinProgramParam.put("order_no", "202201011234567890");
wxMinProgramParam.put("wx_app_id", "wxsjkdjf2939434");
wxMinProgramParam.put("wx_app_name", "小程序添加");
wxMinProgramParam.put("wx_app_type", "1");

Map<String, Object> result =  AdapayCommon.requestAdapay(wxMinProgramParam);
  • 成功响应

{
    "data": {
            "order_no": "202201011234567890",
            "status": "succeeded",
            "wx_app_id": "wxsjkdjf2939434",
            "wx_app_name": "小程序添加",
            "wx_app_type": "1",
            "wx_app_status": "成功",
            "created_time": "2022-06-21 15:29:30"
            }
}

查询添加微信应用

接口版本:v1

请求方法:get

接口功能号:wxMinProgram.queryMinProgramInfo

商户通过该接口查询添加微信应用的状态信息。

请求参数

参数

类型

必填

描述

order_no

String(64)

Y

订单号,订单日期下唯一

响应

属性

类型

描述

status

String(16)

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

error_code

String(32)

错误码,详见 错误

error_msg

String(128)

错误描述,详见 错误

error_type

String(32)

错误类型,详见 错误

order_no

String(64)

订单号,即请求参数

wx_app_id

String(64)

由微信生成的小程序appid,全局唯一

wx_app_name

String(64)

微信应用名称,用于区分多个微信应用

wx_app_type

String(1)

微信应用类型

wx_app_status

String(3)

微信应用添加的状态

调用示例

Java

Map<String, Object> wxMinProgramParam = new  HashMap<String, Object>(17);
wxMinProgramParam.put("adapay_func_code", "wxMinProgram.queryMinProgramInfo");
wxMinProgramParam.put("order_no", "202201011234567890");
Map<String, Object> result =  AdapayCommon.queryAdapay(wxMinProgramParam);
  • 成功响应

{
     "data": {
        "order_no": "202201011234567890",
        "status": "succeeded",
        "wx_app_id": "wxsjkdjf2939434",
        "wx_app_name": "小程序添加",
        "wx_app_type": "1",
        "wx_app_status": "成功"
     }
}

查询添加微信应用列表

接口版本:v1

请求方法:GET

接口功能号:wxMinProgram.list

商户通过该接口查询已添加的微信应用列表。

请求参数

参数

类型

必填

说明

adapay_func_code

String

Y

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

响应

属性

类型

描述

status

String(16)

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

error_code

String(32)

错误码,详见 错误

error_msg

String(128)

错误描述,详见 错误

error_type

String(32)

错误类型,详见 错误

wx_app_list

List

微信应用信息结果集 WxMinProgram

WxMinProgram

属性

类型

描述

wx_app_id

String(64)

由微信生成的小程序appid,

wx_app_name

String(64)

微信应用名称,

wx_app_type

String(1)

微信应用类型,1为自有小程序,2为托管小程序

调用示例

Java

Map<String, Object> wxMinProgramQueryParam = new  HashMap<String, Object>(17);
wxMinProgramQueryParam.put("adapay_func_code", "wxMinProgram.list");
Map<String, Object> result =  AdapayCommon.queryAdapay(wxMinProgramParam);
  • 成功响应

{
 "data": {
     "prod_mode": "false",
     "wx_lite_list": [
         {
             "wx_app_id": "wx94b1195a0a63ere3fbe",
             "wx_app_name": "测试",
             "wx_app_type": "2"
         },
         {
             "wx_app_id": "wx602bd30c4df9ddfdcc0657",
             "wx_app_name": "测试2",
             "wx_app_type": "2"
         },
         {
             "wx_app_id": "wx1f4e74afgfd0f22a9a5",
             "wx_app_name": "小程序测试",
             "wx_app_type": "2"
         }
     ]
 },
 "message": "成功"
}