Skip to content

funnelkake/stripe-payment-modal-react-example

main
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 

Stripe Payment Modal React Demo

This sample project shows how to implement Stripe payments & subscriptions within a modal dialog using PaymentModal and Create React App.

Demo

See a hosted version of the React sample project here.

The hosted demo is running in Stripe test mode. Use 4242424242424242 as a test card number with any CVC + future expiration date.

Getting Started

This project was bootstrapped with Create React App.

Installation

To see the Stripe modals in action, you need to create a free PaymentModal account.

  1. Create a PaymentModal site
  2. Clone this repo
  3. In the project directory, run cp .env.sample .env
  4. Open .env and update REACT_APP_PAYMENT_MODAL_SITE_ID with your PaymentModal site id
  5. Run yarn to download npm packages
  6. Run yarn start to open the React app in development mode
  7. Open http://localhost:3000 to view it in the browser
  8. Update the products array in Demo.jsx to use any HTML element attributes to attach click listeners to open your modals

This sample and hosted demo project uses the following HTML element attributes, but you can use any valid HTML selector. Be sure to update the selectors in your PaymentModal account.

  • buttonId creates a modal with a Stripe payment intent using an amount.
  • className creates a modal with a Stripe payment intent using a Stripe price id.
  • dataSubscriptionCheckout creates a modal with a Stripe subscription using a Stripe price id.

Learn More

You can learn more about configuring Stripe modal properties in the PaymentModal documentation.

You can learn more about the React app in the Create React App documentation.

Get Support

If you found a bug or want to suggest a new [feature/use case/sample], please file an issue.

If you have questions, comments, or need help with the code, we're here to help:

on Twitter at @paymentmodal on Stack Overflow at the stripe-payment-modal tag by email