title: Stripe Payments: Source vs Token/Card?
body: <p>I'm working on setting up recurring payments with stripe. I'm using react-stripe-elements to collect card information and it looks like there's two ways to save a card for later:</p>
  
  <ul>
  <li><code>this.props.stripe.createToken()</code></li>
  <li><code>this.props.stripe.createSource()</code></li>
  </ul>
  
  <p>Then create a customer on the backend:</p>
  
  <ul>
  <li><code>stripe.customers.create({ source: tokenId })</code></li>
  <li><code>stripe.customers.create({ source: sourceId })</code></li>
  </ul>
  
  <p>The result in stripe dashboard:</p>
  
  <ul>
  <li><p>tokenId</p>
  
  <ul>
  <li>tokenId card
  <a href="https://i.stack.imgur.com/T1nAF.png" rel="noreferrer"><img src="https://i.stack.imgur.com/T1nAF.png" alt="enter image description here"></a></li>
  </ul></li>
  <li><p>sourceId</p>
  
  <ul>
  <li>sourceId source</li>
  </ul></li>
  </ul>
  
  <p><a href="https://i.stack.imgur.com/dknY8.png" rel="noreferrer"><img src="https://i.stack.imgur.com/dknY8.png" alt="enter image description here"></a></p>
  
  <ul>
  <li>sourceId card</li>
  </ul>
  
  <p><a href="https://i.stack.imgur.com/9dzhI.png" rel="noreferrer"><img src="https://i.stack.imgur.com/9dzhI.png" alt="enter image description here"></a></p>
  
  <p>My question is what is the difference between these two patterns? Should I be using one instead of the other? I notice in the tokenId pattern the card says cvc/zip check passed, while the card doesn't say that in the sourceId pattern. But the sourceId pattern also explicitly says the card is chargeable and reusable, does that imply that the card saved from using the tokenId pattern is not reusable? Are the logs/events in the sourceId card more useful? The return object structure for the two patterns is also different.</p>
  
  <p>Any help would be much appreciated, thanks in advance!</p>