Hi @soprano
Thank you for contacting Payment Plugins. This plugin has supported CartFlows for a long time.
https://plugins.trac.wordpress.org/browser/woo-stripe-payment/tags/4.0.13/packages/cartflows
The card gateway, Apple Pay, Google Pay, and Link Checkout declare support for Cartflows.
Have you tested an upsell flow to confirm for yourself that it’s working as expected and the flow is triggering? You can do this in test mode using Stripe test cards.
Kind Regards
Hey Clayton,
That’s great to hear, thanks for your response. I was a bit confused because the description page for this plugin didn’t mention Cartflows compatibility and neither does the documentation of cartflows: https://cartflows.com/docs/supported-payment-gateways-by-cartflows/
I’ll test this out when I get home. Is there any logs I can also check to see if there are errors or issues with the CF upgrade functionality working along side this plugin?
Cheers,
Matt
Hi @soprano
The Stripe plugin uses the Cart Flows log when proving entries on payment issues. The main thing when testing is to just confirm that your upsell is triggering. The Cart Flows logs should indicate if the upsell was skipped for any reason.
Kind Regards
Hey @mrclayton
I see, that makes sense. I reached out to CartFlows support and attached the Cartflows logs. They analysed them and got back to me with the following feedback:
I went through the full range (Aug 13 to Sep 10) and didn’t find any errors, warnings, or exceptions. Every entry is informational.
Here’s the breakdown of offer-step skips due to unrecognized gateways over that period:
- stripe_cc: 22 times
- stripe_applepay: 16 times
- ppcp: 5 times
- stripe_googlepay: 4 times
- stripe_link_checkout: 1 time
That’s 48 offer skips over about 4 weeks, each one because CartFlows didn’t recognize that specific gateway ID as supported for the offer step
Is there something I need to change (a setting perhaps) to decrease the skips/increase Cartflows ability to recognize the gateway ID’s?
Thank you
Hi @soprano
That is odd that the offer would be skipped because the gateway was not recognized. This plugin hooks into the cartflows_offer_supported_payment_gateways filter that Cart Flows emits
Here is the code where that filter is hooked in to.
https://plugins.trac.wordpress.org/browser/woo-stripe-payment/tags/4.0.14/packages/cartflows/src/PaymentsApi.php#L19
Are you using the Pro version of Cart Flows? I believe that filter only exists in the Pro version of that plugin.
Kind Regads
Hi @soprano
I’m having the Dev team review the Cart Flows integration and the first thing that was pointed out is there appears to be a filter cartflows_offer_supported_payment_gateway_slugs that’s now in use in Cart Flows. That filter must also be hooked in to.
I am not sure when that filter was added but it seems somewhat new and would explain the upsell being skipped. Can you reach out via the support widget in the Stripe plugin settings?
Kind Regards
Hey @mrclayton
Yep, I’m using Cartflows Pro which seems to be picked up in the CF log entries: “Started: Cartflows_Pro_Gateway_Stripe::tokenize_if_required“
Maybe it’s something with the load-order, priority dependence or a hook-timing issue for that filter hook to catch correctly? I’m not sure, my knowledge on development is pretty limited.
Cheers
P.S: Just saw the follow up reply, I’ll reach out to your support there
-
This reply was modified 1 week, 2 days ago by
Soprano.
Hi @soprano
After some more research I have an explanation of why this behavior is happening and it appears to be an issue with Cart Flows that they will need to resolve.
Cart Flows has logic in their pro plugin that limits gateways to only those that exist within their pro plugin directory. In file /wp-content/plugins/cartflows-pro/classes/class-cartflows-pro-gateways.php line 137, Cart Flows Pro returns false if the gateway file is not in the Cart Flows directory.
Here is a section of that code:
// Prevent LFI: file must be within the CartFlows Pro plugin directory.
$real_gateway_path = realpath( $gateway_path );
if ( false === $real_gateway_path || 0 !== strpos( $real_gateway_path, realpath( CARTFLOWS_PRO_DIR ) . DIRECTORY_SEPARATOR ) ) {
return false;
}
Please share this reply with the Cart Flows team so they can review and provide commentary on why their plugin restricts gateways to only those within their directory. That seems to contradict the existance of the cartflows_offer_supported_payment_gateways filter.
Kind Regards
Hey @mrclayton ,
I’m following up on this in case any other CF users had the same issue. Cartflows got back to me with the following response:
“Good news, our team has fixed the issue you raised, the gateway restriction that was silently rejecting third-party gateways like Payment Plugins’ Stripe during upsells.
Here’s a dev build (CaertFlows Pro) with the fix: cartflows-pro-3.2.0.1″
Hopefully this does the trick and resolves it for anyone else experiencing this bug.
Cheers,
Matt
Hi @soprano
Thank you for the update. Once you have tested the dev build from Cart Flows it would be great if you could update this support thread.
Kind Regards