Called when we begin to fetch metadata for the current rawData. Changing rawData triggers this callback.
Some time after this is called, primerRawDataManager(_:didReceiveMetadata:forState:) will be called with the relevant metadata for the state.Use this method to indicate to the user that metadata is being fetched; for example, by showing a loading spinner or other UI until the metadata has been returned.
An object containing the state that triggered the metadata fetch. For example, for
card number entry, this will be an instance of PrimerCardNumberEntryState
Called when new validation metadata relating to the current validation state is received. This will always be
called some time after primerRawDataManager(_:willFetchMetadataForState:) is called.Use this method to query new validation metadata, add informational UI, or allow the user to add
additional payment information required to make a payment.
An object containing the state that triggered the metadata fetch. For example, for
card number entry, this will be an instance of PrimerCardNumberEntryState
Card networks for the given card number that can be selected by the user
prior to payment. This will be null in the case that a network is
co-badged, or we are unable to remotely validate the given card number.
Called when the SDK detects BIN data from the card number entered by the user.
This callback provides detailed information about the card including issuer details and card attributes.
It delivers BIN data independently from the metadata state callbacks and has a default no-op implementation, so overriding it is optional.
The recommended card network to use, based on the order specified in orderedAllowedCardNetworks in the Client Session. nil if no network is allowed or data is not yet resolved.
All detected card networks, including ones that are not allowed. For co-badged cards, this list contains multiple networks. Each element has the same properties as preferred above.
This happens when 8 digits or more are entered in the card number field. The SDK retrieved the BIN data using Primer’s BIN data service, providing the most accurate information including issuer details.
This happens when fewer than 8 digits are entered in the card number field, or when the SDK fails to contact Primer’s BIN data service. The SDK retrieved the card networks using static information bundled with the SDK. This can only identify international card networks and does not include issuer details.
This method is deprecated. Please use primerRawDataManager(_:willFetchMetadataForState:) and
primerRawDataManager(_:didReceiveMetadata:forState:).
Returns validation metadata for the current validation state, triggered by using rawData. Check the section below for the metadata types that can be returned.