Google wallet status is 'Unknown' after successfull 'Compute Crytographic Checksum' via Android isoDep.transceive

StackOverflow https://stackoverflow.com/questions/23592824

Question

I'm still trying to emulate a point of sale (POS) system and complete a transaction with Google wallet. I've gotten further with great answers on stack overflow. See Android isoDep.transceive on Generate AC command always returns 6D00 unsupported

Even though every step of the communication from the POS and Google Wallet is successful, I can't get past Google wallet stating "Status unknown, Check with cashier to see if the payment was successful".

I just need Google wallet to state "Status pending" just like at McDonalds (in the US). I actually don't care if the whole transaction processes and clears my bank.

I'm new to transaction processing and it seems like I'm missing a fundamental step. Any ideas would be greatly appreciated.

The following are the successful steps.

Step 1 Select Proximity Payment System Environment (2PAY.SYS.DDF01)
    Send = 00 A4 04 00 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 00
    Response = 6f2f 840e 325041592e5359532e4444463031 a51d bf0c1a61184f07a00000 00041010870101500a4d 617374657243617264 9000 (Success)

Step 2 Select Payment Service    
    Send = 00 A4 04 00 07 A0 00 00 00 04 10 10 00
    Response = 6f1e 8407 a0000000041010 a513 500a 4d617374657243617264 870101 9f11 01 01 9000 (Success)

Step 3 Get Processing Options
    Send = 80 a8 00 00 02 83 00 00
    Response = 770a 8202 0000 9404 08010100 9000 (Success)

Step 4 Read Record
    Send = 00 B2 01 0C 00
    Response =  70 7c 9f 6c 02
                00 01 9f 62 06
                00 00 00 00 00
                38 9f 63 06 00
                00 00 00 03 c6
                56 29 42 35 33
                39 36 XX XX XX
                XX 31 XX XX 39
                XX XX XX XX 5e
                20 2f 5e 31 34
                30 37 31 30 31
                34 30 31 30 30
                30 30 30 30 30
                30 30 30 9f 64
                01 04 9f 65 02
                00 38 9f 66 02
                03 c6 9f 6b 13
                53 96 XX XX 1X
                X9 XX XX d1 40
                71 01 40 10 00
                00 00 00 0f 9f
                67 01 04 9f 69
                0f 9f 6a 04 9f
                7e 01 9f 02 06
                5f 2a 02 9f 1a
                02 9000 (Success)

Step 5 Compute Crytographic Checksum
    Send =  80 2A 8E 80 0F 00 00 00 12 00 00 00 00 00 01 00 08 40 08 40 00
    Response = 77 0f 9f 61 02 XX XX 9f 60 02 XX XX 9f 36 02 20 fa 9000 (Success)

The "PayPass – M/Chip Transaction Processing" specification states "After the completion of the COMPUTE CRYPTOGRAPHIC CHECKSUM response, the PayPass card can be removed from the PayPass reader."

So I assumed POS to Google Wallet communication was done, but Google Wallet seems to need more information.

Was it helpful?

Solution

So I assumed POS to Google Wallet communication was done, but Google Wallet seems to need more information.

Correct. Google Wallet retrieves information about transactions trough the card issuer's online backend system (at least that was the case with pre 2.0 version of GW, but I would assume that's still the case). Thus if you do not perform a real transaction (one that runs through the Master Card network), Google Wallet has no means to retrieve details about the transaction for the online backend.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top