What is Stripe Checkout ASP.NET (Web Forms or Core MVC) Web Application built with C# and JavaScript? Stripe in ASP.NET - C# | Payment Gateway Integration

The application, ASP.NET Web Forms or Core MVC Web Application builded for Stripe Checkout custom payment forms on the web.

With integrating and customizing the application to your ASP.NET Web Application, receive payments from credit or debit cards, Alipay, WeChat Pay, Bancontact, EPS, giropay, iDEAL, Multibanco, Przelewy24, SOFORT, Secure Remote Commerce and Payment Request Button (Apple Pay, Google Pay, Microsoft Pay, and the browser Payment Request API) via Stripe.

The application supports 3D Secure 2 for card payments. Supported Card Brands: Visa - Mastercard - American Express - Discover - Dinners Club - JCB - UnionPay

Before use a Payment Method in Live Mode, it must be activated on the Stripe Dashboard, no need in Test Mode. Supported Payment Methods:



- Bancontact (EUR): Belgium

- EPS (EUR): Austria

- giropay (EUR): Germany

- iDEAL (EUR): Netherlands

- Multibanco (EUR): Portugal

- Przelewy24 (EUR, PLN): Poland

- SOFORT (EUR): Germany, Austria, Belgium, Spain, Italy, Netherlands

Elements are completely customizable. You can style Elements to match the look and feel of your site, providing a seamless checkout experience for your customers.

The application uses:

- the Payment Intents API for cards

- the Sources API for Alipay, WeChat Pay, Bancontact, EPS, giropay, iDEAL, Multibanco, Przelewy24 and SOFORT

Full source code is included.

-- Purchase for ASP.NET Web Forms on CodeCanyon -- Target Framework: .NET Framework 4.7.2 - Language: c#

-- Purchase for ASP.NET Core MVC on CodeCanyon -- Target Framework: .NET Core – ASP.NET Core 3.1 – Language: c#

What is Payment Request Button?

Collect payment and address information from customers who use Apple Pay, Google Pay, Microsoft Pay, and the browser Payment Request API (Chrome, Opera, Edge, Safari).

Customers see a “Pay now” button or an Apple Pay button, depending on what their device and browser combination supports. If neither option is available, they don’t see the button. Supporting Apple Pay requires additional steps, but compatible devices automatically support browser-saved cards, Google Pay, and Microsoft Pay.

To use Apple Pay on Safari, you need to register with Apple all of your web domains that will show an Apple Pay button. Enable Apple Pay on your Stripe account


- Safari on Mac running macOS Sierra or later

