大麦盒子支付系统指纹_第1页
大麦盒子支付系统指纹_第2页
大麦盒子支付系统指纹_第3页
大麦盒子支付系统指纹_第4页
大麦盒子支付系统指纹_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、通过 ContentProvider 方式向您提供数据,您要的数据您可能需要下面几个信息。要的ContentProvider 的所需要的权限在 AndroidManifest.xml 中添限要的ContentProvider 所需的 Uricontent:/HiveViewCloudUserAuthorities/TABLE_USER_INFO数据库的方法/代码ContentResolver resolver = this.getContentResolver();Uri userInfoUri = Uri.parse(content:/HiveViewCloudUserAuthorities

2、/TABLE_USER_INFO);/判断用户是否登陆Bundle mLoginSeBundle= resolver.call(userInfoUri, METHOD_CHECK_LOGIN, null, null);String mLoginSe = mLoginSeBundle.getString(loginSe);/已登录 在调用获取用户信息的方法Bundle mUserInfoBundle = resolver.call(queryUri, METHOD_GET_USERINFO, null, null);当未登录的状态您可能需要用隐式跳转的方式跳转到及参数。的登陆主界面。下面是所需的

3、 action,以entent = newent();ent.setAction(com.hiveview.cloudscreen.user.HOME);ent.putExtra(fromOtherApk, a);startActivity(ent);附件:获取数据 Demo备注:只适用于用户中心 1 期。大麦支付接入手册原生非计费包版服务名称:domypay.apk.direct版本号 1.71 文档说明1.1 功能描述商户必须通过大麦支付 apk 完成交易的预下单,用户既可以通过大麦虚拟币(麦粒)服务,也可以通过扫描电视端的方式在上完成现金支付。用户支付的依据是商户直接传入商品的价格信息进

4、行扣费,本文对这种形式的支付进行业务说明和接口描述。1.2 阅读对象本文档面向具有一定的 OTT 电视机顶盒应用或移动安卓应用开发能力的技术。1.3 业务术语术语解释商户与大麦签约,其产品在大麦盒子或相关产品上进行推广、运营、用户的 App 提供者。成为签约商户后,服务方可获得商户账号进入大麦第商户系统,进行订单的数据查询以及对账等功能。商户 id 和商户 key商户与大麦签约后,将获取 partnerId 和 partnerKey 两个信息,用于支付交易和通讯加密等业务,需商户妥善保管不得。支付用户对商户 App 进行支付,在用户钱包中的大麦虚拟币充足的情况下可直接使用大麦虚拟币进行支付,否

5、则要通过 扫码的方式在 上完成现金支付。支付接入方式大麦 提供两种形式的支付接入原生支付:调用支付 apk 进行支付 web 支付:调用大麦 web 支付界面本文描述的是原生支付接入计费模式大麦提供两种形式的计费模式:1、计费包模式商户预先在大麦产品和计费包信息,使用产品序列号调用大麦支付,用户可多种套餐。2、非计费包模式商户调用大麦支付接口时,直接传入产品信息以及需要扣费的金额注:本文档描述的是原生支付非计费模式2.原生非计费包模式支付说明2.1 支付业务流程1.用户使用 app 到达点后,商户 app 为大麦支付 apk 传入必要的支付参数(详见参数)触发打开大麦支付界面。2.用户在支付界

6、面中进行操作,配合使用对支付进行扫码。3.用户在上完成支付动作。4.用户支付完成后,大麦支付将通知商户预留回调地址,由商户系统根据订单支付状态进行实际的业务处理。从而完成支付。相比而言,预先定价的模式更安全可靠,因价格信息不在互联网络上传输,他人无法 并对产品价格信息进行篡改,商户若无特殊业务,建议采用计费模式接入大麦支付。本文描述的是非计费包模式支付回调通知用户通过大麦支付支付成功后,支付将通知商户业务系统用户支付结果5.商户系统业务处理完毕后,重新触发支付结果通知界面,通知用户结果。2.2 支付 apk 使用说明商户 app 调用大麦支付 apk:隐式意图:Java 代码:entent =

