[Stripe] In our ecommerce in last days we have this wrong behaviour, some user pay correctly with order on processing state

webhook
stripe

(Luca Innocenti) #1

Hello,

in our ecommerce in last days we have this wrong behaviour,
some user pay correctly with order on processing state.

Other user’s order are in status PENDING,
money is not captured
and we have this json response

{
    "amount": 2989,
    "client_secret": "src_cnnnnnnL0o0tdtUvN",
    "created": 1nnnnnn138,
    "currency": "eur",
    "flow": "redirect",
    "id": "src_1Bb4Pnnnnnn7",
    "livemode": true,
    "metadata": [],
    "object": "source",
    "owner": {
        "address": {
            "city": "nnnnnnina",
            "country": "IT",
            "line1": "vnnnnnn0",
            "line2": null,
            "postal_code": "nnnnnn",
            "state": "Imperia"
        },
        "email": "nnnnnn@yahoo.it",
        "name": null,
        "phone": "nnnnnn+",
        "verified_address": null,
        "verified_email": null,
        "verified_name": null,
        "verified_phone": null
    },
    "redirect": {
        "failure_reason": null,
        "return_url": "https://www.quanticlo.com/it/dfe-stripe/customerReturn",
        "status": "pending",
        "url": "https://hooks.stripe.com/redirect/authenticate/src_1Bbnnnnnnpo9eJZ7?"
    },
    "statement_descriptor": null,
    "status": "pending",
    "three_d_secure": {
        "authenticated": false,
        "card": "src_1Bb4nnnnnnUYCAQi",
        "customer": null
    },
    "type": "three_d_secure",
    "usage": "single_use"
}

naturally all “nnnnnn” are hidden for privacy,
thank you for your response.

Have a nice day,
Luca


(Dmitry Fedyuk) #2

Do you have any suggestions, how exactly have you broken your store in the last days?
As I understand, the Stripe module had been successfully worked in your store for a long time.


(Luca Innocenti) #3

We moved the ecommerce from a server to another, only that.
Ecommerce now is working fine, except for this behaviour.


(Dmitry Fedyuk) #4

Maybe your webhooks configuration is broken after the store’s movement?
Maybe you have a wrong webhook URL there, or maybe your server refuses the Stripe’s notifications?


(Luca Innocenti) #5

Could be that the problem is df_is_localhost() function retur TRUE becase $_SERVER, ‘REMOTE_ADDR’ =‘127.0.0.1’ because we have 2 webserver in line?


(Dmitry Fedyuk) #6

I do no think the problem could be efficiently solved by jumping from one suggestion to another in random order.
Check the suggestions I have written above first.


(Luca Innocenti) #7

Yes but after your suggestion on webhook I checked on admin config and I have this:

==> Webhook: The notifications are not available, because the store is running on localhost

and so I asked this to you.


(Dmitry Fedyuk) #8

Publish an exact screenshot of your Stripe webhook settings here.


(Luca Innocenti) #9

Here configs

thanks for help :slight_smile:


(Dmitry Fedyuk) #10

I need your Stripe webhook settings, as I said.
Click this link, and publish the same screenshots as I have published in the manual.


(Luca Innocenti) #11


(Dmitry Fedyuk) #12

As I said, need to correctly setup a webhook.
Set the https://www.quanticlo.com/dfe-stripe address there.


(Luca Innocenti) #13

Ok we setted it, so should be that the “localhost” problem is not a real problem correct?


(Dmitry Fedyuk) #14

The “localhost” problem is not related to your problem.


(Luca Innocenti) #15

Ok now seems work correctly (we 'll check for next orders if are all OK ) but on Event Log we have for transaction the “pending webhook message”.


(Dmitry Fedyuk) #16

Open the problem event there, and Stripe will show you your store’s response to the event.


(Luca Innocenti) #17

Hello Dmitry first of all ty for your support,
but we are continuing have orders in pending…


(Luca Innocenti) #18

this is the response on stripe


(Dmitry Fedyuk) #19

Your server is misconfigured.
Provide me:

  1. SSH access to the server.
  • Access to the Stripe dashboard.

(Dmitry Fedyuk) #20

@Luca_Innocenti

The main problem is:

  1. If I open the https://www.quanticlo.com/dfe-stripe link in a browser manually first time, then the quanticlo.com's webserver redirects me to https://www.quanticlo.com/eur/.
    It is wrong because the website does not pass the control to the Stripe module.
    Maybe it explains the 302 error code on your previous screenshot: maybe it means HTTP 302 («the requested page is moved temporarily»).
  • If I reopen the same https://www.quanticlo.com/dfe-stripe link in a browser manually second time, the quanticlo.com's webserver correctly passes the control to the Stripe module, and the Stripe module responds «The request is invalid because the required parameter type is absent».
    It is the correct response because the link is opened manually.

So the problem point is 1.
It is reproducible: to reproduce it, delete the quanticlo.com's cookies and the the quanticlo.com's Local Storage data in the browser, and the browser will behave as 1 again.

Maybe the problem could be solved by changing the webhook’s URL from https://www.quanticlo.com/dfe-stripe to https://www.quanticlo.com/it/dfe-stripe in the Stripe’s dashboard (by addition of the /it path): try it.