5.5 支付渠道参数查询
5.5.1 交易服务-渠道参数查询接口
5.5.1.1 接口定义1
1、接口描述
1)根据应用和服务类型获取原始支付参数param,结果可能是多个(支付宝param 微信param)
2、接口定义如下:
在PayChannelService接口中定义queryPayChannelParamByAppAndPlatform方法:
/**
* 根据应用和服务类型查询支付渠道参数列表 结果可能是多个(支付宝param 微信param)
* @param appId 应用id
* @param platformChannel 服务类型code
* @return
*/
List<PayChannelParamDTO> queryPayChannelParamByAppAndPlatform(String appId, String platformChannel) throws BusinessException;
5.5.1.2 接口定义2
1、接口描述
1)根据应用、服务类型及支付渠道获取原始支付参数param,结果只能是一个
2、接口定义如下:
在PayChannelService接口中定义queryParamByAppPlatformAndPayChannel方法:
/**
\* 获取指定应用指定服务类型下所包含的某个原始支付参数
\* @param appId
\* @param platformChannel
\* @param payChannel
\* @return
\* @throws BusinessException
*/
PayChannelParamDTO queryParamByAppPlatformAndPayChannel(String appId, String platformChannel,String payChannel) throws BusinessException;
5.5.1.2 接口实现
在PayChannelServiceImpl中实现queryPayChannelParamByAppAndPlatform:
/**
\* 查询支付渠道参数
\* @param appId 应用id
\* @param platformChannel 服务类型代码
\* @return
*/
@Override
public List<PayChannelParamDTO> queryPayChannelParamByAppAndPlatform(String appId, String platformChannel) {
//查出应用id和服务类型代码在app_platform_channel主键
Long appPlatformChannelId = selectIdByAppPlatformChannel(appId,platformChannel);
//根据appPlatformChannelId从pay_channel_param查询所有支付参数
List<PayChannelParam> payChannelParams = payChannelParamMapper.selectList(
new LambdaQueryWrapper<PayChannelParam>()
.eq(PayChannelParam::getAppPlatformChannelId, appPlatformChannelId));
return PayChannelParamConvert.INSTANCE.listentity2listdto(payChannelParams);
}
在PayChannelServiceImpl中实现queryParamByAppPlatformAndPayChannel:
@Override
public PayChannelParamDTO queryParamByAppPlatformAndPayChannel(String appId, String platformChannel, String payChannel) throws BusinessException {
List<PayChannelParamDTO> payChannelParamDTOS = queryPayChannelParamByAppAndPlatform(appId, platformChannel);
for(PayChannelParamDTO payChannelParam:payChannelParamDTOS){
if(payChannelParam.getPayChannel().equals(payChannel)){
return payChannelParam;
}
}
return null;
}
5.5.2 商户平台应用-渠道参数查询接口
5.5.2.1 接口定义1
1、接口描述:根据应用和服务类型获取原始支付参数列表
2、接口定义如下:
在PlatformParamController中定义queryPayChannelParam
@ApiOperation("获取指定应用指定服务类型下所包含的原始支付渠道参数列表")
@ApiImplicitParams({
@ApiImplicitParam(name = "appId", value = "应用id", required = true, dataType = "String", paramType = "path"),
@ApiImplicitParam(name = "platformChannel", value = "服务类型", required = true, dataType = "String", paramType = "path")})
@GetMapping(value = "/my/pay-channel-params/apps/{appId}/platform-channels/{platformChannel}")
public List<PayChannelParamDTO> queryPayChannelParam(@PathVariable String appId, @PathVariable String platformChannel) {
return payChannelService.queryPayChannelParamByAppAndPlatform(appId, platformChannel);
}
5.5.2.1 接口定义2
1、接口描述:根据应用、服务类型及支付渠道获取原始支付参数
2、接口定义如下:
在PlatformParamController中定义queryPayChannelParam
@ApiOperation("获取指定应用指定服务类型下所包含的某个原始支付参数")
@ApiImplicitParams({
@ApiImplicitParam(name = "appId", value = "应用id", required = true, dataType = "String", paramType = "path"),
@ApiImplicitParam(name = "platformChannel", value = "平台支付渠道编码", required = true, dataType = "String", paramType = "path"),
@ApiImplicitParam(name = "payChannel", value = "实际支付渠道编码", required = true, dataType = "String", paramType = "path")})
@GetMapping(value = "/my/pay-channel-params/apps/{appId}/platform-channels/{platformChannel}/pay-channels/{payChannel}")
public PayChannelParamDTO queryPayChannelParam(@PathVariable String appId,
@PathVariable String platformChannel,
@PathVariable String payChannel) {
return payChannelService.queryParamByAppPlatformAndPayChannel(appId, platformChannel, payChannel);
}
5.5.2.2 接口测试
postman:get:http://localhost:57010/merchant/my/pay-channel-params/apps/{appId}/platform-channels/{platformChannel}