7、 newent();ent.setAction(com.hiveviey.cashpay);/设置actionent.addCategory(android.ent.category.DEFAULT);/设置参数ent.putExtra(cashAmt, cashAmt);/支付金额ent.putExtra(productName, productName);/产品名称ent.putExtra(chargingName, chargingName);/计费名称ent.putExtra(chargingDuration, chargingDuration);/计费时长ent.putExtra(p

8、artnerId, partnerId);/商户ident.putExtra(token, token);/秘钥ent.putExtra(packageName, packageName);/包名ent.putExtra(appendAttr, appendAttr);/业务参数json/使用返回式启动 activitystartActivityForResult(ent, REQUEST_PAY_CASH_CODE);/REQUEST_PAY_CASH_CODE=6 现金支付对应的吗/回调函数Overrideprotected void onActivityResult(reqode,res

9、ultCode,ent data) super.onActivityResult(reqode, resultCode, data);/返回 json 类型数组 格式code:N000000,message:错误获成功信息/N000000 为成功码 ,其余的返回系统对应的错误信息String json = data.getStringExtra(payCashResult);Toast.makeText(this, json, 0).show();参数参数参数名称必填长度限制加签参数说明productName产品名称是String(30)否cashAmt支付金额是String(20)是为元ch

10、argingName计费名称否String(30)否如 30 元包月等。chargingDuration计费时长是是为秒,若不限制传-1partnerId商户 id是String(20)是appendAttr业务参数否String(50)是可扩展业务参数,以 json 串的形式提供,支付对这些参数不做处理,在通知回调时直接返回给商户业务如:“orderid”:” abc123”,”noti fyid”:”no1232.3Token 生成方式大麦需要验证商户 apk 传入的支付参数是否合法,需要将需要加签的参数与 token 进行比对验证,通过验证后才可进行下一步支付业务操作1.将上述参数中需要

11、加签的参数名,按字典顺序进行排序,通过&拼接成字符串 s1示例如商户传入的需要加签的参数为:cashAmt=5chargingDuration=-1partnerId=demopartnerappendAttr=“orderid”:”abc123”,”notifyid”:”no123”经字典顺序排序后,得到 s1 串:appendAttr=“orderid”:”abc123”,”notifyid”:”no123”&cashAmt=5&chargingDuration=-1&partnerId=demopartner2.在 s1 的基础上,拼接本商户的 partnerKey,得到字符串 s2示例

12、”packageName包名是String(30)否获取 app 的图标token秘钥是String(50)否对加签参数进行签名,签名方式见 “ Token 生成方 式”如本商户的 partnerKey 为 demopartnerkey经拼接后,得到 s2 串:appendAttr=“orderid”:”abc123”,”notifyid”:”no123”&cashAmt=5&chargingDuration=-1&partnerId=demopartnerdemopartnerkey3.对 s2 进行 md5 加密,得到最终的 token 字符串4.重要提示从安全性考虑,建议在服务端保存 p

13、artnerKey,在商户服务生 成 token,避免 partnerKey 在网络上传输以及直接存在 apk 里面。2.4 支付回调通知接口说明用户通过大麦支付支付成功后,支付将通知商户业务系统用户支付结果,支付报文说明如下(版本升级时可能会进行字段扩充):参数参数名称说明orderId订单号大麦的支付订单号,商户做订单查询时需要用此单号orderTime下单时间时间格式 yyyy-MM-dd HH:mm:ssorderSus订单状态1-未支付,2-已支付,3-开通失败,4-已退款,5-已关闭payType支付1-大麦钱包,3-支付宝钱包,4-支付cashAmt支付现金数金额,为元注:通知信

14、息须从 request 流中(request.getInputStream)获取商户业务系统收到大麦支付回调通知后,必须返回给支付s”信息(同样写到流中),支付平”suc台已此确认商户业务系统已收到回调,否则会按一定的策略(不超过 6 次,每次间隔)重复进行回调通知,若均未收到”suc补单操作。s”响应值,大麦市场将会与商户接入进行确认以便在丢单情况下进行2.5 通知签名生成规则将回调通知参数中除去 sign 以外的所有参数(版本升级时可能会进行字段扩充,验证签名时请不要照搬 以 上 表 格 中 的 字 段 ) , 参 数 名 按 照 字 典 顺 序 拼 接 为cashAmt=100&char

