zoukankan      html  css  js  c++  java
  • 电子钱包中的复合消费

    1.在PBOC2.0的第9章节定义了电子钱包扩展应用指南,即关于灰锁和电子钱包复合交易的内容。

    2.电子钱包的复合交易,主要是在原来电子钱包的基础上进行了应用的扩展,灰锁主要是继承了中石化加油卡规范的理念与流程,而复合交易主要是面向交通领域的需求,即既可以满足ETC的需求(主要应用在高速公路收费),又可以满足城市公交的应用(公交,地铁,一卡通)

    电子钱包的复合交易扩展了ETC的功能能和一卡通的功能(在原有的圈存,消费基础上,又可以用到ETC和公交上,所以叫复合交易应用

    3.支持复合交易的电子钱包,主要是增加了复合消费交易,其余的圈存和消费都与原来的电子钱包应用一致。

    4.复合消费交易的流程:

    需要分三步完成:

    a.复合消费交易初始化Init For CAPP Purchase、

    b.更新复合交易专用文件Update CAPP Cache、

    c.复合消费交易扣款Debit For CAPP Purchase;

    (而普通的钱包消费交易只有两步:消费交易初始化Init For Purchase和消费扣款Debit For Purchase。)

    说明:

    从数据完整性来看,完成复合消费交易之后,钱包余额、复合交易专用文件内容(多出了一个专门用于复合交易的文件)、交易明细、脱机交易序号、用于交易验证的MAC和TAC等关键的数据必须同步更新。

    从交易流程来看,复合消费交易的交易类型为“09”,在复合交易初始化和复合交易扣款的过程中,所要进行的过程密钥计算、MAC和TAC验算的过程以及需要的数据格式和普通的钱包消费几乎一样。

    交易状态机的转换上来看,只有进行了复合交易初始化之后,才能更新复合交易专用文件,而且只有更新了复合交易专用文件之后,才能更进一步地执行复合消费交易扣款命令。

    复合交易专用文件主要是用来记录出入口的相关信息

    举例来说,对于高速公路收费系统,在车辆驶入高速入口时,通过复合交易可以记录入口的信息;在车辆驶出高速公路时,通过之前记录的入口信息就能够计算出应该收取多少费用。对于公交收费系统中的分段计费模式,通常是在上车刷卡时通过复合交易专用文件记录上车的站点信息,而在下车刷卡时根据记录的上车站点计算出车费再通过复合消费交易扣除。

    因为前面说过,复合交易专用文件的更新只能在初始化之后发送命令更新,并且只有完成了一个完整的复合消费交易之后才能真正被修改,所以通常的做法是:在高速入口或者乘客上车时,先进行一次消费金额为0的复合消费交易,从而正确记录入口或者上车站点的相关信息,之后在高速出口或者乘客下车时再根据实际费用进行一次完整的复合消费交易,这样就实现了适用于高速公路或者公共交通中的分段收费功能。(相当于做了两次消费,一次金额为0的伪消费,在下车时再做一次完整的复合消费交易

    目前很多地方在公交系统中采用的非接触CPU卡多数都采用这种复合消费交易模式。

  • 相关阅读:
    STM32 IAP程序 源码 和测试代码 有详细的中文注释
    mysql读写分离配置,利用mybatis实现,解释为什么dynamicDataSource不行
    mysql主从复制的配置总结
    Chapter 2 Open Book——7
    leetcode415---字符串大数相加
    Chapter 2 Open Book——6
    leetcode83,删除有序链表中的重复元素
    Chapter 2 Open Book——5
    Chapter 2 Open Book——4
    leetcode24,交换链表相邻的节点
  • 原文地址:https://www.cnblogs.com/ttss/p/4293233.html
Copyright © 2011-2022 走看看