Introduction
In this article, we will learn how to implement a Stripe payment gateway in a .NET Web application using C#.
Let’s begin.
Go to https://stripe.com/
Click on the START NOW button to do the registration. After successful registration, the below page appears.
Click on Developers > API Keys, and get your Publishable key and Secret key
Now, Install “Stripe.net” SDK in your application
Go to Tools > NuGet Package Manager > Manage NuGet Packages For Solutions.
Click on Browse Tab and search for “Stripe.net”. Click on search NuGet and click to Install button.
After installation of SDK, Set Publishable key and Secret key in web.config.
C# Code Example
Open the HomeController.cs file and add the code in it.
public ActionResult Index() { ViewBag.StripePublishKey = ConfigurationManager.AppSettings["stripePublishableKey"]; return View(); } [HttpPost] public ActionResult Charge(string stripeToken, string stripeEmail) { Stripe.StripeConfiguration.SetApiKey("your Publishable key"); Stripe.StripeConfiguration.ApiKey = "your Secret key"; var myCharge = new Stripe.ChargeCreateOptions(); // always set these properties myCharge.Amount = 500; myCharge.Currency = "USD"; myCharge.ReceiptEmail = stripeEmail; myCharge.Description = "Sample Charge"; myCharge.Source = stripeToken; myCharge.Capture = true; var chargeService = new Stripe.ChargeService(); Charge stripeCharge = chargeService.Create(myCharge); return View(); }
Open the Index.cshtml file and add the code in it.
<form action="/Home/Charge" method="POST"> <article> <label>Amount: $5.00</label> </article> <script src="//checkout.stripe.com/v2/checkout.js" class="stripe-button" data-key="@ViewBag.StripePublishKey" data-locale="auto" data-description="Sample Charge" data-amount="500"> </script> </form>
That’s it, you are ready to use the Stripe gateway.
I tried same code, but it redirects me to given action URL instead of displaying stripe popup/iframe. any suggestions?