Commercial support and Extensions

Review, Consultancy, Support plans - Commercial extensions

  • Home
  • Joomla Little Helper support
  • #1037: Parse error: syntax error, unexpected '[' in /home/gardinie/public_html/administrator/components/com_littlehelper/models/htaccess.php on line 272

Warning

You do not have a menu item pointing to the list all Akeeba Ticket System categories for the English (United Kingdom) language. Ticket links may be broken until you add such a menu item.

#1105 – Stripe Payment setup/linkback

Posted in ‘Assistance’
This is a public ticket. Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.
Tuesday, 21 July 2020 15:26 UTC
Monzo
Hello.
I have setup my Jticketing payment with Stripe. It seems to work well, however the link back to my site after buying a ticket is not working. I presume it needs to send a payment confirmed hook back to my site to return to the correct page? But it does not. Instead links back to the site with  
"Error Some error occurred while processing payment".  And payment confirmation does not get sent.
What am I doing wrong? Or is there a bug? Can you point me in the right direction?   thanks!

Stephen


Joomla version: 3.9.20
PHP version: 7.2.32
Server: Not sure :/ 
Server OS: linux

Tuesday, 21 July 2020 21:54 UTC
ric

Hello, most likely you have not configured the webhooks (the endpoints which Stripe calls upon payment completion). You need to register these "webhooks" with Stripe both for the Sandbox and Normal use.

You can find more information here: https://www.fasterjoomla.com/extensions/136-stripe-v-3-update-instructions and here: https://www.fasterjoomla.com/extensions/stripe-joomla-payment-plugin

Should this not be the issue, i.e. you still have an "Error Some error occurred while processing payment" error, well that's really impossible to debug unless you also state which version of jTicketing or other product you are using to sell the tickets.

Please let me know if it works, and please bear with me but I won't be able to respond during daytime for a couple of weeks, I'll still check from time to time but I won't be behind my computer at all.

 
Wednesday, 22 July 2020 10:06 UTC
Monzo

Hello.

Thanks for the reply.

Okay. I have set up my Webhook for event "checkout.session.completed".

What might be an issue is that I am also using Stripe for membership subscription payments. That also has a webhook. (
invoice.payment_succeeded) and then send backs to Endpoint URL - https://mydomain.com/index.php?option=com_osmembership&task=recurring_payment_confirm&payment_method=os_stripe

Its the same webhook I am using just with both events enabled.
Could this be the issue, that the Webhook is sending back to the membership subscription confimred page?

I can't see that it is possible to set a Endpoint URL for each event. Only one Endpoint

How else can I achive this?

Thanks

Stephen



Wednesday, 22 July 2020 16:42 UTC
ric
Hi Stephen, my Stripe plugin handles the webhook creation from the backend, and also shows you the other registered webhooks. The webhook for our stripe plugin is different, and I guess it doesn't hurt to receive an extra one: my plugin won't find the id and will not do much except for logging this. I have no idea how oscommerce would handle our payments, hopefully they will look up the order id, fail, and ignore the request just as we do. So if you create the webhooks from the Stripe plugin configuration / webhooks (make sure you are using the latest version) it should work. Once it's working, depending on the traffic you generate on your site, I would set up a testing scenario with jasmine, jest, or your preferred test suite, to ensure everything is running smoothly. Kind regards, Riccardo
 
Thursday, 23 July 2020 11:06 UTC
Monzo

Hello Riccardo.

I am confused. Thre are two Stripe Plugins? Your own and fasterjoomlas?
I can only add one webhook on the Stripe Payment plugin, correct?

But i need 2. One for the memberhip signup checkout and one for tickets purhase checkout.
I can create the webhook in the stripe dashboard but again I can only have one webhook in the Stirpe plugin. Or am I doing something wrong?

I also need to know what the Endpoint URL should be for the tickets event checkout.session.completed.

Sorry if I am asking stupid questions.

Best

Stephen

Thursday, 23 July 2020 17:33 UTC
ric

hi, sorry if I was confusing.

I developed the Stripe plugin, which is hosted and sold on fasterjoomla, so when I say "my plugin" or "the stripe plugin" I mean the same.

In fasterjoomla's Stripe Plugin configuration there is a tab listing the active webhooks, both for sandbox and for live.

There you can create the webhooks and manage them.

I have attached screenshots of what it looks like.

Else, if you'd rather do it manually, you'll have to set up a webhook for checkout.session.completed on stripe, using the url https://yoursite.com/?action=stripe_webhook

Attachment
 
Friday, 24 July 2020 12:15 UTC
Monzo

