How do I configure the system so an order will not appear in my OMS if the Credit Card is unauthorized or declined?
I have also had a few orders where a general error is given (invalid configuration with the processor) and it appears in my OMS as Unbilled.
Credit card settings are managed at Settings/Compatible Software/Payment Gateways/Preferences.
Most of our merchants use the setting "Validate and Authorize". In this case, if the authorization attempt returns a status of declined, the customer is asked to remedy the problem before the order can be completed. If the customer does not remedy the problem, the order never lands in the OMS. If the authorization attempt returns a status of error, the order is completed, and will show up in your OMS, without authorization.
The credit card setting "Validate, Authorize and Charge" follows the same rules mentioned above for "Authorize and Charge".
In both cases, if the card information is incorrect, the order will not land in the OMS and the customer will get a notice on their screen that the order has not been placed.
As stated above, if the authorization attempt returns a status of error (vs "declined"), the order is completed, and will show up in your OMS, without authorization. In this case there is no way to preclude these declined orders from showing up in your system. (An "error" will happen, for example, when a card is being reviewed by the processor for fraud, or when for some reason the processor cannot communicate with Nexternal when the order is being placed, or when there is an indicated invalid configuration with the processor.)
The system is built this way to err on the side of showing the merchant declined activity rather than blocking it, as declined orders are clearly marked, and it gives the merchant an opportunity to "save the sale" by reaching out to the customer. If a merchant does not wish to do this, it is simple to cancel an order with the order status pulldown.
Especially in the case of invalid configuration with the processor, these are likely legitimate orders that simply couldn't be processed at the time they were placed because there's an issue with the integration (maybe bad credentials, maybe bad settings on the processing side, for example.)