15、gingDegree=0&chargingDuration=103236得到字符串 s1,再在 s1 之后拼接字符串mlAmt消耗麦粒数含现金补充和钱包余额两部分麦粒sn设备 sn 信息设备序列号mac设备 mac 地址设备有线 mac 地址devicecode设备码设备码productId产品 IDproductType产品类型productName产品名称chargingPrice商品价格为元chargingDuration有效时长为秒,产品为计次类型时返回 0chargingDegree有效次数产品为计时类型时返回 0userId用户 ID判定用户是否的依据,大麦用户 IDuserNam

16、e用户名称未登录支付返回 unknownpayTime支付时间时间格式 yyyy-MM-dd HH:mm:sspayRealml支付充入麦粒数payFreeml支付麦粒数orderAppend商户的业务参数与商户传入的业务参数信息一致sign通知签名用于做通知识别,签名验证失败则为不安全通知,商户应予以丢弃;签名生成规则见下文。&partnerKey=商户秘钥,即 s2=s1+”&partnerKey=3h21gff”,最后对字符串 s2 进行 md5加密,即有sign=md5(s2)。将得到的 sign 与请求中提供 sign 做比较,不匹配则视为不合法的请求,可以丢弃。2.6 订单查询接口

17、http/order/orderQuery.json参数返回信息格式可参考“2.4 支付回调通知接口说明”,商户可通过程序调用该接口,主动获取订单的当前信息。2.其他3.1apk 开发工具包大麦提供客户端开发工具包,用于获取盒子硬件信息:由于大麦盒子主推新硬件变更以及大麦电视量产,设备信息获取新增方式有以下变更:1,从 jar 中获取设备信息方式不变(已经不建议使用,但是要兼容线上的旧盒子还要延续使用一段时间)参数参数名称说明orderId订单号大麦的支付订单号partnerId商户 IDtimest时间戳当前毫秒时间token秘钥token= md5(orderId | partnerKey

18、)3.2 用户订购关系的判断说明用户订购关系的判断依据是大麦用户中心的用户 ID(userId),商户 apk 应将获取的 userId 传到与已支付订单中的 userId 进行匹配,从而判定用户是否已过服务。3.3统计客户端统计调用方式(计费包):调用方式不变(调用支付的时候添加一个参数)添加一个 json 格式参数”sistics”ent.putExtra(sistics, sistics);/添加参数统计使用现有 4 种 sistics 类型:1,影厅 sistics 参数 json:partner_name:测试,srcType:1,movieTheaterInfo:c:1,cpNam

19、e:极清测试参数说明:partner_name合作方名称srcType类型根据 srcTpey 的不同,传不同的参数1:影厅2:影片2,从大麦盒子的数据提供者开放的接口中获取设备信息(以后的长期使用) note:1,DeviceInfoActivity.java 为 demo,具体获取设备信息的方法请参考DeviceInfoActivity.java 获取方式.2,DeviceInfoActivity.java 有两种获取设备信息的方式,请两个都实现(兼容线上的旧盒子)3,deviceinfo_2.02.02.jar 为适配新后的 jar 请替换旧的 jar 包2,影片 sistics 参数

20、json::1,albumName: 极 清 测 试 ,contentType:1,Name: 极 清 测 试movieInfo:c,albumId:1,cpName:极清测试,:1,partner_name:测试,srcType:2参数说明:partner_name合作方名称srcType类型根据 srcTpey 的不同,传不同的参数1:影厅2:影片3:专题4:应用影 片 参 数movieInfocontentType专辑类型1:2:电视剧 3:MV 4:其他albumId专辑 ID剧集 IDalbumName专辑名称Name剧集名称c影厅 id3:专题4:应用影 厅 参 数movieThe

21、aterInfoc影厅 idcpName影厅名称3,专题 sistics 参数 json:partner_name: 测试,srcType:3,topicsInfo:c极清测试:1,subject_name:1,subject_id:1,cpName:参数说明:4,应用 sistics参数 json:测试partner_name:,srcType:4,appInfo:bundle_id:1,appName:1,category_id:1,partner_id:1,ap:1参数说明:partner_name合作方名称partner_name合作方名称srcType类型根据 srcTpey 的不同

22、,传不同的参数1:影厅2:影片3:专题4:应用专 题 参 数topicsInfosubject_id专题 idsubject_name专题名称c影厅 idcpName影厅名称cpName影厅名称选择自己类型选择一种类型参数的含义请参考上面表格.大麦支付接入手册原生计费包版srcType类型根据 srcTpey 的不同,传不同的参数1:影厅2:影片3:专题4:应用应 用 参 数appInfoap应用 idappName应用名称bundle_id包名partner_id合作方 idcategory_id分类 id1:2:应用服务名称:domypay.apk.direct版本号 1.71.文档说明1

