Amadis

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

F

Torn Transactions

Torn is an EMV feature specified by some payment networks in the context of contactless card processing.

Mastercard

JCB

CUP

PURE

Rupay

Agnos Availability

Supported

Supported

Not Supported

Supported

Not Supported

Functional Description

  • After a torn, a brand new transaction is started. If the new card processing sequence is using one of the cards that has been previously torn (in the limit of torn depth and max lifetime) then a Recover AC command is sent instead of a Generate AC

  • After a torn, the transaction is resumed where it was torn. If the card processing is using the card that has been torn (FCI comparison subsequent to a Select) then a Echo command is sent to resume the card processing where it was torn

Configuration

  • 0xDF1D, torn depth (up to 5)

  • 0xDF1C, max lifetime (up to 7200 seconds)

  • 0xDF1D, torn depth (wired to 1)

  • 0xDF1C, max lifetime

  • C7 B3b6, Terminal Transaction Processing Information

Trigger

  • Generate AC not completed

  • Generate AC not completed

  • Generate AC #1 and Generate AC #2 not completed

Storage Mechanism

  • When a torn occurs, add a torn record:

    • 9F02

    • 9F03

    • 5A (primary key for recovery)

    • 5F34 (primary key for recovery)

    • DF04

    • 9F34

    • 9F7D

    • DF28

    • 9F1E

    • 9F33

    • 9F1A

    • 9F35

    • 95

    • 9F53

    • 5F2A

    • 9A

    • 9F21

    • 9C

    • DF51

    • DF53

    • DF54

    • DF55

    • DF56

    • DF41

  • Additional data are used for internal recovery management

  • When a torn occurs, add a torn record:

    • 57 (primary key for recovery)

    • if CDA supported:

      • 9F38 data

      • 8C data

      • 9F37

  • When a torn occurs, add a torn record:

    • 9F37

    • 9F27

    • 9F34

    • 9F10

  • For recovery, the FCI subsequent to a Select command is used to detect whether the card has been torn

Restart

  • END APPLICATION

  • Start B

  • PRESENT CARD AGAIN

  • END APPLICATION

  • Start B

  • PRESENT CARD AGAIN

  • TRY AGAIN

  • Start B

  • PRESENT CARD AGAIN

Check Point

  • The kernel is re-activated to perform a brand new transaction

  • Right before Generate AC, the kernel checks whether there was a torn situation (among several torn cases)

  • The kernel is re-activated to perform a brand new transaction

  • After Final Select, the kernel checks whether there is a torn situation (during the last card processing)

  • The kernel is re-activated and is set to jump to one of the torn states (when the torn occurred):

    • Recovery from Generate AC #1

    • Recovery from Generate AC #2

Too Old Verification

  • Yes

  • No

  • No

Recovery Mechanism

  • Echo performed at a specific state, occurring between Final Select and GPO

  • Echo performed right after the occurrence of the Generate AC (once the start B was processed by the entry point)

Recovery APDU

  • 80 DF 00 00 00

  • 80 DF 00 xx where xx corresponds to the Generate AC number (1 or 2)

Recovery Principle

  • From Echo command, fetch tags to be used at Generate AC time

After Recovery

  • Card processing is resumed to reach the next step: GPO

When recovery fails

  • If communication error:

    • END APPLICATION

    • Start B

    • A brand new transaction will start

  • Else

    • The transaction is resumed:

      • In torn mode if no status word error

      • Like a regular transaction is any other error

  • Generate AC #1 recovery:

    • If communication error:

      • TRY AGAIN

      • Start B

      • A brand new transaction will start

    • Else if cancellation:

      • END APPLICATION

      • STOP

    • Else if status word error:

      • SELECT NEXT RETRY

      • Start C

      • A brand new transaction will start

    • Else (normal path):

  • Generate AC #2 recovery:

    • if communication error:

      • TRY AGAIN

      • Start A

      • A brand new transaction will start

    • Else (normal path)

      • Attempt to perform EMV completion

Indicators

  • AgnosTVR B20b1

Card Processing State

  • N/A. In the same state as a regular card processing, a Recover AC is sent instead of a Generate AC)

  • psStateTornRecovery (AgnoTVR B18 = 0x02)

  • psStateRecoverFRomGenAC1

  • psStateRecoverFRomGenAC2

  • Read Record process is interrupted as soon as a card is detected as being previously torn

  • The ability to support a torn transaction also depends on the card (presence of PURE Echo card id, tag 9F75, in FCI/BF0C)

  • No labels