RemotePost Payment Gateways

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
6 years ago
Greetings,

I have implemented a Cyber Source Secure Acceptance and Silent Post payment plugin prototypes.  Both prototypes work as expected redirecting and getting responses back to NopCommerce.  That said I have a few user experience issues with the RemotePost setup in NopCommerce?  I already have a plugin to override these user experience issues.  The below scenario shows the out of the box order workflow using remotepost followed by some questions.

Scenario:  When the confirm button is clicked.

-First the PlaceOrder Method is hit in the OrderProcessing Service.
-Next in the case of a standard cart the ProcessPayment method is hit. * only to set the order status to pending?
-Next back inside the PlaceOrder Method the processPaymentResult.Success is = true?  * due to the setting of the status to pending?
-Next the order is saved and notifications are sent out like the order has been completed??
-Then the PostProcessPayment which builds the RemotePost data and sends the customer to remote payment gateway?
-While the customer is still on the payment gateway page with no payment entered?
-Finally the customer enters the payment information and either succeeds or fails. The gateway in the cause send the response back to a Return method.

Question:
Why is the order saved before payment has been processed.  Was this by design and if so why?  Is the only alternative to override "like I have" the OrderProcessingService PlaceOrder and/or other Controllers actions or events so the order is not created until the payment redirect has been completed.

NopCommerce Version 3.90

Feedback?

Thanks,

SliGamer
6 years ago
Hi Justin,

sligamer wrote:
-Next the order is saved and notifications are sent out like the order has been completed??

"Order placed" email is sent. But "Order completed" is sent only when an is order is paid and develired. You can also disable "Order placed" email and enable "Order paid" instead

sligamer wrote:
Why is the order saved before payment has been processed.  Was this by design and if so why?  Is the only alternative to override "like I have" the OrderProcessingService PlaceOrder and/or other Controllers actions or events so the order is not created until the payment redirect has been completed

There were a lot of discussions about it. And here is a work item (we don't plan to implement it). It contains a lot of links to that discussions. Please check it
6 years ago
Thanks for the feedback Andrei!  

-Justin Freres
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.