23、.1 功能描述商户必须通过大麦支付 apk 完成交易的预下单,用户既可以通过大麦虚拟币(麦粒)服务,也可以通过扫描电视端的方式在上完成现金支付。用户支付的依据是商户预先在大麦设定的商品计费包,本文对这种形式的支付进行业务说明和接口描述。1.2 阅读对象本文档面向具有一定的 OTT 电视机顶盒应用或移动安卓应用开发能力的技术。1.3 业务术语术语解释商户与大麦签约,其产品在大麦盒子或相关产品上进行推广、运营、用户的 App 提供者。成为签约商户后,服务方可获得商户账号进入大麦第商户系统,进行订单的数据查询以及对账等功能。商户 id 和商户 key商户与大麦签约后,将获取 partnerId 和

24、partnerKey 两个信息,用于支付交易和通讯加密等业务,需商户妥善保管不得。支付用户对商户 App 进行支付,在用户钱包中的大麦虚拟币充足的情况下可直接使用大麦虚拟币进行支付,否则要通过扫码的方式在上完成现金支付。支付接入方式大麦 提供两种形式的支付接入原生支付:调用支付 apk 进行支付 web 支付:调用大麦 web 支付界面本文描述的是原生支付方式计费模式大麦提供两种形式的计费模式:1、计费包模式商户预先在大麦产品和计费包信息,使用产品序列号调用大麦支付接口,用户可多种套餐。5.非计费包模式商户调用大麦支付接口时,直接传入产品信息以及需要扣除的费用金额用以完成支付流程。相比而言,预

25、先定价的模式更安全可靠,因价格信息不在互联网络上传输,他人无法 并对产品价格信息进行篡改,商户若无特殊业务,建议采用计费模式接入大麦支付。本文描述的是计费包模式支付回调通知用户通过大麦支付支付成功后,支付将会通知商户业务系统用户支付结果3.原生支付(调用大麦 apk 进行支付)2.1 支付业务流程6.商户商品在大麦上线时,首先需要在大麦计费商品信息和价格信息。7.在第商户中,获取接口所需的产品序列号信息(productSerial),将其埋入 app点。8.用户使用 app 到达点后,商户 app 为大麦支付 apk 传入必要的支付参数(详见参数)触发打开大麦支付界面。9.用户在支付界面中进行

26、操作,配合使用对支付进行扫码。10.用户在上完成支付动作。11.用户支付完成后,大麦支付将通知商户预留回调地址,由商户系统根据订单支付状态进行实际的业务处理。12.商户系统业务处理完毕后,重新触发支付结果通知界面,通知用户结果。2.2 支付 apk 使用说明调用 apk:使用隐式意图:Java代码:entent = newent();ent.setAction(com.hiveviey.package);ent.addCategory(android.ent.category.DEFAULT);ent.putExtra(productSerial, productSerial);/产品序列号e

27、nt.putExtra(appendAttr, appendAttr);/业务参数 json格式ent.putExtra(token, token);startActivityForResult(ent, REQUEST_CODE_PACKAGE);/REQUEST_CODE_PACKAGE=5 计费包支付对应的吗/回调函数Overrideprotected void onActivityResult(reqode,resultCode,ent data) super.onActivityResult(reqode, resultCode, data);/返回json类型数组 格式code:N

28、000000,message:错误获成功信息/N000000 为成功码 ,其余的返回系统对应的错误信息String json = data.getStringExtra(payPackageResult);Toast.makeText(this, json, 0).show();参数参数参数名称必填长度限制加签参数说明productSer ial产品序列 号是String(50)是预先在大麦里 产品以及计费信息,从第三方商户系统中获取该产品序列号appendAttr业务参数否String(50)是可扩展业务参数,以 json 串的形式提供,支付对这些参数不做处理,在通知回调时直接返回给商户业务

