This project contains the code behind the single-page store at Stripe Shop

  • By Stripe Archive
  • Last update: Dec 21, 2022
  • Comments: 6



This project contains the code behind the single-page store at Stripe Shop. We ported the backend to Parse's Code Cloud so you can easily launch and modify your own copy. (Also, we didn't want to open-source the photo of Kat and Thairu, so we decided to take a replacement.)

Feel free to take whatever pieces you find useful! We ask only that you don't use it to sell actual Stripe T-shirts . Improvements are welcome — just open a pull request.

The details

We have a running live demo of the app. It's running in Stripe's test mode, so you'll have to use 4242-4242-4242-4242 as the card (and we won't actually send you a shirt, sorry!).

Getting up and running

To get your own instance of Shop up and running, you'll need to do the following:

  1. Create a new Parse app.
  2. Copy config/global.json to config/local.json.
  3. Add the Application ID and Master Key to config/local.json.
  4. Set up the parse command line utility (you may find their docs helpful).
  5. Create a subdomain for your app. The same docs should be helpful.
  6. Run parse deploy. You now have a running Shop!

Not required to get the app running, but you'll probaby also want to:

  1. Create your own Stripe account and puts its keys into cloud/config.js. (By default, Shop uses a fixed test account.)
  2. Put your Google analytics tracking information into public/assets/js/ga.js.




  • 1

    Uncaught ReferenceError: _ is not defined

    After changing cloud/views/index.ejs file to use non minified shop.js

    <script src="/assets/js/shop.min.js?1377809478"></script>
    <script src="/assets/js/shop.js"></script>

    Getting Uncaught ReferenceError on below line

    var itemTemplate = _.template($('#item-template').html());

    in here

  • 2

    Error with address validation or something

    When a payment request is made, you'll get error message "Oops... address must be at least 0 characters long."

    Try it for yourself,

  • 3

    Demo site is down is responding with

    This site can’t be reached’s server IP address could not be found.

    This repo hasn't been modified in 5 years. If it's deprecated - it might help potential stripe users if you mark it clearly as such.

  • 4

    Enable Sourcegraph

    I want to use Sourcegraph for shop code search, browsing, and usage examples. Can an admin enable Sourcegraph for this repository? Just go to (It should only take 30 seconds.)

    Thank you!

  • 5

    Error syntax

    In /cloud/model.js line 22 states the field should be longer than max_length, rather than shorter.

    Line 21 - 23:

    if (spec.max_length && value.length > spec.max_length) {
        return name + ' must be at least ' + value.length + ' characters long.';
  • 6

    Different priced items

    We are trying to configure to have 2 items with different prices, they add and total in the cart correctly but the description price stays the same.

    SKU 1 is correct at $14/each SKU 2 should be shown as $18/each


    How can we modify the code to achieve this?

    I also noticed that the total that is passed thru to stripe is also incorrect...