银联商圈与第三方客户端协作技术方案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

 银联商圈与第三方客户端协作技术方案                      中国银联---移动支付项目组2012年1月产品方案                                                           目录 1概述...............................................52客户端接口.........................................52.1Android平台...................................52.1.1接口说明.....................................52.1.2接口示例.....................................62.2Symbian平台...................................72.2.1接口说明.....................................72.2.2接口示例.....................................72.3WM平台........................................92.3.1接口说明.....................................92.3.2接口示例....................................103服务器接口........................................113.1概述..........................................113.2第三方通信协议基础报文结构....................123.3接口详情......................................133.3.1为指定用户创建账单(用电话号码标识用户)......133.3.2为指定用户创建账单(用支付卡号(CSN)标识用户).173.3.3查看指定账单详情............................20产品方案                                                          3.3.4查看已支付账单统计信息......................233.3.5修改账单第三方状态..........................243.4支付通知......................................253.5安全策略......................................273.6错误码........................................29 产品方案                                                           1概述第三方客户端与银联手机支付客户端保留两个独立客户端的状态;第三方业务的支付由银联手机支付客户端完成;第三方客户端进行第三方众业务的业务展示;银联商圈由银联手机支付客户端负责业务展示和支付;第三方客户端通过系统调用的方式,启动手机支付客户端展示银联商圈。关闭银联手机支付客户端,返回第三方客户端。第三方客户端如需支付,连接银联手机支付后台下账单,并调用银联手机支付客户端,进行支付2客户端接口第三方客户端通过系统调用的方式,启动手机支付客户端。2.1Android平台2.1.1接口说明2.1.1.1Intent类相关方法:setClassName(StringpackageName,StringclassName);产品方案                                                          2.1.1.2Context类相关方法:startActivity(Intentintent);其他相关接口请参考相应的开发帮助文档。2.1.2接口示例参考代码Intentintent=newIntent();intent.setClassName(“com.risetek.unionpay”,“com.risetek.unionpay.startup);if(getPackageManager().resolveActivity(intent,0)==null){//说明系统中不存在手机支付客户端,进行下载安装Uriuri=Uri.parse();Intentit=newIntent(Intent.ACTION_VIEW,uri);startActivity(it);}else{产品方案                                                          //启动手机支付客户端startActivity(intent);}2.2Symbian平台2.2.1接口说明2.2.1.1RApaLsSession 类相关方法:Connect();StartDocument(constTDesC&aFileName,TThreadId&aThreadId,TLaunchTypeaLaunchType=ELaunchNewApp);StartApp(constCApaCommandLine&aCommandLine);2.2.1.2CApaCommandLine类相关方法:SetExecutableNameL(constTDesC&aAppName);SetCommandL(TApaCommandaCommand);其他相关接口请参考相应的开发帮助文档。2.2.2接口示例参考代码产品方案                                                          voidRunExeL(constTDesC&aExeName){#ifdef__SERIES60_3X__CApaCommandLine*cmdLine=CApaCommandLine::NewLC(); cmdLine-SetCommandL(EApaCommandRun); cmdLine-SetExecutableNameL(aExeName); RApaLsSessionls;User::LeaveIfError(ls.Connect());CleanupClosePushL(ls); User::LeaveIfError(ls.StartApp(*cmdLine));CleanupStack::PopAndDestroy(2);//lsandcmdLine#elseTFindFileAufFolder(CCoeEnv::Static()-FsSession());User::LeaveIfError(AufFolder.FindByDir(aExeName,KNullDesC)); TThreadIdid;RApaLsSessionls;User::LeaveIfError(ls.Connect());CleanupClosePushL(ls);产品方案                                                           User::LeaveIfError(ls.StartDocument(AufFolder.File(),id));CleanupStack::PopAndDestroy(1);//ls#endif }//启动手机支付客户端RunExeL(_L(“unionpay.sis”));2.3WM平台2.3.1接口说明BOOLCreateProcess(LPCTSTR错误!超链接引用无效。,LPTSTR错误!超链接引用无效。,LPSECURITY_ATTRIBUTES错误!超链接引用无效。,LPSECURITY_ATTRIBUTES错误!超链接引用无效。,BOOL错误!超链接引用无效。,DWORD错误!超链接引用无效。,LPVOID错误!超链接引用无效。,LPCTSTR错误!超链接引用无效。,LPSTARTUPINFO错误!超链接引用无效。,产品方案                                                          LPPROCESS_INFORMATION错误!超链接引用无效。);其他相关接口请参考相应的开发帮助文档。2.3.2接口示例参考代码PROCESS_INFORMATIONProcessInfo;STARTUPINFOStartupInfo;ZeroMemory(&StartupInfo,sizeof(StartupInfo));StartupInfo.cb=sizeof(StartupInfo);if(CreateProcess(c://winnt//unionpay.exe,NULL,NULL,NULL,FALSE,0,NULL,NULL,&StartupInfo,&ProcessInfo)){//等待支付程序执行完成WaitForSingleObject(ProcessInfo.hProcess,INFINITE);CloseHandle(ProcessInfo.hThread);CloseHandle(ProcessInfo.hProcess);}else{MessageBox(Theprocesscouldnotbestarted...);}产品方案                                                          3服务器接口3.1概述银联移动支付账单系统与外部第三方服务器结构如下:银联移动支付服务器第三方服务器手机终端第三方服务器通过“第三方通信协议”可以实现以下功能:1.发送账单;2.查询账单;3.在支付成功后获得通知(被动);“第三方通信协议”详解1.采用http通信协议。产品方案                                                          2.使用JSON字符串作为标准报文格式。3.使用POST方式发送请求。4.使用3DES+RSA加密方式和IP限制作为安全方案。 3.2第三方通信协议基础报文结构中国银联手机支付(以下简称“手机支付”)应用服务器通过“第三方通信协议”跟第三方交互。第三方通信协议使用http方式传输并采用JSON格式。所有的通信报文均采用一种报文结构:EPay2Packet。EPay2Packet基于JSON封装,结构如下:Key数据类型说明ACTION_MODULEString*模块名,此处取值“BILL_INTERFACE”ACTION_INVOKERString*调用模块名ACTION_NAMEString*指令名ACTION_INFOJSonObject*指令参数ACTION_RETURN_CODENumber返回值,仅在返回报文中或通知操作结果报文中有此字段ACTION_RETURN_MESSAGEString返回消息,仅在返回报文中或通知操作结果报产品方案                                                          文中有此字段由于所有报文结构相同,在后文描述接口数据结构时,仅对ACTION_NAME、ACTION_INFO予以说明,在返回数据报文结构是会对ACTION_RETURN_CODE、ACTION_RETURN_MESSAGE予以说明。参数分为必须参数和非必须参数;必须参数必须填写,可以为空字符串;非必须参数可以不填,也可以为空字符串,空字符串会被当作参数的值,而不会被当作没有填写参数。在参数描述

1 / 29
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功