You have no items in your shopping cart.

Wednesday, October 16, 2019 7:50:34 AM

BUG: Double charge caused by incomplete order

Avatar

Posted: 28 days ago

#9996 Quote

wize1

Posted: 28 days ago

#9996 Quote
I have already mutiple complains from customer's saying that i'm double charging them.

  I did investigation and it seem that root of the cause, is that your plugin makes charge on click of the next on card capture step instead of on confirm order button.

This is now becoming huge issue for us as lots of customers claiming that we are stilling they money. Can we get solution for this issue ASAP?

im using nopcommerce 4.20 and plugin version :
  "SystemName": "FoxNetSoft.StripeDirect",
  "Version": "2.06",
Avatar

Posted: 28 days ago

#10003 Quote

Support

Posted: 28 days ago

#10003 Quote
This new Stripe API uses one-time payment.
When customer presses the button 'Submit payment' than Stripe moves money to you (check 3D Secure before it).
But nopcommerce redirects customer to "Order Confirm" step of checkout. If customer doesn't confirm order but Stripe charges money.

I thought a lot.
I have several ideas.
1. When customer presses the button 'Submit payment' than plugin creates the nop order at once and skip nopcmmerce the last step of checkout.

2. Or another solution...
I don't like it.
Customer set the credit card in Payment Info step of checkout.
Customer presses the button 'Confirm Order' on the next step of checkout.
After it plugin ask Stripe to check 3D Secure.
If customer has crdit card with 3D Secure he will see the new window with 3D Secure from the bank.
But I don't like such solution.

3. Show credit card page after creating nop order.
Customer selected "Stripe Direct"  and he will see nopcommerce Confirm Order checkout step. Customer presses the button 'Confirm Order' and he sees the page with credit card values and with the button 'Submit payment'.

What do you think?
Avatar

Posted: 28 days ago

#10004 Quote

wize1

Posted: 28 days ago

#10004 Quote
I think you need to stop selling this plugin until you fix this ...
It caused huge problem for me so far...

From what i could gather from logs (I have written plugin for stripe before for 4.00, but dont have time to write updated one that is why i bought yours), it seems to me you using it wrong for nopcommerce. Because you creating intentd with automatic charge and that is why it charges straight away... what you need to is create intendt with manual confirmation (ConfirmationMethod = "manual") then do the client side portion and then do intendt confirm on confirmation page...

Then you should get correct flow from what i could understand, I could be wrong as well.

Please read this, it is exactly for the nopcommerce flow:
https://stripe.com/docs/payments/payment-intents/web-manual
Avatar

Posted: 28 days ago

#10005 Quote

wize1

Posted: 28 days ago

#10005 Quote
if you email me your skype details, we can go through it together.. I need solution pretty urgent so I'm willing to help
Avatar

Posted: 28 days ago

#10006 Quote

Support

Posted: 28 days ago

#10006 Quote
ConfirmationMethod = "manual"

I did the releaee with 'manual' too. I hoped than Stripe would use clear logic.
Customer put credit card, submit payment, verify 3D Secure and plugin will confirm payment.

But I got another result.
Customer put credit card, submit payment, Stripe shows the payment is correct and we csn confirm it, customer presses the button 'Confirm order', plugin confirms payment. And Stripe told me 'show customer the window for 3D Secure'.

It's strange but customer had to apply 3D Secure after confirming psyment.
I didn't understand this logic.

P.S.
You use nopcommerce onepage checkout.
If you use any one page checkour plugin you will not have this issue.

But I think I found the solution for nopcommerce one page checkout.
I can check what checkout method the store's owner use and I can did oen solution.

Please wait one day.
Avatar

Posted: 26 days ago

#10102 Quote

wize1

Posted: 26 days ago

#10102 Quote
Hi, have you managed to come up with solution yet?
Avatar

Posted: 26 days ago

#10103 Quote

Support

Posted: 26 days ago

#10103 Quote
Stripe support answered me that they would think...
But I found another solution.
Wait 2-3 days.
I want to remove button "Submit payment" and move all logic to button ''Confirm order".

It's bad that I need to do the own cshtml file for nopcommerce one page checkout, nopcommerce mutipage checkout and any external one page checkout.
But I don't see any solution of this problem.
I think Stripe can't solve it because 3D Secure 2.0 has own logic for confirmation payment. The card holder's bak checks the payment (online, email, etc) and move money at once.
Avatar

Posted: 26 days ago

#10104 Quote

wize1

Posted: 26 days ago

#10104 Quote
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.
Avatar

Posted: 22 days ago

#10106 Quote

Support

Posted: 22 days ago

#10106 Quote
I solved this issue in my plugin

Version 3.00 - September 23, 2019
- changed the logic of plugin (old release had an issue - capture payment at once after submit payment, he have soled this issue).

Stripe support answered me that we need to solve it myself.
I found another solution. I use the two steps Stripe payment logic.
- create the payment on Payment Info step of checkout
- confirm and validate 3D Secure on order confirm step of checkout.

Please upgrade plugin
Avatar

Posted: 20 days ago

#10107 Quote

wize1

Posted: 20 days ago

#10107 Quote
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.
Avatar

Posted: 20 days ago

#10110 Quote

Support

Posted: 20 days ago

#10110 Quote
I'll change this error message
Error. Stripe error: Card Error. code:expired_card, message=Your card has expired.
to this new value
Stripe error: Your card has expired.

>that would be better solution is on error it should step back to payment details,
it's a good idea.
I did in in the new release.

Try it and write me about result.

Powered by nopCommerce

Copyright © 2019 FoxNetSoft. All rights reserved