No callbacks from Stripe

  • Geraint
  • Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 3 months ago #140739 by Geraint
No callbacks from Stripe was created by Geraint
I completed our migration of our old subscription system to Membership Pro a couple of weeks ago and things are generally running smoothly appart from one fairly serious issue.

We offer Paypal and Stripe (not stripe checkout) as payment mechanisms (not recurring) - completed payments ay Paypal trigger a stuitable IPN response on our server changing the subscription status BUT this doesn't happen with Stripe.  The payment is generated and completes at Stripe but the subscription status on our server doesn't change.

I have double checked our API keys.

Looking at the API logs in Stripe is looks as though the success_url is a JRouted URL that points to a page on our site ('My Subscriptions') that requires the user to be logged in.   Is this the cause of the problem?

If it is can I create a special hidden public menu item and tell MP or the plugin to use this hidden public URL instead?

Please Log in or Create an account to join the conversation.

  • Tuan Pham Ngoc
  • Away
  • Administrator
  • Administrator
More
3 years 3 months ago #140749 by Tuan Pham Ngoc
Replied by Tuan Pham Ngoc on topic No callbacks from Stripe
Hello

You need to configure Stripe webhook, see membershipprodoc.joomservices.com/basic-...stripe#configuration for instructions

After that, it will work well

Regards,

Tuan

Please Log in or Create an account to join the conversation.

  • Geraint
  • Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 3 months ago - 3 years 3 months ago #140751 by Geraint
Replied by Geraint on topic No callbacks from Stripe
I don't use recurring payments - is this still relevant?

Also I use the same stripe account for memberships on 3 separate domains so can't set a single webhook return URL.

Also - thinking this through a bit more - if people renew from a registered menu item e.g. view=profile then this is always restricted access/
Last edit: 3 years 3 months ago by Geraint.

Please Log in or Create an account to join the conversation.

  • Tuan Pham Ngoc
  • Away
  • Administrator
  • Administrator
More
3 years 3 months ago #140762 by Tuan Pham Ngoc
Replied by Tuan Pham Ngoc on topic No callbacks from Stripe
Hello

If you are using Stripe payment plugin, no IPN message is needed. Customers enter credit card information on subscription form, process payment and subscription should become Active immediately

In your case, exactly what's status of the subscription record? is it Pending?

Tuan

Please Log in or Create an account to join the conversation.

  • Geraint
  • Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 3 months ago - 3 years 3 months ago #140771 by Geraint
Replied by Geraint on topic No callbacks from Stripe
In Stripe - in the list of payments its marked as 'succeeded'.  But notice there was an almost 2 minute delay due to a 'requires_source' PaymentIntent Status



Looking at the API key request logs I notice there is an additional 'completed_webhook_delivered' request initiated just after the payment succeeds.



I'm wondering if this 2 minute delay was due to the 3D secure authentication process for the payment?? See stripe.com/docs/payments/3d-secure

Does the Stipe Checkout plugin work better with 3D secure? 
Last edit: 3 years 3 months ago by Geraint.

Please Log in or Create an account to join the conversation.

  • Tuan Pham Ngoc
  • Away
  • Administrator
  • Administrator
More
3 years 3 months ago #140776 by Tuan Pham Ngoc
Replied by Tuan Pham Ngoc on topic No callbacks from Stripe
I don't really know about this delay as this is processed completely by Stripe. If you want to understand about Stripe Checkout, please read membershipprodoc.joomservices.com/faqs/s...e-vs-stripe-checkout

Regards,

Tuan

Please Log in or Create an account to join the conversation.

  • Geraint
  • Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 3 months ago #140809 by Geraint
Replied by Geraint on topic No callbacks from Stripe
My mistake - I am actually already using the "MP Stripe Checkout" plugin (version 2.19.1) and not the 'Stripe Checkout'. I only realised this when I mistakenly purchased a second subscription to 'Stripe Checkout' (I'd appreciate it if you could refund this).

I just tried a new live transaction with my personal card.

The subscription was created as pending in my site before the redirection to Stripe.

I then complete the payment and I'm redirected to the subscription-complete page but the subscription status is still pending on my website

The Stripe API log triggered a checkout.session.completed event and redirected to the success _url - this redirection is a POST so I'm not sure what data was sent back from Stripe,

I checked my server's access logs and the redirection to the checkout completed page matched with the payment completed timestamp at Stripe.

Can you suggest any logging code that I could add to the plugin to see what is not working?

On a separate note - then I triggered the refund the refund completed successfully but Stripe got a 401 error in the API when I tried to contact my site
Code:
{ "error": { "code": "reauthentication_required", "message": "Please log in again to complete this action.", "message_code": "reauthentication_required", "type": "invalid_request_error" } }
This is presumably because its trying to send the refund response to a registered user menu item

 

Please Log in or Create an account to join the conversation.

  • Geraint
  • Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 3 months ago #140811 by Geraint
Replied by Geraint on topic No callbacks from Stripe
Some more research.

I added
Code:
            JLog::addLogger(array('text_file' => 'os_stripe.php'), JLog::ALL, array('stripe'));             JLog::add(var_export($session, true), JLog::INFO, 'stripe');
just before
Code:
$this->redirectToStripe($session->id);
in processPayment in os_stripe.php

and also several log messages to verifyRecurringPayment

the processPayment log messages are created but Nothing from verifyRecurringPayment so os_stripe.php isn't being called at all by the payment success page.

Please Log in or Create an account to join the conversation.

  • Tuan Pham Ngoc
  • Away
  • Administrator
  • Administrator
More
3 years 3 months ago #140829 by Tuan Pham Ngoc
Replied by Tuan Pham Ngoc on topic No callbacks from Stripe
Hello

Maybe your site is not public accessible and Stripe could not send notification to the configure Webhook URL?

Did you setup webhook as instructed yet? Maybe the notification from Stripe to that webhook URL (basically a POST request) is being blocked by something on your server?

Tuan

Please Log in or Create an account to join the conversation.

  • Geraint
  • Topic Author
  • Offline
  • New Member
  • New Member
More
3 years 3 months ago - 3 years 3 months ago #140866 by Geraint
Replied by Geraint on topic No callbacks from Stripe
I've got it working now thanks.

My problems started because I'd searched your documentation for 'stripe' and came up with no helpful content. 

 

It doesn't give the links to the articles you mentioned.

membershipprodoc.joomservices.com/faqs/s...e-vs-stripe-checkout

nor

membershipprodoc.joomservices.com/basic-...gins/stripe-checkout

I thought that Grav would do better than this :(

Finally when I quicky read that last article I only spotted the reference to recurring_payment_confirm and not to checkout.session.completed invoice.payment_succeeded
 
Last edit: 3 years 3 months ago by Geraint.

Please Log in or Create an account to join the conversation.