接入指南
接口调用
主要业务流程系统交互时序图

服务商系统配置信息注册(查询)
调用接口时序图

**
示例代码
"interface_info_list": {
"merchant_name": "服务商名称",
"merchant_service_phone": "021-25413215",
"account_no": "1234567@126.com",
"interface_info_list": [
{
"interface_type": "interface_page",
"interface_url": "https%3A%2F%2Fwww.parking.com%2Fuser%2Fquery.do",
"interface_name": "alipay.eco.mycar.parking.userpage.query"
},
{
"interface_name": "alipay.eco.mycar.parking.isv.homepage",
"interface_type": "interface_page",
"interface_url": "2018000000000000|pages/queryFee/queryFeeInfo"
}
],
"merchant_logo": ""
}
入参说明
**
停车业务配置信息
示例代码
//实例化客户端
AlipayClient client = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",APP_ID,APP_PRIVATE_KEY,"json","UTF-8",ALIPAY_PUBLIC_KEY);
//实例化具体API对应的request类,类名称和接口名称对应,
AlipayEcoMycarParkingConfigSetRequest request = new AlipayEcoMycarParkingConfigSetRequest();
//SDK已经封装掉了公共参数,这里只需要传入业务参数
//此次只是参数展示,未进行字符串转义,实际情况下请转义
request.setBizContent("{" +
"\"merchant_name\":\"杭州立方\"," +
"\"merchant_service_phone\":\"021-25413215\"," +
"\"account_no\":\"1234567@126.com\"," +
"\"merchant_logo\":\"iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAHhJREFUSA1jZCASCPS/rmf4/68BrJyRqeFDoWgjMVqZiFFEiZpRCwiG3mgQjYAgYgTnUIIeBSr4z2DPwPDPEaKUaT8DI8NBYrQxCvS9/E+MQnLV0DyZsjAACy6iXEduEBFlOFDRaGlKbEiRrI7mqWjUAoJxMvSDCAABChtBImPMwgAAAABJRU5ErkJggg==\"," +
"\"interface_info_list\":[{" +
"\"interface_name\":\"alipay.eco.mycar.parking.userpage.query\"," +
"\"interface_type\":\"interface_page\"," +
"\"interface_url\":\"https%3A%2F%2Fwww.parking24.cn%2Frf_carlife_alipay%2FCarLifeAction%21alipayAuth.action\"" +
" }]" +
" }");//业务数据
try {
AlipayEcoMycarParkingConfigSetResponse response = client.execute(request);
//判断调用是否成功
if(response.isSuccess()){
//获取相应数据
Map<String,String> responseParams = response.getParams();
//通过返回数据进行业务处理,可以通过responseParams获取到返回的键值数据
}else{
//调用失败处理逻辑
}
} catch (AlipayApiException e) {
// TODO Auto-generated catch block
//调用异常逻辑处理
e.printStackTrace();
}
//将图片文件转化为字节数组字符串,并对其进行Base64编码处理
public static String getImageStr () {
//待处理的本地图片
String imgFile = "D://logo.png" ;
InputStream in = null ;
byte [] data = null ;
//读取图片字节数组
try {
in = new FileInputStream(imgFile);
data = new byte [in.available()];
in.read(data);
in.close();
} catch (IOException e) {
e.printStackTrace();
}
//对字节数组Base64编码
BASE64Encoder encoder = new BASE64Encoder();
//返回Base64编码过的字节数组字符串
return encoder.encode(data);
}
停车业务配置信息查询
示例代码
//实例化客户端
AlipayClient client = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",APP_ID,APP_PRIVATE_KEY,"json","UTF-8",ALIPAY_PUBLIC_KEY);
//实例化具体API对应的request类,类名称和接口名称对应,
AlipayEcoMycarParkingConfigQueryRequest request = new AlipayEcoMycarParkingConfigQueryRequest();
//SDK已经封装掉了公共参数,这里只需要传入业务参数
//此次只是参数展示,未进行字符串转义,实际情况下请转义
request.setBizContent("{" +
"\"interface_name\":\"alipay.eco.mycar.parking.userpage.query\"," +
"\"interface_type\":\"interface_page\"" +
" }");//业务数据
try {
AlipayEcoMycarParkingConfigQueryResponse response = client.execute(request);
//判断调用是否成功
if(response.isSuccess()){
//获取相应数据
Map<String,String> responseParams = response.getParams();
//通过返回数据进行业务处理,可以通过responseParams获取到返回的键值数据
}else{
//调用失败处理逻辑
}
} catch (AlipayApiException e) {
// TODO Auto-generated catch block
//调用异常逻辑处理
e.printStackTrace();
}
入参说明
参数名称 | 必填 | 参数说明 |
---|---|---|
interface_name | 否 | 传入参数固定。值:alipay.eco.mycar.parking.userpage.query |
interface_type | 否 | 传入参数固定值:interface_page。 |
服务商停车场信息注册或者修改
调用接口时序图

