开发指引
准备工作
请至资源中心下载SDK。
| dependencies {
//如果root工程没有引入okhttp3,需引入一下依赖
implementation 'com.squareup.okhttp3:okhttp:3.10.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.10.0'
//必须引入依赖
implementation(name: 'SDP_SDK_x.x.x_release_xxxxxxx', ext: 'aar')
implementation 'com.dianping.android.sdk:logan:1.2.4'
}
|
初始化
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 | SDPSdkApi.initSDK(this, object : SDPInitInterface {
override fun getDeviceId(): String {//设备id
return "设备id(必填)"
}
override fun getAuthorizeToken(): String {//认证token
return "认证token(必填)"
}
override fun getEncryptKey(): String {//aes秘钥
return "aes秘钥(必填)"
}
override fun getSignKey(): String {//验签秘钥
return "验签秘钥(必填)"
}
override fun isDev(): Boolean {
return true
}
})
SDPSdkApi.injectAppInfoProvider(object : SDPBaseInfoInterface {
override fun getLongitude(): String {
return "非必填"
}
override fun getLatitude(): String {
return "非必填"
}
})
|
终端调用扫码业务
1. 付款码支付
调用示例
| Map<String, String> paramsMap = new HashMap<>();
SDPSdkApi.startPay(paramsMap,new SDPResultCallback(){
@Override
public void onResult(@NotNull String resultCode, @NotNull String resultMessage, @Nullable Map<String, ?> map) {
}
});
|
参数说明
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
paramsMap | 参数集合 | Y | Map | | 调用接口所需参数集合 |
posMchId | pos商户号 | Y | String(15) | 820753279410002 | 商户初始化下发的15位商户码 |
outTradeNo | 商户订单号 | Y | String(64) | SP927914231411 | 商户系统内部订单号,应保证系统内唯一性 |
totalFee | 订单金额 | Y | String(12) | 100, 1, 0.01 | 单位为元 |
clientIp | 设备IP | Y | String(256) | 10.132.25.24 | 用户IP(H5支付时请传用户真实地址) |
currency | 标准币种 | N | String(8) | CNY | 默认填写CNY |
body | 商品描述 | N | String(64) | 商品描述 | 商品描述 |
authCode | 付款码 | N | String(32) | 134738896906711966 | 支付宝、微信、云闪付付款码 |
attach | 附加信息 | N | String(1024) | "attach":"{\"qrCode":\"21298465571323972861952\"}" | |
detail | 交易信息 | N | String(128) | | |
extra | 支付要素扩展参数 | N | String(1024) | 示例值({ "authCode": "121312312312", "openId": "sdfasdfsaf" }) | |
notifyUrl | 商户通知回调地址 | N | String(128) | | |
pageUrl | 同步跳转地址 | N | String(128) | | |
timeExpire | 交易结束时间 | N | String(16) | yyyyMMddHHmmss | |
SDPResultCallback | 支付结果回调 | Y | Interface | | |
结果回调说明
字段名 | 变量名 | 类型 | 示例值 | 说明 |
resultCode | 支付结果 | String | 0,-1,-2,-3 | 0:成功,-1:支付中,-2:支付失败,-3:接口请求失败 |
resultMessage | 支付描述 | String | “支付成功”,“支付中” | 支付最终状态 |
map | 扩展信息 | Map | | 如获取订单信息,从map集合中取key为orderInfo 的值。 (注:接口失败时map为null) |
2. 退款
调用示例
| Map<String, String> paramsMap = new HashMap<>();
SDPSdkApi.startRefundOrder(paramsMap, new SDPResultCallback() {
@Override
public void onResult(@NotNull String resultCode, @NotNull String resultMessage, @Nullable Map<String, ?> map) {
}
});
|
参数说明
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
paramsMap | 参数集合 | Y | Map | | 调用接口所需参数集合 |
posMchId | pos商户号 | Y | String(15) | 820753279410002 | 商户初始化下发的15位商户码 |
outTradeNo | 商户订单号 | N | String(64) | SP927914231411 | 原支付订单的商户订单号 |
refundFee | 退款金额 | Y | String(12) | 100, 1, 0.01 | 单位为元 |
refundDesc | 退款描述 | N | String(64) | 用户申请退款 | 描述用户退款原因 |
refundOrderNo | 退款订单号 | Y | String(64) | RSP92791423143 | 商户系统内部订单号 |
instOrderId | 渠道订单号 | N | String(64) | YLWX20211106084530894886, WLWX20211106084530894886, YLZFB20211108113005398304, WLZFB20211108113005398304, UP2000024025 | 盛付通在各个渠道生成的订单号,其中outTradeNo,instOrderId至少传递一个 |
attach | 附加信息 | N | String(512) | 可透传至异步通知、商户对账单中 | |
transactionId | 盛付通产品订单号 | N | String(64) | M20220216525388758514737152 | 盛付通侧的订单号 |
SDPResultCallback | 结果回调 | Y | Interface | | |
结果回调说明
字段名 | 变量名 | 类型 | 示例值 | 说明 |
resultCode | 退款结果 | String | 0,-1,-2,-3 | 0:退款成功,-1:退款中,-2:退款失败,-3:接口请求失败 |
resultMessage | 退款描述 | String | “退款成功”,“退款中” | 退款最终状态 |
map | 扩展信息 | Map | | 如获取订单信息,从map集合中取key为orderInfo 的值。 (注:接口失败时map为null) |
3. 撤销
调用示例
| Map<String, String> paramsMap = new HashMap<>();
SDPSdkApi.startRevokeOrder(paramsMap, new SDPResultCallback() {
@Override
public void onResult(@NotNull String resultCode, @NotNull String resultMessage, @Nullable Map<String, ?> map) {
}
});
|
参数说明
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
paramsMap | 参数集合 | Y | Map | | 调用接口所需参数集合 |
posMchId | pos商户号 | Y | String(15) | 820753279410002 | 商户初始化下发的15位商户码 |
outTradeNo | 商户订单号 | N | String(64) | SP927914231411 | 原支付订单的商户订单号 |
instOrderId | 渠道订单号 | N | String(64) | YLWX20211106084530894886, WLWX20211106084530894886, YLZFB20211108113005398304, WLZFB20211108113005398304, UP2000024025 | 盛付通在各个渠道生成的订单号,其中outTradeNo,instOrderId至少传递一个 |
SDPResultCallback | 结果回调 | Y | Interface | | |
结果回调说明
字段名 | 变量名 | 类型 | 示例值 | 说明 |
resultCode | 撤销结果 | String | 0,-3 | 0:撤销成功,-3:接口请求失败 |
resultMessage | 撤销描述 | String | “撤销成功” | 撤销最终状态 |
map | 扩展信息 | Map | | map为null |
4.支付订单查询
调用示例
| Map<String, String> paramsMap = new HashMap<>();
SDPSdkApi.startQueryOrder(paramsMap, new SDPResultCallback() {
@Override
public void onResult(@NotNull String resultCode, @NotNull String resultMessage, @Nullable Map<String, ?> map) {
}
});
|
参数说明
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
paramsMap | 参数集合 | Y | Map | | 调用接口所需参数集合 |
posMchId | pos商户号 | Y | String(15) | 820753279410002 | 商户初始化下发的15位商户码 |
outTradeNo | 商户订单号 | N | String(64) | SP927914231411 | 原支付订单的商户订单号 |
instOrderId | 渠道订单号 | N | String(64) | YLWX20211106084530894886, WLWX20211106084530894886, YLZFB20211108113005398304, WLZFB20211108113005398304, UP2000024025 | 盛付通在各个渠道生成的订单号,其中outTradeNo,instOrderId至少传递一个 |
SDPResultCallback | 结果回调 | Y | Interface | | |
结果回调说明
字段名 | 变量名 | 类型 | 示例值 | 说明 |
resultCode | 查询结果 | String | 0,-1,-2,-3 | 0:支付成功,-1:支付中,-2:支付失败,-3:接口请求失败 |
resultMessage | 撤销描述 | String | “支付成功” | 支付最终状态 |
map | 扩展信息 | Map | | 如获取订单信息,从map集合中取key为orderInfo 的值。 (注:接口失败时map为null) |
5.退款订单查询
调用示例
| Map<String, String> paramsMap = new HashMap<>();
SDPSdkApi.startQueryRefund(paramsMap,new SDPResultCallback() {
@Override
public void onResult(@NotNull String resultCode, @NotNull String resultMessage, @Nullable Map<String, ?> map) {
}
});
|
参数说明
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
paramsMap | 参数集合 | Y | Map | | 调用接口所需参数集合 |
posMchId | pos商户号 | N | String(15) | 820753279410002 | 商户初始化下发的15位商户码 |
outRefundNo | 商户订单号 | Y | String(64) | SP927914231411 | 原支付订单的商户订单号 |
refundId | 盛付通退款订单号 | N | String(64) | MR20220120515582429347024896 | 盛付通侧的订单号,与退款订单号至少有一个不为空 |
SDPResultCallback | 结果回调 | Y | Interface | | |
结果回调说明
字段名 | 变量名 | 类型 | 示例值 | 说明 |
resultCode | 查询结果 | String | 0,-1,-2,-3 | 0:退款成功,-1:退款中,-2:退款失败,-3:接口请求失败 |
resultMessage | 撤销描述 | String | “退款成功” | 退款最终状态 |
map | 扩展信息 | Map | | 如获取订单信息,从map集合中取key为orderInfo 的值。 (注:接口失败时map为null) |
6.扫码预授权
调用示例
| Map<String, String> paramsMap = new HashMap<>();
SDPSdkApi.startPreAuthorize(paramsMap, new SDPResultCallback() {
@Override
public void onResult(@NotNull String resultCode, @NotNull String resultMessage, @Nullable Map<String, ?> map) {
}
});
|
参数说明
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
paramsMap | 参数集合 | Y | Map | | 调用接口所需参数集合 |
posMchId | pos商户号 | Y | String(15) | 820753279410002 | 商户初始化下发的15位商户码 |
outTradeNo | 商户订单号 | Y | String(64) | SP927914231411 | 商户系统内部订单号,应保证系统内唯一性 |
totalFee | 订单金额 | Y | String(12) | 100, 1, 0.01 | 单位为元 |
tradeType | 支付类型 | N | String(16) | zfb_deposit,wx_deposit | zfb_deposit:支付宝预授权,wx_deposit:微信预授权 |
currency | 标准币种 | N | String(8) | CNY | 默认填写CNY |
body | 商品描述 | N | String(64) | 商户或商品名称 | 传入商户名称,用于支付宝账单显示 |
authCode | 付款码 | Y | String(32) | 134738896906711966 | 支付宝,微信付款码 |
timeExpire | 交易截止时间 | N | String(16) | 202201211213 | yyyyMMddHHmmss |
attach | 附加信息 | N | String(1024) | "attach":"{\"memo\":\"格林豪泰一店101房间押金支付\"}" | 用于备注当前预授权的商品名称,如备注预授权房间号, 扫码预授权完成接口,可返回该字段 |
clientIp | 用户IP | Y | String(256) | 10.132.25.24 | 用户IP(H5支付时请传用户真实地址) |
detail | 交易信息 | N | String(128) | | |
limitPay | 是否限制信用卡支付 | N | String(32) | no_credit, 空 | 支付是否可以使用信用卡,为空时不限制,no_credit:限制信用卡 |
notifyUrl | 通知地址 | N | String(128) | | |
sceneInfo | 场景信息 | N | String(256) | | |
SDPResultCallback | 支付结果回调 | Y | Interface | | |
结果回调说明
字段名 | 变量名 | 类型 | 示例值 | 说明 |
resultCode | 查询结果 | String | 0,-1,-2,-3 | 0:支付成功,-1:支付中,-2:支付失败,-3:接口请求失败 |
resultMessage | 撤销描述 | String | “支付成功” | 支付最终状态 |
map | 扩展信息 | Map | | 如获取订单信息,从map集合中取key为orderInfo 的值。 (注:接口失败时map为null) |
7.扫码预授权订单查询
调用示例
| Map<String, String> paramsMap = new HashMap<>();
SDPSdkApi.startQueryPreAuthorize(paramsMap, new SDPResultCallback() {
@Override
public void onResult(@NotNull String resultCode, @NotNull String resultMessage, @Nullable Map<String, ?> map) {
}
});
|
参数说明
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
paramsMap | 参数集合 | Y | Map | | 调用接口所需参数集合 |
posMchId | pos商户号 | Y | String(15) | 820753279410002 | 商户初始化下发的15位商户码 |
outTradeNo | 商户订单号 | Y | String(64) | SP927914231411 | 商户系统生成的内部订单号 |
SDPResultCallback | 结果回调 | Y | Interface | | |
结果回调说明
字段名 | 变量名 | 类型 | 示例值 | 说明 |
resultCode | 查询结果 | String | 0,-1,-2,-3 | 0:支付成功,-1:支付中,-2:支付失败,-3:接口请求失败 |
resultMessage | 撤销描述 | String | “支付成功” | 支付最终状态 |
map | 扩展信息 | Map | | 如获取订单信息,从map集合中取key为orderInfo 的值。 (注:接口失败时map为null) |
8.扫码预授权订单撤销
调用示例
| Map<String, String> paramsMap = new HashMap<>();
SDPSdkApi.startPreAuthorizeReverse(paramsMap, new SDPResultCallback() {
@Override
public void onResult(@NotNull String resultCode, @NotNull String resultMessage, @Nullable Map<String, ?> map) {
}
});
|
参数说明
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
paramsMap | 参数集合 | Y | Map | | 调用接口所需参数集合 |
posMchId | pos商户号 | Y | String(15) | 820753279410002 | 商户初始化下发的15位商户码 |
outTradeNo | 商户订单号 | N | String(64) | SP927914231411 | 商户系统生成的内部订单号 |
instOrderId | 渠道订单号 | N | String(64) | FWSZFB2022021816042104874, FWSWXPRE20211203172327485924 | 盛付通在各个渠道生成的订单号, 其中outTradeNo,instOrderId至少传递一个 |
SDPResultCallback | 结果回调 | Y | Interface | | |
结果回调说明
字段名 | 变量名 | 类型 | 示例值 | 说明 |
resultCode | 撤销结果 | String | 0,-3 | 0:撤销成功,-3:接口请求失败 |
resultMessage | 撤销描述 | String | “撤销成功” | 撤销最终状态 |
map | 扩展信息 | Map | | map为null |
9.扫码预授权订单完成
调用示例
| Map<String, String> paramsMap = new HashMap<>();
SDPSdkApi.startPrePay(paramsMap,new SDPResultCallback() {
@Override
public void onResult(@NotNull String resultCode, @NotNull String resultMessage, @Nullable Map<String, ?> map) {
}
});
|
参数说明
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
paramsMap | 参数集合 | Y | Map | | 调用接口所需参数集合 |
posMchId | pos商户号 | Y | String(15) | 820753279410002 | 商户初始化下发的15位商户码 |
outTradeNo | 商户订单号 | Y | String(64) | SP927914231411 | 商户系统内部订单号,应保证系统内唯一性 |
instOrderId | 渠道订单号 | Y | String(64) | FWSZFB2022021816042104874, FWSWXPRE20211203172327485924 | 盛付通在各个渠道生成的订单号 |
totalFee | 订单金额 | Y | String(12) | 100, 1, 0.01 | 单位为元 |
clientIp | 设备IP | Y | String(256) | 10.132.25.24 | 用户IP(H5支付时请传用户真实地址) |
currency | 标准币种 | N | String(8) | CNY | 默认填写CNY |
body | 商品描述 | N | String(64) | 商户或商品名称 | 传入商户名称,用于支付宝账单显示 |
detail | 交易信息 | N | String(128) | | |
notifyUrl | 通知地址 | N | String(128) | | |
pageUrl | 同步跳转地址 | N | String(128) | | |
timeExpire | 交易结束时间 | N | String(16) | 202201211213 | yyyyMMddHHmmss |
SDPResultCallback | 支付结果回调 | Y | Interface | | |
结果回调说明
字段名 | 变量名 | 类型 | 示例值 | 说明 |
resultCode | 查询结果 | String | 0,-1,-2,-3 | 0:支付成功,-1:支付中,-2:支付失败,-3:接口请求失败 |
resultMessage | 撤销描述 | String | “支付成功” | 支付最终状态 |
map | 扩展信息 | Map | | 如获取订单信息,从map集合中取key为orderInfo 的值。 (注:接口失败时map为null) |
上传日志
上传日志功能,目前记录网络错误类型日志,上传昨天和前天的日志。需集成厂商择机上传,例如在每日签到入口,或者通过客服引导方式上传。
| SDPUploadLoganUtil.uploadLog()
|