I am creating a Failed Payment flow using the Failed Payment metric from the Stripe integration.
According to the Integrations tab, there is a green border around the Stripe integration box. So this means that it has been fully synced and integrated.
The webhooks between Stripe and Klaviyo are successfully set up. There are successful calls recorded by Stripe when I make a test order. Using the test order codes that would trigger a failed order, Stripe records these payments as failed. However, it is not showing up in Klaviyo. I have made a few failed test orders and none of these times does it show up on Klaviyo. It only shows that I have started checkout (Woocommerce). Hence my failed order flow is not triggered and no email has been sent.
I found this in the Klaviyo documentation: How to integrate with Stripe on a failed payments flow and I was wondering what the flow trigger was as highlighted in the snapshot below.
So I’m wondering why failed payments are not being recorded and also why the flow is not being triggered.
This is my flow at the moment for staging purposes.
Also to note that when I used the test mode signing key for Stripe, Klaviyo was stuck for at long time at 99.5%. When I changed it to the live signing key, it completed integrating. However, as I check now, there are event attempts to contact the Klaviyo endpoint for the test endpoint (which was a result from my test failed orders). On the other hand, the live endpoints has no attempts made to send an event to the Klaviyo endpoint.
Hope this helps.
Thanks in advance.
Best answer by David ToView original
Thanks for sharing your question with the Klaviyo Community!
The flow filter highlighted in an example Stripe Failed Payments Flow within Klaviyo’s How to Integrate with Stripe article is the rule “What someone has done, Placed Order zero times since starting this flow”. This is to ensure that customers who has been queued up for the flow will be removed from the flow once they have triggered a successful payment.
When attempting to test this Stripe Failed Payment event, can you confirm if you are also passing an email address when going through your checkout page? As detailed in the Stripe Integration Troubleshooting subsection of the How to Integrate with Stripe article, a common reason why events aren’t syncing to Klaviyo would be the lack of an email address which Klaviyo uses to identify your customers:
Alternatively, since it also sounds like you may have had some integration issues, I would also recommend first attempting to re-import your historical data. You can perform this action by navigating to Integrations > Stripe > Re-Import Historic Data which would push a historic sync between Stripe and Klaviyo to push any missed data. Keep in mind that this process can take some time depending on a number of factors and after doing so to not make any changes with the Stripe integration or Stripe’s backend settings while this is occurring else it may cause a sync error. You will know when this sync is complete when Stripe displays a green border next to it in your Klaviyo account's Integration tab.
If re-importing your historic data did not bring over those events, then I would advise fully removing the Stripe integration and re-integrating while fully waiting for it to complete. Once again, any changes during the syncing process may case sync errors and cause a discrepancy in how Klaviyo is connected to Stripe. I would recommend taking the following steps to remove and fully re-integrate Stripe:
After taking those steps, I would also recommend attempting to trigger these Stripe events and reviewing them within the Analytics > Metrics tab. Also keeping in mind that Stripe has a periodic sync time every hour. This means that although data is typically relayed to Klaviyo almost instantly, if there were any delays from Stripe’s end in sending Klaviyo this data that it may take upwards of an hour to register in Klaviyo.
I hope this helps!
Thanks for your solutions and I will try to reintegrate Stripe with Klaviyo again.
In response to your question about the email address, yes, we require an email address during the checkout process so I do not think this is the problem?
A possible reason, after further troubleshooting yesterday, as to why my flow is not triggering and that Stripe information is not being passed onto Klaviyo for Failed Payments could be that I am using test order which logs the TEST data onto Stripe. My Klaviyo was synced with the TEST mode signing keys instead of the LIVE one. Therefore, only when a customer makes a LIVE payment and failed the payment will this event gets logged to Klaviyo.
Just some thoughts to consider.
Thanks again for your help :)