React Base Fiddle (JSX)

Starting point for creating JSFiddles with React. This uses React with Addons.

by _alexander_

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.js"></script>
<script src="https://fb.me/react-with-addons-0.14.0.js"></script>
<script src="https://fb.me/react-dom-0.14.0.js"></script>
<script src="https://js.stripe.com/v2/"></script>
<script src="https://facebook.github.io/react/js/jsfiddle-integration-babel.js"></script>

<div id="container">
    <!-- This element's contents will be replaced with your component. -->
</div>

JavaScript 1.7

var StripeComponent = React.createClass({
	getInitialState: function () {
  	return {
    	card: {
      number: '',
      cvc: '',
      exp_month: '',
      exp_year: ''
      }
		}    
  },

  componentDidMount: function () {
  	Stripe.setPublishableKey(); // set your test public key
  },

  handleSubmit: function (e) {
    e.preventDefault();
    Stripe.createToken(this.state.card, function (status, response) {
    	console.log( status, response );      
    });
  },
    
	handleChange: function (e) {
    let card = this.state.card;
    card[e.target.name] = e.target.value
    this.setState(card);
	},

  render: function() {
    return <form onSubmit={ this.handleSubmit }>
      <input type="text" size="20" name="number" onChange={this.handleChange} />
      <input type="text" size="4" name="cvc" onChange={this.handleChange} />
      <input type="text" size="2" name="exp_month" onChange={this.handleChange} />
      <input type="text" size="4" name="exp_year" onChange={this.handleChange} />
      <button type="submit">Pay</button>
    </form>
  }
});

ReactDOM.render(
	<StripeComponent />, document.getElementById('container')
);