29、2.3Token 生成方式3、对接口中需要加签的参数名做字典排序,拼接成appendAttr=“orderid”:”abc123”,”notifyid”:”no123”&productSerial=ccc 的形式得到 S14、再在 s1 之后拼接字符串&partnerKey=商户秘钥,即 s2=s1+”&partnerKey=3h21gff”5、最后对字符串 s2 进行 md5 加密,即有 token=md5(s2)。重要提示从安全性考虑,建议在服务端保存 partnerKey,在商户服务生成 token,避免 partnerKey 在网络上传输以及直接存在 apk 里面。2.4 支付回调通知

30、接口说明用户通过大麦支付支付成功后,支付将通知商户业务系统用户支付结果,支付报文说明如下(版本升级时可能会进行字段扩充):参数参数名称说明如:“orderid”:” abc123”,”noti fyid”:”no123”token签名是String(50)否对加签参数进行签名,签名方式见 “ token 生成方 式”注:通知信息须从 request 流中(request.getInputStream)获取orderId订单号大麦的支付订单号,商户做订单查询时需要用此单号orderTime下单时间时间格式 yyyy-MM-dd HH:mm:ssorderSus订单状态1-未支付,2-已支付,3-

31、开通失败,4-已退款,5-已关闭payType支付1-大麦钱包,3-支付宝钱包,4-支付cashAmt支付现金数金额,为元mlAmt消耗麦粒数含现金补充和钱包余额两部分麦粒mac盒子 mac 地址有线 macsn盒子 sn 号设备序列号devicecode设备码设备码productId产品 IDproductType产品类型productName产品名称chargingPrice商品价格为元chargingDuration有效时长为秒,产品为计次类型时返回 0chargingDegree有效次数产品为计时类型时返回 0userId用户 ID判定用户是否的依据,大麦用户 IDuserName用户

32、名称未登录支付返回 unknownpayTime支付时间时间格式 yyyy-MM-dd HH:mm:sspayRealml支付充入麦粒数payFreeml支付麦粒数orderAppend商户的业务参数与商户传入的业务参数信息一致sign通知签名用于做通知识别,签名验证失败则为不安全通知,商户应予以丢弃;签名生成规则见下文。商户业务系统收到大麦支付回调通知后,必须返回给支付”sucs”信息(同样写到流中),支付平台已此确认商户业务系统已收到回调,否则会按一定的策略(不超过 6 次,每次间隔)重复进行回调通知,若均未收到”suc补单操作。s”响应值,大麦市场将会与商户接入进行确认以便在丢单情况下进

33、行2.5 通知签名生成规则将回调通知参数中除去 sign 以外的所有参数(版本升级时可能会进行字段扩充,验证签名时请不 要 照 搬 以 上 表 格 中 的 字 段 ) , 参 数 名 按 照 字 典 顺 序 拼 接 为cashAmt=100&chargingDegree=0&chargingDuration=103236得到字符串 s1,再在 s1 之后拼接字符串&partnerKey=商户秘钥,即 s2=s1+”&partnerKey=3h21gff”,最后对字符串 s2 进行 md5 加密,即有 sign=md5(s2)。将得到的 sign 与请求中提供 sign 做比较,不匹配则视为不合

34、法的请求,可以丢弃。2.6 订单查询接口http/order/orderQuery.json参数返回信息格式可参考“2.4 支付回调通知接口说明”,商户可通过程序调用该接口,主动获取订单的当前信息。参数参数名称说明orderId订单号大麦的支付订单号partnerId商户 IDtimest时间戳当前毫秒时间token秘钥token= md5(orderId | partnerKey)4.其他3.1apk 开发工具包大麦提供客户端开发工具包,用于获取盒子硬件信息:由于大麦盒子主推新硬件变更以及大麦电视量产,设备信息获取新增方式有以下变更:1,从 jar 中获取设备信息方式不变(已经不建议使用,但

35、是要兼容线上的旧盒子还要延续使用一段时间)2,从大麦盒子的数据提供者开放的接口中获取设备信息(以后的长期使用)note:1,DeviceInfoActivity.java 为 demo,具体获取设备信息的方法请参考DeviceInfoActivity.java 获取方式.2,DeviceInfoActivity.java 有两种获取设备信息的方式,请两个都实现(兼容线上的旧盒子)3.2 用户订购关系的判断说明用户订购关系的判断依据是大麦用户中心的用户 ID(userId),商户 apk 应将获取的 userId 传到与已支付订单中的 userId 进行匹配,从而判定用户是否已过服务。3.3 支付统计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论