>Because in my case order is not created, but money is charged.
No, your issue is in another place.
Nopcommerce can't create the nop order.
You use the native onepage checkout, it means that customer addresses were validated in the one of checkout steps.
Do you see any error message in the nopcommerce log?
>So payment_intent.succeeded webhook fails, because it nopcommerce does not have order by order guid specified in webhook. So the there is no order, but money is charged.
Stripe changed the logic and sends webhook at once after payment but nopcommerce didn't create the nop order yet.
I added the timeout in the webhook handler.
Can you upgrade the plugin and check this issue again?
Try to use the native nopcommerce onepage checkout or another vendor one page checkout plugin.
My customer found another issues with this JavaScript library.
Check you pages using this tool
https://search.google.com/test/mobile-friendly
I decided to remove Stripe JavaScript library from all pages and add it only on the checkout page.
P.S.
I tried different solution but we have the performance issue with loading JS file
Try the new release
Add these CSS styles in the theme CSS file
.product-grid .item-box .product-item {
text-align: center;
}
.product-grid .item-box .product-item .picture {
position: relative;
display: inline-block;
overflow: visible;
}
.product-grid .item-box .product-item img {
position: static;
}
.product-grid .item-box .picture a::before {
display: none;
}
.product-grid .item-box .picture a {
display: inline-block;
}
.product-grid .item-box .product-item .fns-stickers-alignment-topleft {
top: -10px;
left: -9px;
}
Regarding my last email concerning Cors, I have installed this on IIS8, hope it works.
https://www.iis.net/downloads/microsoft/iis-cors-module
Access to XMLHttpRequest at 'https://m.stripe.com/6' from origin 'https://m.stripe.network' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
This error was from Google Search Console, there is a big delay with loading pages while waiting for the file to load, Google flagged the above as an issue.
Thank you for report about this issue.
I solved it in release 1.08
I use this code
var languageId = store.DefaultLanguageId;
var customer = customerService.GetCustomerByEmail(subscription.Email);
if (customer != null)
languageId = genericAttributeService.GetAttribute<int>(customer, NopCustomerDefaults.LanguageIdAttribute, subscription.StoreId);