**
录入停车场信息
示例代码
//实例化客户端
AlipayClient client = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",APP_ID,APP_PRIVATE_KEY,"json","UTF-8",ALIPAY_PUBLIC_KEY);
//实例化具体API对应的request类,类名称和接口名称对应,
AlipayEcoMycarParkingParkinglotinfoCreateRequest request = new AlipayEcoMycarParkingParkinglotinfoCreateRequest();
//SDK已经封装掉了公共参数,这里只需要传入业务参数
//此次只是参数展示,未进行字符串转义,实际情况下请转义
request.setBizContent("{" +"\"parking_poiid\":\"B0FFH97V0Y\"," +
"\"out_parking_id\":\"558238757\"," +
"\"parking_name\":\"实例停车场\"," +
"\"parking_address\":\"实例停车场地址\"," +
"\"parking_lot_type\":\"1\"," +
"\"pay_type\":\"2\"," +
"\"shopingmall_id\":\"100001008\"," +
"\"parking_fee_description\":\"小车一小时10元\"," +
"\"parking_mobile\":\"01055886666\"," +
"\"time_out\":\"15\"" +
"\"agent_id\":\"20881576956341212\"" +
"\"mchnt_id\":\"20881576956684554\"" +
"}");//业务数据
try {
AlipayEcoMycarParkingParkinglotinfoCreateResponse response = client.execute(request);
//判断调用是否成功
if(response.isSuccess()){
//获取相应数据
Map<String,String> responseParams = response.getParams();
//通过返回数据进行业务处理,可以通过responseParams获取到返回的键值数据
}else{
//调用失败处理逻辑
}
} catch (AlipayApiException e) {
// TODO Auto-generated catch block
//调用异常逻辑处理
e.printStackTrace();
}
停车场信息修改
示例代码
//实例化客户端
AlipayClient client = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",APP_ID,APP_PRIVATE_KEY,"json","UTF-8",ALIPAY_PUBLIC_KEY);
//实例化具体API对应的request类,类名称和接口名称对应, alipay.eco.mycar.parking.parkinglotinfo.update
AlipayEcoMycarParkingParkinglotinfoUpdateRequest request = new AlipayEcoMycarParkingParkinglotinfoUpdateRequest();
//SDK已经封装掉了公共参数,这里只需要传入业务参数
//此次只是参数展示,未进行字符串转义,实际情况下请转义
request.setBizContent("{" +
"\"parking_id\":\"PI15394503453489\"," +
"\"parking_poiid\":\"B0FFH97V0Y\"," +
"\"parking_name\":\"实例停车场\"," +
"\"parking_address\":\"实例停车场地址\"," +
"\"parking_lot_type\":\"1\"," +
"\"pay_type\":\"1\"," +
"\"shopingmall_id\":\"100001008\"," +
"\"parking_fee_description\":\"小车一小时10元\"," +
"\"parking_mobile\":\"01055886666\"," +
"\"time_out\":\"15\"" +
"\"agent_id\":\"20881576956341212\"" +
"\"mchnt_id\":\"20881576956684554\"" +
"}");//业务数据
try {
AlipayEcoMycarParkingParkinglotinfoUpdateResponse response = client.execute(request);
//判断调用是否成功
if(response.isSuccess()){
//获取相应数据
Map<String,String> responseParams = response.getParams();
//通过返回数据进行业务处理,可以通过responseParams获取到返回的键值数据
}else{
//调用失败处理逻辑
}
} catch (AlipayApiException e) {
// TODO Auto-generated catch block
//调用异常逻辑处理
e.printStackTrace();
}
用户车辆驶入(车辆驶出)停车场车辆信息同步
调用接口时序图