Hi Ric.

Okay great, I am with you now.

I have set the webhook in the plugin and the Strip dashboard test is susccesful

My issue seems to be that I need 2 webhooks. One for the membership signup paymnet (this one is set up and working). And one for the ticket purchase payment, checkout.session.completed ( i need to add this).

It seems that it is only possible to add one Webhook secret code? 
Or am I overlooking something?

Thanks

Stephen

Monday, 27 July 2020 05:45 UTC
ric

Hi,

I didn't try from the Stripe backend, but from our plugin configuratin/webhooks tab you can definitely add as many as you want, can you try that approach?

Thank you

Riccardo

 
Wednesday, 29 July 2020 08:36 UTC
Monzo

 Hello Riccardo.

I think I must be overlooking something.

I can add multiple webhooks in the plugin but still only have the option for one Webhook secret key per webhook. I need to add a key for each webhook right? But can see how to do this in the plugin?
Screenshot shows my issue.

Stephen


Attachment
Wednesday, 29 July 2020 18:21 UTC
ric

well it seems like you have your site offline or are using a plugin to show the black Manifest banner to the users, and this is preventing the Stripe plugin from intercepting Stripe webhooks.

This is most likely the cause of most of the issues you are facing.

You only need one webhook for this plugin to work. I understood another webhook was required by the other extension you are using. If you set them up correctly, after you fix your black Manifest banner you should see both webhooks in the plugin configuration, and that will be fine since you are using two applications.

Please note you didn't create a live webhook (or didn't save after you created it), you'll find it along with the delete button after you remove the black Manifest banner, you should recreate it because the Stripe Plugin needs to know the webhook secret in order to validate it.

 
Saturday, 01 August 2020 20:47 UTC
Monzo

Hello Riccardo.

Thanks for clarifying. I removed the black banner block (this has been to hide my site during setup) and was now able to create both live and sandbox webhooks for both applications. They work. Great!

However this seems to have given me a new issue.

When confirming payment Stripe sends me back to my site as it should. However.

I have a setup with events tickets. There are 2 types of ticket prices. 1 for members of the site and 1 for non-members. This is controlled by Joomla permissions and only logged in members can buy member tickets.
When a non-memer buys a ticket the Stripe webhook sends them back as it should to a payment sucessfull/ invoice page. This works.

But when a member buys a ticket the Stripe webhook sends back with a "you are no autorised to access this page" error.
I am guessing this is due to the member (Joomla User) access level for a member ticket blocking the webhook endpoint. This should not be the case as the member is logged in to their account when purchasing a ticket.
I can also see the payment is confirmed and ticket gets sent to the members email, so the payment part works just not the link back.

Any idea what I might be overseeing or a way to fix this?

thanks!

Stephen

Wednesday, 12 August 2020 11:27 UTC
Monzo

Hello Riccardo.

Just following up on my ticket. Any ideas on how to fix this?

thanks

Stephen

Wednesday, 12 August 2020 14:59 UTC
ric

Hi Stephen,

sorry I missed your previous ticket.

I guess this may be handled in the ticketing component's permissions options and making the relevant option - something named like payment confirmation - public access, however I am not sure whether this option is present at all, or whether it would solve the issue; I would bring it up with the component developer.

It just boils down to not receiving a payment confirmation in the component after a successful payment when the event is for registered users.

Maybe there is an alternative way to set the ticket up, maybe it's a bug, maybe it's an option. I guess the issue is the same with other 3rd party payment providers such as Paypal. I suggest you provide them with as much info as possible in order to speed the solution. Also ensure you are using the latest version, as most developers will not investigate issues on older versions.

Kind regards,

Riccardo

 
Thursday, 13 August 2020 11:40 UTC
Monzo

Hi Riccardo.

Okay thanks very much for this feedback. I will go forward with the component developer and hopefully crack the issue that way round.

Can you also let me know if it is possible to change the PAY button so it does not show the text "(Basic Stripe)"? This confuses some of my customers so I would prefer it to just show PAY and the amount.

(Screenshot attached showing my issue.)

Thanks

Stephen


Attachment
Thursday, 13 August 2020 14:07 UTC
ric

Hi Stephen,

You need to set your plugin to Live in the main configuration page. Basic Stripe is only shown when the site is in sandbox and you are hence NOT collecting money at all now!

 

Riccardo

 
Thursday, 13 August 2020 16:41 UTC
Monzo

Ahha.

makes sense.

Thanks Riccardo!

This ticket is closed, therefore read-only. You can no longer reply to it. If you need to provide more information, please open a new ticket and mention this ticket's number.