版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、北京传智播客教育 ,网上支付,讲师:黎活明,北京传智播客教育 ,两种接入方案,直接与银行对接 通过中间公司间接与银行对接,北京传智播客教育 ,直接与银行对接,这种方式接方式的优缺点: 优点:因为直接与银行进行财务结算,交易资金结算比较安全。适合资金流量比较大的企业,这种方案适合于:每月结算金额佰万以上的企业。 缺点:开发工作量比较大,而且银行会不定期升级交易系统,随着银行系统的升级,企业也需要作相应改动,所以维护工作量也是比较大的,而且企业每年还需要向银行交纳一定数量的接口使用费。,企业,招商银行,建设银行,工商银行,其他.,北京传智播客教育 ,通过中间公司间接与银行对接,这种方式接方式的优缺
2、点: 优点:开发工作量较少,因为使用的是中间企业提供的接入规范,所以银行升级系统,不需要企业作相应修改,除非中间企业的接入规范发生了改变,企业才作相应修改。相对前一种接入方案,这种方案的维护工作量比较少的。因为只与一家企业对接,所以接入费用相对比较低。这种方案适合于:每月结算金额在几十万以下的中小企业。 缺点:因为是与中间企业进行资金结算,目前所有中间企业都是私企,资金安全是个大问题。,企业,招商银行,建设银行,工商银行,其他.,中间企业,北京传智播客教育 ,巴巴运动网网上支付通过中间支付公司与银行对接,目前在国内做的比较好的中间支付公司: 首信易支付: 每年需要交纳一定的接口使用费,并且从交
3、易金额中扣除1%的手续费。像当当网、红孩子、京东商城使用了首信易支付。 易宝支付: 接入免费,只从交易金额中扣除1%的手续费。像盛大、 e龙网、巴巴运动网使用了易宝支付。,北京传智播客教育 ,易宝支付接入规范,名词MD5-hmac: hmac 是一种秘密的密钥验证算法。hmac 提供的数据完整性和源身份验证完全取决于密钥分配的范围。如果只有发起者和接收者知道hmac 密钥,那么这就对两者间发送的数据提供了源身份验证和完整性保证。 本例给大家提供了该算法的加密类:DigestUtil 使用方法如下: StringBuffer sValue = new StringBuffer(); sValue
4、.append(lihuoming); sValue.append(08129010); String hmacMD5 = DigestUtil.hmacSign(sValue.toString(), 123456); 第一个参数为加密的原文,第二个参数为密钥。,北京传智播客教育 ,易宝支付接入规范支付流程,支付流程: 通过http请求方式向易宝支付网关发起一个支付请求,简单地说就是向 这里省略一些请求参数 易宝支付网关对企业发来的数据使用用户的密钥生成MD5-hmac码,然后跟企业发来的MD5-hmac码(即上面表单由hmac字段提供的值)比较是否相同,如果相同即把请求转发到银行网关,当用户
5、支付完成后,银行网关会引导用户的浏览器重定向到易宝支付网关,然后易宝支付网关再引导用户的浏览器重定向到企业提供的url(即上面表单由p8_Url提供的地址),北京传智播客教育 ,对支付请求的数据加密生成md5-hmac,buildHmac()方法用于生成md5-hmac public static String buildHmac(String p0_Cmd,String p1_MerId, String p2_Order, String p3_Amt, String p4_Cur,String p5_Pid, String p6_Pcat, String p7_Pdesc,String p8
6、_Url, String p9_SAF,String pa_MP,String pd_FrpId, String pr_NeedResponse,String keyValue) StringBuffer sValue = new StringBuffer(); sValue.append(p0_Cmd); / 业务类型,buy sValue.append(p1_MerId); / 商户编号 sValue.append(p2_Order); / 商户订单号 sValue.append(p3_Amt); / 支付金额 sValue.append(p4_Cur); / 交易币种 sValue.ap
7、pend(p5_Pid); / 商品名称 sValue.append(p6_Pcat); / 商品种类 sValue.append(p7_Pdesc); / 商品描述 sValue.append(p8_Url); /商户接收支付成功数据的地址 sValue.append(p9_SAF); / 送货地址 sValue.append(pa_MP); / 商户扩展信息 sValue.append(pd_FrpId); / 银行编码 sValue.append(pr_NeedResponse); / 应答机制0 ,1 String sNewString = DigestUtil.hmacSign(sV
8、alue.toString(), keyValue); return sNewString; ,北京传智播客教育 ,对支付请求的数据加密生成md5-hmac,String merchantID = ConfigInfo.getValue(p1_MerId); / 商家ID String keyValue = ConfigInfo.getValue(keyValue); / 商家密钥 String merchantCallbackURL = ConfigInfo.getValue(merchantCallbackURL); / 交易结果通知地址 String orderId = request.
9、getParameter(orderid); / 商家的交易定单号 String amount = request.getParameter(amount); / 订单金额 String frpId = request.getParameter(pd_FrpId); / 银行ID String messageType = Buy; / 请求命令,在线支付固定为Buy String currency = CNY; / 货币单位 String productDesc = ; / 商品描述 String productCat = ; / 商品种类 String productId = ; / 商品I
10、D String addressFlag = 0; / 需要填写送货信息 0:不需要 1:需要 String sMctProperties = ; / 商家扩展信息 String hmac = buildHmac(messageType, merchantID, orderId, amount, currency, productId,productCat, productDesc, merchantCallbackURL, addressFlag, sMctProperties, frpId, 0, keyValue);/ 获得MD5-HMAC签名 buildHmac()方法在前面已提供。C
11、onfigInfo从类路径下的属性文件读取商家的ID、密钥和交易结果通知地址。,北京传智播客教育 ,易宝支付接入规范发起支付请求, ,北京传智播客教育 ,对支付结果返回的数据加密生成md5-hmac,public static boolean verifyCallback(String hmac, String p1_MerId,String r0_Cmd, String r1_Code, String r2_TrxId, String r3_Amt,String r4_Cur, String r5_Pid, String r6_Order, String r7_Uid,String r8_M
12、P, String r9_BType, String keyValue) StringBuffer sValue = new StringBuffer(); sValue.append(p1_MerId);/ 商户编号 sValue.append(r0_Cmd);/ 业务类型 sValue.append(r1_Code);/ 支付结果 sValue.append(r2_TrxId);/ 易宝支付交易流水号 sValue.append(r3_Amt);/ 支付金额 sValue.append(r4_Cur);/ 交易币种 sValue.append(r5_Pid);/ 商品名称 sValue.a
13、ppend(r6_Order);/ 商户订单号 sValue.append(r7_Uid);/ 易宝支付会员ID sValue.append(r8_MP);/ 商户扩展信息 sValue.append(r9_BType);/ 交易结果返回类型 String sNewString = null; sNewString = DigestUtil.hmacSign(sValue.toString(), keyValue); if (hmac.equals(sNewString) return true; return false; ,北京传智播客教育 ,对支付结果返回的数据加密生成md5-hmac,
14、String merchantID = ConfigInfo.getValue(p1_MerId); / 商家ID String keyValue = ConfigInfo.getValue(keyValue); / 商家密钥 String sCmd = request.getParameter(r0_Cmd); /业务类型 String sResultCode = request.getParameter(r1_Code); /扣款结果,该字段值为1时表示扣款成功. String sTrxId = request.getParameter(r2_TrxId); /YeePay易宝交易订单号
15、String amount = request.getParameter(r3_Amt);/扣款金额,交易结束后,YeePay易宝交易系统将实际扣款金额返回给商户 String currency = request.getParameter(r4_Cur);/交易币种,人民币为CNY String productId = request.getParameter(r5_Pid);/商品ID String orderId = request.getParameter(r6_Order);/商户订单号 String userId = request.getParameter(r7_Uid);/Ye
16、ePay易宝会员ID String mp = request.getParameter(r8_MP);/商户扩展信息,可以任意填写1K 的字符串,交易返回时将原样返回 String bType = request.getParameter(r9_BType);/交易结果返回类型,1: 交易成功回调(浏览器重定向)2: 交易成功主动通知(服务器点对点通讯) String rb_BankId = request.getParameter(rb_BankId);/支付银行 String rp_PayDate = request.getParameter(rp_PayDate);/在银行支付时的时间
17、String hmac = request.getParameter(hmac);/MD5交易签名 boolean isOK = verifyCallback(hmac, merchantID, sCmd, sResultCode, sTrxId, amount,currency, productId, orderId, userId, mp, bType, keyValue); verifyCallback()方法在前面已经提供。,北京传智播客教育 ,处理支付结果,boolean isOK = verifyCallback(hmac, merchantID, sCmd, sResultCode, sTrxId, amount,currency, productId, orderId, userId, mp, bType, keyValue); 对isOK 的结果进行判断: if(isOK) if(1.equals(sResultCode) /扣款结果,该字段值为1时表示扣款成功. String msg = ; if(1.equals(bType) msg = 在线支付_客户浏览器重定向; else if(2.equals(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 婚礼策划师岗前岗后考核试卷含答案
- 焊接专机装配工持续改进评优考核试卷含答案
- 2026年人行心理模拟题及答案详解
- 矿灯和自救器管理工安全宣传水平考核试卷含答案
- 皮具设计师岗前基础模拟考核试卷含答案
- 2026年Cnas认证核心模拟试题(含答案)
- 轧钢成品工操作安全能力考核试卷含答案
- 2026年财务会计专题模拟试题(含答案)
- 2026年电大本科法学商法模拟试题(含答案)
- 2026年护理层级培训模拟试题(含答案)
- 2026年爆破员考试模拟试题新题库附答案
- 老年髋部骨折患者围手术期管理专家共识
- 车辆叉车日常检查记录表
- 江苏省无锡市2025-2026学年高三上学期11月期中考试地理试卷
- 《信息技术基础》课件 第2章 Windows11操作系统
- 国企党建考试题库及答案
- 西安交通大学少年班自主招生物理试卷试题及答案(2025年)
- 《WPS AI智能办公应用大全》全套教学课件
- 财务经营意识培训
- 电气火灾 培训 课件
- 2025年行政执法人员执法证考试必考多选题库及答案(共160题)
评论
0/150
提交评论