1

I'm attempting to open a session for a particular module, but I get a message saying "This service version is too low.".

How do I get around this? This module is the only module with a service version that is higher than all the other modules, I don't want to go too high that the other modules won't work because the service version will be too high.

The SPI and API version that I'm using is 0x0B020003 which works for all the other modules, except this one which is 3.10.

Any help would be much appreciated, thank you.

  • 1
    This seems to be missing a lot of context, and it's not clear how it is related to C++. – molbdnilo Jun 30 '21 at 12:59
  • 1
    @molbdnilo True, it is missing a lot of context in terms of C++, so I've removed the tag. – ManWithTheQuestions Jun 30 '21 at 13:04
  • 1
    Why do you not want to use that SPI as 3.10 and the others as 3. (any other version)? In the same app it is usual to use each SPI with a different versiona as the others. You need a new feature for example for CDM without make changes in the PIN code. – SuperG280 Jul 06 '21 at 12:48
  • 1
    @SuperG280 I understand that I should use the highest version available so that all modules work. But I'm not sure how to write out 3.10 in hex. I'm currently using 0x0B020003, how would I signify 3.10 in this format? I don't have access to vendor documentation. – ManWithTheQuestions Jul 15 '21 at 15:28

1 Answers1

1

You don't need to use the highest version available. Use the version you need. If your app doesn`t need any 3.10 specification new features, for example, and 3.00 is all that you need, you are free to open this SPI as 3.00.

To open a SPI as 3.10, use 0x0A03 value meaning 0A = 10, 03 = 3. This version specification is standard, not vendor dependent.

Set dwSrvcVersionsRequired as 0x0A030A03 to open this SPI always as 3.10.

Any SPI can support a versions range. For example, form 3.00 to 3.20. The first thing to do from app is to negociate the version you are going to use (because your app has been compiled using xfsapi.h, xfspin.h from a specific version). WFSStartUp negociates version with XFS manager. WFSOpen negociates version with SPI.

The vendor install the SPI in the ATM, supporting the complete version range. So you can open each SPI using the version you need from the supported version range.

SuperG280
  • 271
  • 3
  • 9