1. 判断当前订单号是否存在,存在则直接返回相关信息
2.根据第三方系统号+第三方会员标识调用aimp查询会员编号,未查询到则根据手机号调用aimp定位会员编号
3.根据参数信息区分调用mvo下单接口(年卡年付、年卡月付)
4. 如mvo返回参数信息已激活/待激活并且会员编号为手机号定位会员,则根据会员编号查询aimp第三方绑定关
系接口,判断绑定关系是否存在
存在:判断第三方系统号为139000004710(咪咕)的第三方系统会员标识是否为当前传入的标识相同,并调用aimp
查询对应出混淆会员编号返回
不存在:调用aimp绑定第三方会员关系(对内)接口建立绑定关系
5.处理数据并返回对应信息
名称 | 类型 | 是否必须 | 示例值 | 描述 |
---|---|---|---|---|
appMethod | String | Y | suning.custom.category.query | 方法名 |
appRequestTime | String | Y | 2012-04-25 20:23:30 | 时间戳,格式为yyyy-MM-dd HH:mm:ss,例如:2012-04-25 20:23:30。API服务端允许客户端请求时间误差为10分钟。 |
format | String | N | XML | 默认xml,可指定格式为xml,json |
appKey | String | Y | b0c332a133c102765f39de********** | 分配给应用的访问令牌 |
versionNo | String | Y | v1.2 | API的版本,目前为v1.2版本 |
signInfo | String | Y | 460d7ff15b073e463125b4********** | appSecret,appMethod ,appRequestTime, appKey, versionNo, 请求报文base64加密后的数据顺序MD5(32位小写),其中appSecret为appKey对应的密钥 |
access_token | String | N | a1c5c62b08df3a3cbf7efd********** | 采用OAuth授权方式为必填参数 |
名称 | 类型 | 是否必须 | 示例值 | 描述 |
---|---|---|---|---|
appCode | String | Y | migu | 系统编码 |
mobileNum | String | Y | 13177443627 | 手机号 |
mixCustNum | String | N | 5cbe0adc4a61447aa1ec5bca92ac52677fa5328da696492c | 会员编号(混淆) |
externalOrderNo | String | Y | 8dsu8sldksjka | 第三方订单号 |
extSystemId | String | Y | 139000004710 | 第三方系统号 |
externalUid | String | Y | 87sdhsjkda0923 | 第三方用户标识 |
amount | String | Y | 12.62 | 销售金额 |
settlementAmount | String | Y | 12.62 | 结算金额 |
payType | String | Y | 1 | 付费包类型:1 年卡年付/2 年卡月付 |
payTime | String | Y | 20180315123655121 | 支付时间 |
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
orderId | String | jui31kic6486 | QQS流水号 |
mixCustNum | String | ff1443e11699458c81ed88ce23817466c707d1ac3b6a4ab4 | 会员编号(混淆) |
custStatus | String | 1 | 会员状态:已发卡密 1 会员待注册 2 会员待激活 3 设置成功 4 |
status | String | COMPLETE | 状态 |
<sn_request> <sn_body> <addPaidsuper> <amount>12.62</amount> <mobileNum>13177443627</mobileNum> <appCode>migu</appCode> <payType>1</payType> <settlementAmount>12.62</settlementAmount> <externalUid>87sdhsjkda0923</externalUid> <externalOrderNo>8dsu8sldksjka</externalOrderNo> <mixCustNum>5cbe0adc4a61447aa1ec5bca92ac52677fa5328da696492c</mixCustNum> <payTime>20180315123655121</payTime> <extSystemId>139000004710</extSystemId> </addPaidsuper> </sn_body> </sn_request>
{ "sn_request": { "sn_body": { "addPaidsuper": { "amount": "12.62", "mobileNum": "13177443627", "appCode": "migu", "settlementAmount": "12.62", "payType": "1", "mixCustNum": "5cbe0adc4a61447aa1ec5bca92ac52677fa5328da696492c", "externalOrderNo": "8dsu8sldksjka", "externalUid": "87sdhsjkda0923", "payTime": "20180315123655121", "extSystemId": "139000004710" } } } }
<sn_responseContent> <sn_body> <addPaidsuper> <status>COMPLETE</status> <custStatus>1</custStatus> <mixCustNum>ff1443e11699458c81ed88ce23817466c707d1ac3b6a4ab4</mixCustNum> <orderId>jui31kic6486</orderId> </addPaidsuper> </sn_body> </sn_responseContent>
{ "sn_responseContent": { "sn_body": { "addPaidsuper": { "status": "COMPLETE", "mixCustNum": "ff1443e11699458c81ed88ce23817466c707d1ac3b6a4ab4", "custStatus": "1", "orderId": "jui31kic6486" } } } }
异常码 | 错误描述 | 解决方案 |
---|---|---|
biz.superext.addpaidsuper.enumeration-error:* | 参数的可选值错误 | 请检查此参数的值,*号表示参数字段名 |
biz.superext.addpaidsuper.missing-parameter:* | 参数必填 | 请检查此参数的值,*号表示参数字段名 |
biz.superext.addpaidsuper.format-error:* | 参数格式错误 | 请检查此参数的值,*号表示参数字段名 |
biz.superext.addpaidsuper.length-overlong:* | 参数的值超过规定长度 | 请检查此参数的值,*号表示参数字段名 |
isp.sys.service.unavailable.qqs | 服务不可用 | 请联系苏宁技术人员 |
biz.superext.addpaidsuper.invalid-biz:100 | 系统错误 | 系统错误 |
biz.superext.addpaidsuper.invalid-biz:101 | 会员状态异常 | 会员状态异常 |
biz.superext.addpaidsuper.invalid-biz:102 | 权益发放失败 | 请联系苏宁技术人员 |
异常码 | 错误描述 | 解决方案 |
---|---|---|
sys.check.user-permission:inexistence | 访问令牌不存在 | 更换访问令牌 |
sys.check.user-permission:overdue | 访问令牌已过期 | 请使用刷新令牌刷新 |
sys.check.api-permission:inexistence | Api方法不存在 | 请参考帮助中心 |
sys.check.api-permission:overdue | Api方法已过期 | 请参考帮助中心 |
sys.check.method-permission:authority | 无权操作此api | 确认是否有访问该方法权限 |
sys.auth.vendor-request:errory | 无权操作此供应商 | 请确认供应商编码是否正确 |
sys.controller.api-request:limit | Api请求受控 | 超过请求次数 |
sys.check.app-time:error | 请求参数错误api请求时间误差大 | 参考帮助中心 |
sys.check.request-params:error | 请求报文结构错误 | 参考帮助中心、日期格式等 |
sys.check.starttime-format:error | 请求开始时间错误 | 参考帮助中心、日期格式等 |
biz.handler.data-get:success | 业务数据查询成功 | 无 |
biz.handler.data-get:fail | 业务数据查询失败 | 检查请求条件 |
biz.handler.data-get:no-result | 业务数据结果为空 | 无 |
sys.check.pageno-format:error | pageNo格式错误,只允许1到99999之间的整数 | 检查pageNo输入是否有误 |
sys.check.pagesize-format:error | pageSize格式错误,只允许1到50之间的整数(订单相关是1到100) | 检查pageSize输入是否有误 |
sys.check.page-param:error | pageNo或者pageSize不在要求范围内,pageNo只允许1到99999之间的整数,pageSize只允许1到50之间的整数(订单相关是1到100) | 检查pageNo和pageSize输入是否有误 |
sys.check.miss-time:starttime | 不存在开始时间(节点) | 检查输入 |
sys.check.miss-time:endtime | 不存在结束时间(节点) | 检查输入 |
sys.check.starttime-value:null | 开始时间为空(值) | 检查输入 |
sys.check.endtime-value:null | 结束时间为空(值) | 检查输入 |
sys.check.starttime-format:error | 校验开始时间不合法,格式yyyy-MM-dd HH:mm:ss | 检查时间格式 |
sys.check.endtime-format:error | 校验结束时间不合法,格式yyyy-MM-dd HH:mm:ss | 检查时间格式 |
sys.check.query-time:error | 开始时间是否小于结束时间 | 检查开始和结束时间大小 |
sys.check.query-time:outofrange | 时间查询是否超出指定范围 | 检查时间范围 |
sys.check.app-sign:null | 签名信息为空 | 检查签名信息 |
sys.check.app-sign:error | 签名信息错误 | 检查签名信息 |
sys.check.missing-parameter:apiversion | API版本号未指定 | 检查API版本号 |
sys.check.missing-parameter:appRequestTime | 请求时间丢失 | 检查请求时间 |
sys.check.missing-nestElement:sn_body | 缺少sn_body节点 | 检查sn_body是否存在 |
sys.check.user-permission:inexistence | 用户key不存在 | 检查用户key是否存在 |
biz.handler.batch-handler:no-support | 非查询类API不支持批量操作 | 检查API类型 |
biz.handler.request-message:error | 查询类API输入多个业务节点 | 检查业务节点 |
sys.check.header-param:null | header参数为空 | 请检查header参数 |
sys.controller.api-access:limit | 访问限制 | 无 |
sys.controller.api-frequency:limit | 访问频率限制 | 无 |
sys.error.network:failure | 网络异常 | 无 |
sys.error.network-status:? | 响应失败 ?为状态码 | 无 |
sys.check.snunionid.length.is.not:48 | 混淆会员编码长度不是48位 | 使用转换器转换混淆会员编码规定要求混淆会员编码48位 |