车辆驶入信息同步
示例代码
//实例化客户端
AlipayClient client = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",APP_ID,APP_PRIVATE_KEY,"json","UTF-8",ALIPAY_PUBLIC_KEY);
//实例化具体API对应的request类,类名称和接口名称对应, AlipayEcoMycarParkingEnterinfoSyncRequest request = new AlipayEcoMycarParkingEnterinfoSyncRequest ();
//SDK已经封装掉了公共参数,这里只需要传入业务参数
//此次只是参数展示,未进行字符串转义,实际情况下请转义
request.setBizContent("{" +
"\"parking_id\":\"2015042321001004720200028594\"," +
"\"car_number\":\"浙Axxxxx\"," +
"\"in_time\":\"2016-07-24 03:07:50\"" +
"}");//业务数据
try {
AlipayEcoMycarParkingEnterinfoSyncResponse response = client.execute(request);
//判断调用是否成功
if(response.isSuccess()){
//获取相应数据
Map<String,String> responseParams = response.getParams();
//通过返回数据进行业务处理,可以通过responseParams获取到返回的键值数据
}else{
//调用失败处理逻辑
}
} catch (AlipayApiException e) {
// TODO Auto-generated catch block
//调用异常逻辑处理
e.printStackTrace();
}
入参说明
参数名称 | 必填 | 参数说明 |
---|---|---|
parking_id | 是 | 支付宝停车场 ID ,系统唯一。 |
car_number | 是 | 车牌号。 |
in_time | 是 | 车辆入场的时间,格式"YYYYMM-DD HH:mm:ss",24 小时制。 |
车辆离场信息同步
示例代码
//实例化客户端
AlipayClient client = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",APP_ID,APP_PRIVATE_KEY,"json","UTF-8",ALIPAY_PUBLIC_KEY);
//实例化具体API对应的request类,类名称和接口名称对应, alipay.eco.mycar.parking.exitinfo.sync
AlipayEcoMycarParkingExitinfoSyncRequest request = new AlipayEcoMycarParkingExitinfoSyncRequest();
//SDK已经封装掉了公共参数,这里只需要传入业务参数
//此次只是参数展示,未进行字符串转义,实际情况下请转义
request.setBizContent("{" +
"\"parking_id\":\"2015042321001004720200028594\"," +
"\"car_number\":\"浙Axxxxx\"," +
"\"out_time\":\"2016-07-24 03:07:50\"" +
"}");//业务数据
try {
AlipayEcoMycarParkingExitinfoSyncResponse response = client.execute(request);
//判断调用是否成功
if(response.isSuccess()){
//获取相应数据
Map<String,String> responseParams = response.getParams();
//通过返回数据进行业务处理,可以通过responseParams获取到返回的键值数据
}else{
//调用失败处理逻辑
}
} catch (AlipayApiException e) {
// TODO Auto-generated catch block
//调用异常逻辑处理
e.printStackTrace();
}
入参说明
参数名称 | 必填 | 参数说明 |
---|---|---|
parking_id | 是 | 支付宝停车场 ID,系统唯一。 |
car_number | 是 | 车牌号。 |
out_time | 是 | 车辆离场时间,格式 YYYYMM-DD HH:mm:ss,24 小时制,请保证车辆的出场时间要晚于入场时间。 |
用户查询车辆停车费用
调用接口时序图

1.
SPI:SPI 是由支付宝给出定义规范,并由服务商或商家实现的接口。
2.
3.
**
示例代码
https://parking.abc.com/query.do?auth_code=ca34ea491e7146cc87d25fca24c4cD11RSA&car_id=2016042301020544234434&parking_id=201609086335558213543
入参说明
参数名称 | 必填 | 参数说明 |
---|---|---|
car_id | 是 | 车辆 ID,系统唯一。 |
auth_code | 是 | 用户授权码,提供给服务商换取 access_token 及用户 userId。 |
parking_id | 是 | 支付宝停车场标识,系统唯一。 |
获取用户车牌信息
示例代码
//实例化客户端
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",APP_ID,APP_PRIVATE_KEY,"json","UTF-8",ALIPAY_PUBLIC_KEY);
//实例化具体API对应的request类,类名称和接口名称对应
AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest();
//授权设置
request.setGrantType("authorization_code");
//auth_code设置,从alipay.eco.mycar.parking.userpage.query页面接口中可以获取到该值
request.setCode("2e4248c2f50bb4653bf18ecee3466UC18");
//换取调用
AlipaySystemOauthTokenResponse response = alipayClient.execute(request);
if(response.isSuccess()){
//调用成功
String uid = response.getUserId();
//取得令牌
String access_token = response.getAccessToken();
//通过授权令牌调用获取用户车牌信息接口 alipay.eco.mycar.parking.vehicle.query
AlipayEcoMycarParkingVehicleQueryRequest request = new AlipayEcoMycarParkingVehicleQueryRequest();
//SDK已经封装掉了公共参数,这里只需要传入业务参数
//此次只是参数展示,未进行字符串转义,实际情况下请转义
request.setBizContent("{" +
"\"car_id\":\"201605061278654\"" +
"}");//业务数据
AlipayEcoMycarParkingVehicleQueryResponse response = alipayClient.execute(request,access_token);
//判断调用是否成功
if(response.isSuccess()){
//获取相应数据
Map<String,String> responseParams = response.getParams();
//通过返回数据进行业务处理,可以通过responseParams获取到返回的键值数据
}else{
//调用失败处理逻辑
}
} else {
//换取令牌失败逻辑处理
}
入参说明
参数名称 | 必填 | 参数说明 |
---|---|---|
car_id | 是 | 车辆 ID,支付宝系统唯一,用户车辆唯一标识。 |
出参说明
参数名称 | 必填 | 参数说明 |
---|---|---|
car_number | 是 | 车牌信息,用户想进行查询停车费用的车牌号码。 |
停车业务订单信息同步
调用接口时序图

