跳转至

开发指引

准备工作

请至资源中心下载SDK。

1
2
3
4
5
6
7
8
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. 付款码支付

调用示例

1
2
3
4
5
6
7
8
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. 退款

调用示例

1
2
3
4
5
6
7
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. 撤销

调用示例

1
2
3
4
5
6
7
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.支付订单查询

调用示例

1
2
3
4
5
6
7
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.退款订单查询

调用示例

1
2
3
4
5
6
7
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.扫码预授权

调用示例

1
2
3
4
5
6
7
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.扫码预授权订单查询

调用示例

1
2
3
4
5
6
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.扫码预授权订单撤销

调用示例

1
2
3
4
5
6
7
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.扫码预授权订单完成

调用示例

1
2
3
4
5
6
7
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)

上传日志

上传日志功能,目前记录网络错误类型日志,上传昨天和前天的日志。需集成厂商择机上传,例如在每日签到入口,或者通过客服引导方式上传。

1
SDPUploadLoganUtil.uploadLog()

Back to top