The best way to handle this is to just give the operator an opportunity to enter the card manually at the time the transaction is being tendered. You need to set the default payment types to include Manual Entry.
public CloverConnector()
{
// default constructor for COM-Interop
CardEntryMethod = CARD_ENTRY_METHOD_MAG_STRIPE | CARD_ENTRY_METHOD_ICC_CONTACT | CARD_ENTRY_METHOD_NFC_CONTACTLESS | CARD_ENTRY_METHOD_MANUAL;
}
See my suggestion to always make manual entry available by setting the default to include it. You don't have to detect "three strikes you're out"
public CloverConnector()
{
// default constructor for COM-Interop
CardEntryMethod = CARD_ENTRY_METHOD_MAG_STRIPE | CARD_ENTRY_METHOD_ICC_CONTACT | CARD_ENTRY_METHOD_NFC_CONTACTLESS | CARD_ENTRY_METHOD_MANUAL;
}
2 People are following this question.