1.
2.
3.
**
示例代码
//实例化客户端
AlipayClient client = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",APP_ID,APP_PRIVATE_KEY,"json","UTF-8",ALIPAY_PUBLIC_KEY);
//实例化具体API对应的request类,类名称和接口名称对应, alipay.eco.mycar.parking.order.sync
AlipayEcoMycarParkingOrderSyncRequest request = new AlipayEcoMycarParkingOrderSyncRequest();
//SDK已经封装掉了公共参数,这里只需要传入业务参数
//此次只是参数展示,未进行字符串转义,实际情况下请转义
request.setBizContent("{" +
"\"user_id\":\"2088006362935583\"," +
"\"out_parking_id\":\"201605061278654\"," +
"\"parking_name\":\"上海证大五道口地下停车场\"," +
"\"car_number\":\"浙Axxxxx\"," +
"\"out_order_no\":\"201605061278654435466567\"," +
"\"order_status\":\"1\"," +
"\"order_time\":\"2016-08-12 20:27:30\"," +
"\"order_no\":\"7674879087745646586\"," +
"\"pay_time\":\"2016-08-12 23:20:23\"," +
"\"pay_type\":\"1\"," +
"\"pay_money\":\"20.00\"," +
"\"in_time\":\"2016-08-12 20:20:13\"," +
"\"parking_id\":\"1234567890123456\"," +
"\"in_duration\":\"320\"," +
"\"card_number\":\"2357868977445645645656\"" +
"}");//业务数据
try {
AlipayEcoMycarParkingOrderSyncResponse response = client.execute(request);
//判断调用是否成功
if(response.isSuccess()){
//获取相应数据
Map<String,String> responseParams = response.getParams();
//通过返回数据进行业务处理,可以通过responseParams获取到返回的键值数据
}else{
//调用失败处理逻辑
}
} catch (AlipayApiException e) {
// TODO Auto-generated catch block
//调用异常逻辑处理
e.printStackTrace();
}
订单信息修改
调用接口时序图

**
示例代码
//实例化客户端
AlipayClient client = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",APP_ID,APP_PRIVATE_KEY,"json","UTF-8",ALIPAY_PUBLIC_KEY);
//实例化具体API对应的request类,类名称和接口名称对应, alipay.eco.mycar.parking.order.update
AlipayEcoMycarParkingOrderUpdateRequest request = new AlipayEcoMycarParkingOrderUpdateRequest();
//SDK已经封装掉了公共参数,这里只需要传入业务参数
//此次只是参数展示,未进行字符串转义,实际情况下请转义
request.setBizContent("{" +
"\"user_id\":\"2088006362935583\"," +
"\"order_no\":\"PO20160805204323394865\"," +
"\"order_status\":\"1\"" + "}");//业务数据
try {
AlipayEcoMycarParkingOrderUpdateResponse response = client.execute(request);
//判断调用是否成功
if(response.isSuccess()){
//获取相应数据
Map<String,String> responseParams = response.getParams();
//通过返回数据进行业务处理,可以通过responseParams获取到返回的键值数据
}else{
//调用失败处理逻辑
}
} catch (AlipayApiException e) {
// TODO Auto-generated catch block
//调用异常逻辑处理
e.printStackTrace();
}
停车场信息查询
调用接口时序图

