Jump to content

[IPS.Commerce] Failed transaction: send an email only if all cards have been declined


Recommended Posts

Hi Invision,

In IPS.Commerce, I often encounter the following situation for recurring subscriptions:

A customer receives an email telling him that his card has been declined (this happens quite often, for example if the card has expired).

However, it turns out that this customer has registered two cards in his account… and very often, the transaction with the 2nd card is accepted without incident.

The problem is that the customer has received the email: he thinks there has been a problem, and that his subscription is no longer valid.
He therefore contacts us in a panic… but the subscription has been renewed thanks to his 2nd bank card.

=> Would it be possible to send the email indicating that a transaction failed, only if the transactions with ALL the customer cards failed?

Thank you very much! ☀️

Link to comment
Share on other sites

Right now, this is actually working as designed - and it's a bit complicated. When a renewal invoice is generated, we go through all cards the customer has on file in order to attempt to take payment. When we do this we generate individual transactions for each attempt, until one succeeds, which handles everything from capturing the payment, checking fraud rules, calling the gateway, getting back information from the gateway, and then either marking the transaction as approved (and in this case the invoice as well), declined, or marked for manual review. This also includes sending out the individual notifications for when any of those events occur for the individual transaction.

So then, the problem becomes determining what notifications to send, and when, since the system automatically determines the appropriate one to send, based on its status. Further, the notifications are centralized and are used for all transactions, including the customer checking out, renewing manually, the administrator manually charging the card, or automatic payment taken so we would need to rework all of those flows as well. So while it seems simple on the surface (and ideal - I agree, though one could argue that it could act as a reminder to the customer that they have an invalid card on file that they should probably update or remove), it's actually a larger change that we will likely have to make in a larger update rather than as a simple bug fix.

In most cases, customers will only ever have one card on file, so typically it's a non-issue (either it works or it doesn't and only one resulting transaction is generated).

Link to comment
Share on other sites

Hi @Ryan Ashbrook,

Thank you very much for the time you spent explaining all of this. 🙏🏻

I understand that this is indeed something very difficult to do, for a gain that is rather small.

On the other hand, perhaps it would then be possible to do something very simple which would prevent the customer from misunderstanding the email received: if the customer has several cards on his account, then simply add a note in the email, which would indicate:


This payment problem has occurred on your card **** **XX which expires on XX/XXXX.
Since you have another card registered in your account, then it is possible that the payment was accepted with this other card.


Thank you again!

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...