I’m in the middle of developing an e-commerce site that is using Paypal as it’s payment gateway. All I want to do is run some code before the user heads off to Paypal to pay for their order, but I have no idea how to do it.
The user should click a submit button, changes are made (in this case, the status of the order), and then the user is redirected to the payment gateway. Eg:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult GoToPaypal(FormCollection collection)
{
//change order status
//send user to paypal where they pay for their order
}
So my question is how do you do application stuff and then redirect to paypal’s payment gateway? Example HTML and C# would be lovely 🙂
Note: This guy seems to have the same issue – (and probably explains it better).
You could POST to paypal from your action method but it will be difficult to show the user the response. In addition, you want to take the users to the paypal website without using a GET request (GET exposes the parameters in the url string and Paypal probably does not accept a GET request).
From what I understand, you have a form with some fields that posts to PayPal. Before the form is posted to Paypal, you want to capture the fields on the form, do some processing with it and then let them post to paypal.
One way of doing this is with jQuery. You wireup the submit event
http://api.jquery.com/submit/
When submit is clicked, in the event handler for the submit you created above, make an ajax call with the form fields you need to your MVC action.
http://api.jquery.com/jQuery.post/
Do the processing and send back a response.
When the page receives the ajax response, change form fields if required that are received from the ajax response.
Finally Use jQuery to submit the form.
==