I can't the problem happens in rare cases, but when it happens customers are very unhappy and claiming that we trying steal they money, because money taken and order not created.
Support wrote:
Support wrote:
Support wrote:
Hi again,
I'm glad to see you fixed some of bugs since we last spoke.
But I have one more for you to squeeze.
So here is scenario:
1. POST /v1/payment_intents 200 OK
- PaymentIntent status: requires_confirmation
2. WEBHOOK payment_intent.created - NOT SENT AS PER CONFIG
3. POST /v1/payment_intents/pi_1IkAv.../confirm 200 OK
- PaymentIntent status: requires_action
4. WEBHOOK payment_intent.requires_action - NOT SENT AS PER CONFIG
5. POST /v1/payment_intents/pi_1IkA.../confirm 200 OK
- PaymentIntent status: succeeded
- 3D Secure succeeded
6. WEBHOOK charge.succeeded - NOT SENT AS PER CONFIG
7. WEBHOOK payment_intent.succeeded - SENT, BUT FAILS
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.
Im not sure what workflow you have in your plugin setup, at which point do you create order? Because in my case order is not created, but money is charged.
Regards, Dmitri
Customer
Sorry for later reply, it is all sorted now. Thank you.
Finally found time to test it...
So the main issue is solved, well done!
Two things i noticed though:
1. I think error message from payment shoud only show message part to customer instead of this:
Error. Stripe error: Card Error. code:expired_card, message=Your card has expired.
2. It ether needs to be focused on error message, or what would be better solution is on error it should step back to payment details, show error below credit card details and focus on credit card textbox. Because our experienced show customer click on confirm dont see error message, so they click again and again thinking button does do anything they just close browser and we loose order and customer.
I think you going in right direction. disable payment information step and just do it all on confirmation that looks like only way to do it.
Hi, have you managed to come up with solution yet?