- An iPhone (not an iPad; Safari doesn't support them yet) with a card in its Wallet paired to your Mac with Handoff, or a Mac with TouchID. Instructions can be found on Apple's Support site.

- Make sure you've verified your domain with Apple Pay.

- When using an iframe, its origin must match the top-level origin. Two pages have the same origin if the protocol, host (full domain name), and port (if one is specified) are the same for both pages.

Mobile Safari

- Mobile Safari on iOS 10.1 or later

- A card in your Wallet (go to Settings → Wallet & Apple Pay)

- Make sure you've verified your domain with Apple Pay.

- When using an iframe, its origin must match the top-level origin. Two pages have the same origin if the protocol, host (full domain name), and port (if one is specified) are the same for both pages.


- Chrome 61 or newer

- A saved payment card

Chrome Mobile for Android

- Chrome 61 or newer

- An activated Google Pay card or a saved card


- Microsoft Edge 16.16299 or newer

- A saved payment card

Before you start, you need to:

- Add a payment method to your browser. For example, you can save a card in Chrome, or add a card to your Wallet for Safari.

- Serve your application over HTTPS. This is a requirement both in development and in production. One way to get up and running is to use a service like ngrok.

- Verify your domain with Apple Pay, both in development and production.

Payment Request ButtonApple Pay - Payment Request ButtonGoogle Pay - Payment Request Button
What is Secure Remote Commerce? (New)

Goodbye to Amex Express Checkout, Masterpass and Visa Checkout. Those online payment setups are going away.

American Express, Discover, Mastercard and Visa — rolled out Secure Remote Commerce. It’s designed to simplify the online checkout process and further secure your personal information, whether it’s associated with a credit, debit or prepaid card.

Secure Remote Commerce (SRC) is an easy and secure way to pay online and is powered by the global payments industry to protect users’ payment information. Users can add cards from participating networks and enable click to pay simply and securely. Secure Remote Commerce delivers an enhanced online checkout experience and supports all network brands participating in SRC.

SRC is only available to US merchants.

Secure Remote Commerce
What is Strong Customer Authentication?

Strong Customer Authentication (SCA) is a new European regulatory requirement to reduce fraud and make online payments more secure. To accept payments and meet SCA requirements, you need to build additional authentication into your checkout flow.

Banks will need to start declining payments that require SCA and don’t meet these criteria. Although the regulation was introduced on 14 September 2019, we expect these requirements to be enforced by regulators over the course of 2020 and 2021.

3D Secure 2—the new version of the authentication protocol rolling out in 2019—will be the main method for authenticating online card payments and meeting the new SCA requirements. This new version introduces a better user experience that will help minimise some of the friction that authentication adds into the checkout flow.

The application supports 3D Secure 2

The Payment Intents API that uses Stripe’s SCA logic to apply the right exemption and trigger 3D Secure when necessary.

The application uses the Payment Intents API for card payments

Why Stripe?

Businesses should carefully weigh the following considerations as they evaluate integration solutions to support additional payment methods: ease of onboarding, ease of integration, and ongoing operational complexity of multiple payment methods.

Quick and simple onboarding

Adding payment methods is a tedious and complex process that requires businesses to establish both a contractual and operational relationship with the payment scheme that can take weeks. This involves company due diligence, review of technical specs, and negotiation of commercial and payout terms, to name a few. Stripe wants to makes this process a lot simpler so businesses can quickly add and scale payment method support without laboring through a new process each time. For an active user, Stripe’s onboarding process only requires activating the desired payment method in the Stripe Dashboard. This means no one-off onboarding process, no lengthy underwriting timelines, and no effort spent on tedious contract negotiations. This in turn allows businesses to be more efficient with software and business development resources. A simplified onboarding is especially valuable for platforms and marketplaces that wish to give access to various payment methods to their “sellers”: each seller will benefit from the same streamlined activation.

The easiest way to integrate a new payment method

Supporting additional payment methods is fraught with technical integration risks and complexity. This is particularly true if each payment method requires integrating either a new API or a new payment service provider. To reduce the risks and complexity of technical integration, Stripe’s Payments APIs supports accepting any supported payment method through a single API. This means businesses can develop against a unified framework that allows them to easily scale support for all payment methods. The only efforts required to add a new payment method are consistent and reduced code changes, sometimes even as limited as a single line of code. This leaves businesses with a simple and elegant integration that involves minimal development time and remains easy to maintain, regardless of which payment methods they choose to implement.

Unified monitoring, reporting, and payouts for all payment methods

Payments made with any payment method will appear consistently in the Stripe Dashboard, largely reducing operational complexity and allowing for lightweight financial reconciliation. This enables businesses to develop standardized processes for typical operations such as fulfillment, customer support, and refunds. These payment methods also work with the rest of the Stripe stack so you can enable them for subscriptions or as part of a Connect platform. With Stripe Connect in particular, the ability for platforms to manage the access of multiple payment methods for each of the marketplace members, while controlling their boarding experience, is a key advantage. Lastly, since Stripe abstracts away the complexity of dealing with each payment method provider, businesses also benefit from one single point of escalation and accountability on elements such as disputes or other exceptions they may need to address when working with payment methods from around the world.

Payment method fact sheets


Alipay is a popular digital wallet in China, operated by ANT Financial Services Group, a financial services provider affiliated with Alibaba. Launched in 2004, Alipay currently has over 450 million active users. Businesses looking to grow their presence with the increasingly active Chinese audience transacting online both within China and around the world should consider offering Alipay.

Chinese consumers using Alipay transact most frequently in e-commerce, travel, online education, online gaming, and food/nutrition. Alipay wallet holders can pay on the web or on mobile using their login credentials or their Alipay app. Another benefit of Alipay lies in the reduced risk of fraud: payments are authenticated with the customer’s login credentials and dispute rates are very low.


Apple Pay

Apple Pay is a digital wallet that enables customers to pay using payment details stored on their iPhone, iPad, or Apple Watch. Launched in 2014, Apple Pay lets users add credit or debit cards which can be used to make payments in IOS mobile apps. In 2016, Apple extended support for Apple Pay to include web payments on Safari on iPhone, iPad, or Mac OS.

To make a payment online, customers select Apple Pay as the payment method and authorize the transaction via Touch ID, PIN, or a passcode. In addition to payment information, customers can also store their billing and shipping address, email, and phone number. By automatically providing relevant customer information at the time of payment, Apple Pay reduces checkout friction and can meaningfully increase conversions for businesses driving transactions from their iOS mobile app or a website visited on the Safari browser.

Apple Pay


Bancontact, founded in 1979 and formerly know as Bancontact/Mister Cash, is a leading payment method in Belgium, where it is used in up to a third of online transactions. Bancontact payments are authenticated by customers and immediately confirmed to businesses. Bancontact is offered as a payment option by more than 80% of online businesses in Belgium, and processed more than 27 million payments in 2015.

In 2014, Bancontact introduced a mobile application to streamline its payment experience. Using their mobile app, customers can identify by scanning a QR code presented at the time of payment. Each transaction is then confirmed with a PIN. The app has seen a successful rollout and is used in more than 50% of transactions on desktop, and 90% of transactions on a mobile or tablet device Ecommerce and on-demand platforms are businesses for which Bancontact is an adapted checkout option.



Cards (Visa, Mastercard, American Express, Discover, Diners Club, JCB) are a dominant payment method globally. Credit cards are issued by banks and allow customers to borrow money with a promise to pay it back within a grace period to avoid extra fees. Consumers can accrue a continuing balance of debt, subject to being charged interest on the amount. Debit cards offer the convenience of card payments but are linked to a bank account, where funds are drawn directly from the linked account at the time of payment.

Visa and Mastercard are the largest card networks in the world. Both function exclusively as payment processing systems and do not issue cards to consumers directly. Instead, they allow banks and financial institutions to brand and distribute their cards. American Express is also a payment processing system that—unlike Visa and Mastercard—issues its own cards directly to consumers. American Express is generally adapted to high value shoppers, as the average cardholder spend is higher than Visa or Mastercard cardholders.



EPS is an Austrian online transfer payment method with ~18% market share. It’s accepted by ~80% of all online businesses in Austria and was developed jointly by the Austrian banks and Government. The payment flow closely resembles that of iDEAL or giropay.

At checkout, the customer chooses EPS, selects the name of their bank, and logs into their online banking environment. They review the pre-populated payment details, and authorize the payment. It provides a payment guarantee for businesses.



giropay is a German payment method based on online banking and introduced in 2006. It allows customers of most Sparkassen and cooperative banks in Germany to complete transactions online using their online banking environment, with funds debited from their bank account. Depending on their bank, customers confirm payments on giropay using a second factor authentication or a PIN. Payments are immediately confirmed to the business and irrevocable.

giropay accounts for just under 10% of online checkouts in Germany, and is suited to business models that require the funds to be guaranteed.


Google Pay

Google Pay is a digital wallet launched in 2015 that enables a customer to pay with any payment method saved to their Google Account. Google Pay does not allow users to hold a balance, but rather lets them store payment methods to their Google Account and use them to make payments online. It eliminates the need for users to remember and manually enter their payment information.

Google Pay works in Android native apps and across the web (every major browser, on all mobile and desktop devices). To make a payment online, customers select Google Pay as the payment method and select which payment credential they would like to use. These include credit and debit cards the customer may have used on any Google property, such as Chrome, YouTube, or the Play Store.

In addition to payment information, a business can request the customer’s billing and shipping address, and contact information. Supporting Google Pay reduces the friction points of the checkout process and increases conversions for businesses.

Google Pay


iDEAL is a Netherlands-based payment method that allows customers to complete transactions online using their bank credentials. All major Dutch banks are members of Currence, the scheme that operates iDEAL, making it the most popular online payment method in the Netherlands with a share of online payments close to 55%.

In order to pay with iDEAL, customers are redirected to their online banking environment where they can authenticate the payment using a second factor of authentication. The exact experience customers go through will depend on their bank. While the iDEAL payment flow may not appear seamless to some businesses discovering it, it is well understood and appreciated by Dutch customers. Payments are irrevocable and immediately confirmed, two strong value propositions of iDEAL for businesses.



Multibanco is an interbank network in Portugal owned and operated by Sociedade Interbancária de Serviços S.A. (SIBS) that links the ATMs of 27 banks in Portugal. Initially, when it was started in 1985, Multibanco allowed customers to pay businesses through their ATM. Now, customers can pay through either their ATM or through online banking.

In order to process a payment, the business provides the customer a page that has the Entity Number, Reference, Amount and a button allowing them to return to the business’s site. The customer then initiates a payment with these details by separately either paying via online banking with their Multibanco details or from an ATM.

Multibanco is a push-based method (as the customer sends the funds) and synchronous because charges created with chargeable Multibanco sources should succeed immediately. However, Multibanco sources will be pending until Stripe receives funds, which in some cases may take up to a few days depending on how and when the customer chooses to complete the transaction.



Przelewy24 (P24) is a Polish payment method that facilitates the transfer of funds between businesses and all major Polish banks. Przelewy24 allows consumers to pay for internet-based transactions using direct online transfers from their bank account.

In order to pay with Przelewy24, customers are redirected to an online environment where they can authenticate their payment by logging into their bank’s site. For the majority of banks, destination details (Przelewy24’s bank account) are pre-populated, though in some cases the consumer has to enter details manually. Upon successful authentication, funds are guaranteed. A business-initiated refund is the only mechanism available to reverse funds.



SOFORT is a bank transfer-based payment method with significant market share in Germany and Austria. In order to pay with SOFORT, customers are redirected to SOFORT’s site where they enter their bank login credentials. Upon authentication, SOFORT initiates a bank credit transfer from their bank account.

One important detail for businesses to realize is that although successful authorization indicates a very high likelihood of payment, funds are not guaranteed to businesses until they are actually received, which is typically 2 business days later (but can be up to 14 days later). Once received, payments cannot be reversed except by Business-initiated refunds. For the sale of low value or high margin items, businesses typically consider the initial authorization to be authoritative and do not wait for the receipt of funds.


WeChat Pay

As China’s largest internet company, Tencent offers a number of web and mobile products across social networking, communications, media, games, finance, and more. WeChat, owned by Tencent, is China’s leading mobile app with over 1 billion monthly active users.

WeChat is a leading lifestyle ‘super app’ used for messaging between people, as well as connecting people, services and businesses in China and around the world through a number of e-commerce and social features inside the app. WeChat Pay, the payment wallet inside the WeChat app, has over 800 million users.

Chinese consumers can use WeChat Pay to pay for goods and services inside of businesses’ apps and websites. WeChat Pay users buy most frequently in gaming, e-commerce, travel, online education and food/nutrition

WeChat Pay
Quick Start for ASP.NET Web Forms

1. Download the latest source from the marketplace.

2. Install Stripe NuGet package to your web application project.

3. In the Web.config file, add an appSettings section with your publishable, secret keys and SRC Checkout Id:


<add key="StripeSecretKey" value="YourStripeSecretKey" />

<add key="StripePublishableKey" value="YourStripePublishableKey" />

<add key="StripeSrcCheckoutId" value="YourStripeSrcCheckoutId" />


Get your keys on https://dashboard.stripe.com/apikeys (live) or https://dashboard.stripe.com/test/apikeys (test)

Activate payment methods and get your Secure Remote Commerce Checkout Id on https://dashboard.stripe.com/account/payments/settings

4. Copy folders (assets, Methods, UserControls) with files to your project. (use same directory).

5. Insert Checkout.ascx user control to your web page (ex:Default.aspx).

6. Run the application.

Quick Start for ASP.NET Core MVC

1. Download the latest source from the marketplace.

2. Install Stripe NuGet package to your web application project.

3. In the appsettings.json file, add a StripeSettings section with your publishable, secret keys and SRC Checkout Id:

"StripeSettings": {

"StripeSecretKey": "YourStripeSecretKey"

"StripePublishableKey": "YourStripePublishableKey"

"StripeSrcCheckoutId": "YourStripeSrcCheckoutId"


Get your keys on https://dashboard.stripe.com/apikeys (live) or https://dashboard.stripe.com/test/apikeys (test)

Activate payment methods and get your Secure Remote Commerce Checkout Id on https://dashboard.stripe.com/account/payments/settings

4. Copy files to your project.

5. Run the application.

Test Cards - 3D Secure
Number 3D Secure usage Description
4000 0000 0000 3220 Required 3D Secure 2 authentication must be completed for the payment to be successful. By default, your Radar rules will request 3D Secure authentication for this card.
4000 0000 0000 3063 Required 3D Secure authentication must be completed for the payment to be successful. By default, your Radar rules will request 3D Secure authentication for this card.
4000 0084 0000 1629 Required 3D Secure authentication is required, but payments will be declined with a card_declined failure code after authentication. By default, your Radar rules will request 3D Secure authentication for this card.
4000 0000 0000 3055 Supported 3D Secure authentication may still be performed, but is not required. By default, your Radar rules will not request 3D Secure authentication for this card.
4242 4242 4242 4242 Supported 3D Secure is supported for this card, but this card is not enrolled in 3D Secure. This means that if 3D Secure is requested by your Radar rules, the customer will not go through additional authentication. By default, your Radar rules will not request 3D Secure authentication for this card.
3782 8224 6310 005 Not supported 3D Secure is not supported on this card and cannot be invoked. The PaymentIntent will proceed without performing authentication.
Test Cards - Brands
Number Brand CVC Date
4242 4242 4242 4242 Visa Any 3 digits Any future date
4000 0566 5566 5556 Visa (debit) Any 3 digits Any future date
5555 5555 5555 4444 Mastercard Any 3 digits Any future date
2223 0031 2200 3222 Mastercard (2-series) Any 3 digits Any future date
5200 8282 8282 8210 Mastercard (debit) Any 3 digits Any future date
5105 1051 0510 5100 Mastercard (prepaid) Any 3 digits Any future date
3782 822463 10005 American Express Any 4 digits Any future date
3714 496353 98431 American Express Any 4 digits Any future date
6011 1111 1111 1117 Discover Any 3 digits Any future date
6011 0009 9013 9424 Discover Any 3 digits Any future date
3056 9300 0902 0004 Diners Club Any 3 digits Any future date
3622 7206 2716 67 Diners Club (14 digit card) Any 3 digits Any future date
3566 0020 2036 0505 JCB Any 3 digits Any future date
6200 0000 0000 0005 UnionPay Any 3 digits Any future date
International Test Cards
4000000760000002 Brazil (BR) Visa
4000001240000000 Canada (CA) Visa
4000004840008001 Mexico (MX) Visa
4000000400000008 Austria (AT) Visa
4000000560000004 Belgium (BE) Visa
4000002030000002 Czech Republic (CZ) Visa
4000002080000001 Denmark (DK) Visa
4000002330000009 Estonia (EE) Visa
4000002460000001 Finland (FI) Visa
4000002500000003 France (FR) Visa
4000002760000016 Germany (DE) Visa
4000003000000030 Greece (GR) Visa
4000003720000005 Ireland (IE) Visa
4000003800000008 Italy (IT) Visa
4000004280000005 Latvia (LV) Visa
4000004400000000 Lithuania (LT) Visa
4000004420000006 Luxembourg (LU) Visa
4000005280000002 Netherlands (NL) Visa
4000005780000007 Norway (NO) Visa
4000006160000005 Poland (PL) Visa
4000006200000007 Portugal (PT) Visa
4000006420000001 Romania (RO) Visa
4000006430000009 Russian Federation (RU) Visa
4000007240000007 Spain (ES) Visa
4000007520000008 Sweden (SE) Visa
4000007560000009 Switzerland (CH) Visa
4000008260000000 United Kingdom (GB) Visa
4000058260000005 United Kingdom (GB) Visa (debit)
4000000360000006 Australia (AU) Visa
4000001560000002 China (CN) Visa
4000003440000004 Hong Kong (HK) Visa
4000003560000008 India (IN) Visa
4000003920000003 Japan (JP) Visa
3530111333300000 Japan (JP) JCB
4000004580000002 Malaysia (MY) Visa
4000005540000008 New Zealand (NZ) Visa
4000007020000003 Singapore (SG) Visa
Test Cards for Secure Remote Commerce
Brand Number CVC Date Billing Address
Mastercard 5506900140100305 [Any] [Any] [Any]
Mastercard 5506900140100107 [Any] [Any] [Any]
Stripe Atlas

Stripe Atlas is a powerful, safe, and easy-to-use platform for forming a company. By removing lengthy paperwork, legal complexity, and numerous fees, Stripe Atlas helps you launch your startup from anywhere in the world.

If you have not started Stripe Atlas yet, use our invitation link to set up your company in US with Stripe Atlas https://atlas.stripe.com/invite/8ykr8gmr


Our support mainly covers pre-sale questions, basic code-implementation questions and bug reports through our support email: [email protected]

To be eligible to request the technical support you must have purchased the utility and have at least one license.

When you send a support request please do describe your issue with more details. If you can provide a link to your developing site and source code then this can help us to solve your issue more faster.

Upon submitting a bug report, we will take it as a high priority case and we will release the fix with upcoming releases or we can send the fix to a customer via email if the customer needs the fix urgently.

We do not support individual customization, but we tend to advise and show direction on customization requests that customers ask.

Customers are always welcome to ask for feature requests and give suggestions that can improve our premium utilities. All feature requests definitely will be considered and the new features will be released with upcoming releases.

Our support generally operates from 9AM – 6PM GMT-5 time from Monday – Friday. The support response time is 24-72 hours but normally we tend to settle the questions as earlier as possible(even earlier than 24 hours when possible).

Hire Us

Techtolia brings experience working with Stripe’s Payments as well as expertise in Product Development, DevOps, and User Experience to quickly deploy Stripe integrations at scale.

As a partner, we can increase velocity while keeping your core team focused on your product. Partnering with an outside team means that your core product team can prioritize features tied to customer value or competitive differentiation.

If you need customization or custom web development, please provide your project details with Your Name - Your Company Info - Contact Info - Your Budget and one of our well established development partners will get back to you with a free quote. Our contact email: [email protected]