CSCart – Gift Certificate and Credit Card Payment Failed Status Issues

We’ve seen this issue crop up a few times with operations in CS-Cart and the cause of it is usually a low-frequency – human-related event.

Summary:

You have an order that seems to fail its credit card processing, yet a gift certificate was applied to the order. Failed notices have gone out according to your CS-Cart rules for alerts.

Solution: (usually)

Check that someone has not changed your “open” status for orders to “remove credit card info ..” as the default is set to not to do this.. and here’s why ..

When a gift certificate is used on an order and it pays 100% of the order, the status goes to open…unless you have it set to do something else.

Normally, when a credit card is used for payment on an order, after it gets approval, it goes to processed order status.. (e.g. no Gift Certificate is used)

HOWEVER … when an order has a combination of CSCart Gift Certificate and there is still a remaining balance to the order – the process looks like this example:

The customer checks out, uses gift certificate & credit card. The order goes to OPEN status for a few microseconds and then does the processing.. however, because OPEN has the “remove CC info” checked .. it is at this point that it dumped the credit card information. So, at this point it has nothing to send to your processor (Authorize.net, Paypal, Usaepay, etc.) so it fails and returns that status to the order.

Usually, we just check the box and it works the way it should when this issue crops up. Just remember, you can use statuses for all sorts of different reasons. Many businesses fall into the same type of use for order status – however – when you are troubleshooting or stepping into a situation like this to assist a client you should assume you know nothing about the system and check the basics first. This is one of the many things that separates experienced developers and designers from the amateurs.

If you need help – just contact us!

 

Want to discuss a project?

  • This field is for validation purposes and should be left unchanged.