银联接口开发随笔(3)
文章开头,给 直播室-直播10 网站打个广告 提供体育赛事、游戏赛事的直播导航 http://www.zhibo10.com/
好久没来更新博客,既要忙着公司的alading网站,同时又要给原来银联POS程序上加上交通卡支付的程序,今天晚上没什么事就写一篇困饶我好几天的一个问题。
以后ishelf机器上要做交通卡充值,原来的银联POS程序需要加上交通卡交易的程序,开发工作不算复杂,根据要求修改相应的参数即可,我这边测试也很顺利通过,悲剧的事情发生在发布给测试同事(jack)以后,整个交通卡充值的过程都很顺利,可是银联支付总是失败。起初是因为发布版本、键盘密钥,读卡器密钥问题,我通过一系列排查以后,再用我测试通过的版本覆盖测试机上的文件,Jack的测试工作还是时而成功,时而失败。
今天在上级领导的强大压力下,我决定今天要找出原因,jack测试几笔数据,收到报文后我们解析结果报错,错误是:TCAS_MAC_ERROR,从日志很明显示看出来MAC校验问题,请银联的朋友(Olive)看一下,Olive发给我她那边的交易日志,通过看她给我的日志找到MAC校验部份内容
The MacStr len=[49],value=[1962226006100140587330000000050000000570000123800]
The cacu mac str key=[0C5FC3D15BF0B72A]
我这边解析出来的MacStr是
196222600610014058730000000050000000570000123800
对比两个MAC
1962226006100140587330000000050000000570000123800
196222600610014058730000000050000000570000123800
分解该报文
196222600610014058733:19位银行卡号
000000005000:12位交易金额
000057 :6位交易流水号
00 :应码码
00123800:终端号
问题出在银行卡号上
196222600610014058733 : 19位银行卡号 :6222600610014058733
19622260061001405873 : 19位银行卡号 :622260061001405873
怎么回事?通过检查mac校验部份程序发现,以前支付成功都是16位的信用卡号,普通的卡都是mac校验的问题,再检查发现,从ISO8583协议数据里取银行卡号程序向前多取了一位,修复该问题后,问题就没了,最后发现交通卡充值校验规则其实是和水、电、煤的交易相同的,如果早有人告诉我这一点,会不会我不会浪费这么多时间。
最后感谢Jack的不厌其烦的测试工作,同时感谢银联Olive朋友,在他的配合下我才完成程序调试工作。
转载于:https://www.cnblogs.com/zycblog/archive/2011/10/19/2217994.html
银联接口开发随笔(3)相关推荐
- java 银联接口开发
http://blog.sina.com.cn/s/blog_6c868c470100ys59.html 在线接口文档:http://wenku.baidu.com/link?url=EUgAuOKz ...
- php银联支付接口 demo,php版银联支付接口开发简单实例详解
这篇文章主要介绍了php版银联支付接口开发的方法,结合实例形式分析了php银联支付接口开发的具体流程与相关操作技巧,需要的朋友可以参考下 支付接口现在有第三方的支付接口也有银行的支付接口.这里就来介绍 ...
- PHP银联在线支付接口开发日志
银联在线支付接口开发日志 1. 登录银联自助化测试平台(登陆地址:open.unionpay.com),登录后,点击我的产品,如下:点击右方需要测试的接口,本例以 手机网页支付(WAP支付)为例. 2 ...
- 接口开发及技术负责人的职责随笔
对于网站或者平台,大多不可避免的要和第三方合作.或者接入第三方平台,合作的实现多是通过对对方接口的调用实现的.例如:网站用户共享.网银支付的接入.无纸化彩票投注平台的接入等等. 和第三方合作的接口开发 ...
- OMS开发随笔之开发和部署要点
OMS开发随笔之概述 上一篇中,介绍了OMS的特点和基本的开发概述,这篇详细谈谈具体在实践中遇到的问题及解决方案.本文之涉及到普通短信的开发,不包括彩信. OMS的开发要点 总的来说开发oms没有 ...
- 软件开发随笔系列一——分布式架构实现
软件开发随笔系列一--分布式架构实现 文章目录 软件开发随笔系列一--分布式架构实现 理论基础 分布式架构的实现 内核框架 应用开发 基础设施 服务接入 监控 日志监控 调用链监控 度量指标监控 健康 ...
- 银联接口对接demo测试
前期准备 1.注册账号 https://open.unionpay.com/ajweb/register?locale=zh_CN 2.▼登录账号 -->业务合作–> 业务产品–>在 ...
- 通过银联接口获取给定银行卡的所属信息
一:首先注册银联账号,申请开放接口相关使用配置信息 银联开发平台:https://open.unionpay.com/tjweb/login 二:将配置信息放入项目文件中(tp框架为例),这里我把它放 ...
- 软件开发随笔系列二——关于架构和模型
软件开发随笔系列二--关于架构和模型 文章目录 软件开发随笔系列二--关于架构和模型 软件模型 功能模型 概念层 边界 参与方 分组分类 逻辑层 功能组织图 层次.模块化 接口 流程模型 概念层 业务 ...
最新文章
- 数据标注-人工智能高速路上的基石
- 十厂商发起成立软件自律联盟
- 开源日志库Logger的使用秘籍
- 华为云EI人脸识别接口初探
- unity 2020 怎么写shader使其接受光照?_用Unity实现半条命Alyx中的液体物理效果
- Apple分区总体布局结构
- 使用Linux 显示日历 cal -y (可以快速制作简易万年历)
- pyqt5 实现右键自定义_Python界面(GUI)编程PyQt5事件和信号
- 手机站的拨打电话和发短信
- Hash与Hash冲突及四种解决方案
- 牛刀 —— 汨罗网络屏幕投影软件的技术实现
- 模拟一个简单的购房商贷月供计算器,按照以下公式计算总利息和每月还款金额:总利息=贷款金额×利息。 每月还款金额=(贷款金额×总利息)÷ 贷款年限。
- 计算机概念图图例,写出统计图的名称和制图什么并标出图例
- 如何使用Unity制作一款自己喜欢玩的游戏demo(Unity萌新的进阶技巧)
- eDRX中的Paging PH PTW PF PO时刻计算
- bootstrap--表格(table的各种样式)
- java replace 忽略大小写_java替换字符串时忽略大小写
- Xftp连接阿里云服务器失败
- 牛客小白月赛2 H.武
- 商业搜索引擎大行其道 未来规模将超越ERP
热门文章
- freemarker实现word文档模板动态生成
- ps色阶怎么用:一招搞定曝光调整 | 萧蕊冰
- C++中的泛型编程有函数模板与类模板
- 使用 Vue 脚手架
- 去哪儿网2014校园招聘技术笔试题(成都站,开发岗)——2014.09.23
- matlab用游程编码压缩图像,基于Matlab的图像压缩编码
- Laravel开发的小程序后台管理系统
- CPU Fan speed detection error! Please ensure your CPU cooler is properly connected to the CPU_FAN
- 果园机器人作文开头_果园机器人300字作文4篇
- Oracle中有dateadd吗,SQL Server 中add函数到 oracle date add的操作