**
示例代码
//实例化客户端
AlipayClient client = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",APP_ID,APP_PRIVATE_KEY,"json","UTF-8",ALIPAY_PUBLIC_KEY);
//实例化具体API对应的request类,类名称和接口名称对应, alipay.eco.mycar.parking.parkinglotinfo.query
AlipayEcoMycarParkingParkinglotinfoQueryRequest request = new AlipayEcoMycarParkingParkinglotinfoQueryRequest();
//SDK已经封装掉了公共参数,这里只需要传入业务参数
//此次只是参数展示,未进行字符串转义,实际情况下请转义
request.setBizContent("{" +
"\" parking_id \":\" PI1535687028031821446\"," +
"\" out_parking_id \":\"10000110001\"," +
"}");//业务数据
try {
AlipayEcoMycarParkingParkinglotinfoQueryResponse response = alipayClient.execute(request);
//判断调用是否成功
if(response.isSuccess()){
//获取相应数据
Map<String,String> responseParams = response.getParams();
//通过返回数据进行业务处理,可以通过responseParams获取到返回的键值数据
}else{
//调用失败处理逻辑
}
} catch (AlipayApiException e) {
// TODO Auto-generated catch block
//调用异常逻辑处理
e.printStackTrace();
}
停车场价格信息同步
调用接口时序图

示例代码
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key","RSA2");
AlipayEcoMycarParkingChargeinfoSyncRequest request = new AlipayEcoMycarParkingChargeinfoSyncRequest();
request.setBizContent("{" +
"\"parking_id\":\"PI20190506152394234234\"," +
"\"is_charge\":\"1\"," +
"\"parking_space_count\":1600," +
"\"business_hours\":\"24小时\"," +
"\"has_charging_pile\":\"1\"," +
"\"free_period\":\"30分钟\"," +
"\"daily_price_upperbound\":\"260元或不封顶\"," +
"\"daylight_business_hours\":\"9:00-21:00\"," +
"\"night_business_hours\":\"21:00-9:00\"," +
"\"car_daylight_base_price\":\"10元/1小时或5元/30分钟\"," +
"\"car_daylight_advanced_price\":\"3元/小时或1.5元/30分钟\"," +
"\"car_night_base_price\":\"10元/1小时或5元/30分钟\"," +
"\"car_night_advanced_price\":\"3元/小时或1.5元/30分钟\"," +
"\"truck_daylight_base_price\":\"10元/1小时或5元/30分钟\"," +
"\"truck_daylight_advanced_price\":\"3元/小时或1.5元/30分钟\"," +
"\"truck_night_base_price\":\"3元/小时或1.5元/30分钟\"," +
"\"truck_night_advanced_price\":\"3元/小时或1.5元/30分钟\"," +
"\"car_onetime_price\":\"20元/次\"," +
"\"truck_onetime_price\":\"30元/次\"," +
"\"remark\":\"前3小时XXX,3-6小时之间XXX,超过6小时XXXX\"" +
" }");
AlipayEcoMycarParkingChargeinfoSyncResponse response = alipayClient.execute(request);
if(response.isSuccess()){
System.out.println("调用成功");
} else {
System.out.println("调用失败");
}
停车场车位信息同步
调用接口时序图

示例代码
AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","app_id","your private_key","json","GBK","alipay_public_key","RSA2");
AlipayEcoMycarParkingSpaceinfoSyncRequest request = new AlipayEcoMycarParkingSpaceinfoSyncRequest();
request.setBizContent("{" +
"\"parking_id\":\"PI20190506152394234234\"," +
"\"free_parking_space\":500," +
"\"free_charging_pile\":30," +
"\"parking_space_status\":\"1\"" +
" }");
AlipayEcoMycarParkingSpaceinfoSyncResponse response = alipayClient.execute(request);
if(response.isSuccess()){
System.out.println("调用成功");
} else {
System.out.println("调用失败");
}
上线
接口调用注意事项
接口英文名称 | 接口中文名称 | 注意事项 |
---|---|---|
alipay.eco.mycar.parking.parkinglotinfo.create | 录入停车场信息 | 支付宝根据所上传的信息分配的带有支付宝标识的停车场 id,调用成功会返回 parking_id。**注意:**和服务商所定义的停车场 id 不是同一个。 录入停车场坐标,请使用高德地图定位地址,长度不能超过接口文档规定范围。 |
alipay.eco.mycar.parking.enterinfo.sync | 车辆驶入接口 | 此时录入的停车场 id 为上传停车场时返回的parking_id。 |
alipay.eco.mycar.parking.exitinfo.sync | 车辆驶出接口 | 此时上传的停车场 id 为上传停车场时返回的parking_id。 |
alipay.eco.mycar.parking.order.sync | 订单同步接口 | 订单同步调用时请先用 auth_code 通过授权获取 token 和用户信息,同步订单时传入的用户 id 就是通过授权返回的用户 id。 |
修改于 2023-11-23 04:20:33