Requests card ranges from the directory server.
def request_card_ranges() -> None: ...
on_request_card_ranges requests card ranges and additional information from the directory server.
When a transaction is initiated, the first step that should be taken is to find information about the card range to which the card number belongs. This include the protocol version number supported by the ACS and DS, and if one exists, any corresponding Method URL (used in the browser flow).
Results of this method should be cached in order to quickly look up information for subsequent transactions. It is recommended to call this method once every 24 hours at a minimum, and once per hour as a maximum to refresh the cache.
The first time this method is called, serial_number will be empty, indicating that all results should be returned. The on_card_range event will fire for each result that is returned. The results will also be held in the card_ranges property.
The class will not cache the returned values; it is up to the user to cache these values in an appropriate location. The serial_number will be populated after this method returns. The serial_number should also be saved to be used in the next call to this method.
When making subsequent calls to this method, set serial_number to the value received from the last response. This is an offset the server will use to return only new updates (if any) to the card ranges since the last request.
The following properties are applicable when calling this method:
The following properties are populated after calling this method:
When using ProtocolVersion 2.2.0, card_ranges may also include ACSInformationIndicator data. This provides additional information on the functionality that is supported for the card range. This field is a comma separate list of values returned from the server; possible values are:
- 01 - Authentication Available at ACS
- 02 - Attempts Supported by ACS or DS
- 03 - Decoupled Authentication Supported
- 04 - Whitelisting Supported
- 80-99 - Reserved for DS Use
If an error is identified with the card range data received from the directory server when calling the on_request_card_ranges method, the ResendRequestCardRanges configuration setting will be true, indicating that the request should be resent. When resending, if serial_number was specified for the initial request, it should be set to an empty string before calling on_request_card_ranges again. Otherwise, the request can be sent without the serial number again, but the server may respond with an error due to multiple requests within an hour.