diff options
| author | Wes Bos <wesbos@gmail.com> | 2018-01-30 12:41:01 -0500 |
|---|---|---|
| committer | Wes Bos <wesbos@gmail.com> | 2018-01-30 12:41:01 -0500 |
| commit | cd0b07b3adb36fb5ec098f9e511ab45d774fee7b (patch) | |
| tree | a203e5010219ccea1acc6bbd2c0a4bcfa0a78615 /frontend/components/TakeMyMoney.js | |
| parent | 0a1648bf47490b312169c531aeb51ef4725e8d2e (diff) | |
Move to Prisma Backend
Diffstat (limited to 'frontend/components/TakeMyMoney.js')
| -rw-r--r-- | frontend/components/TakeMyMoney.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/frontend/components/TakeMyMoney.js b/frontend/components/TakeMyMoney.js new file mode 100644 index 0000000..d68cca1 --- /dev/null +++ b/frontend/components/TakeMyMoney.js @@ -0,0 +1,43 @@ +import { Component } from 'react'; +import StripeCheckout from 'react-stripe-checkout'; +import { CREATE_ORDER_MUTATION, CURRENT_USER_QUERY } from '../queries'; +import { graphql, compose } from 'react-apollo'; + + +class TakeMyMoney extends Component { + onToken = async (res) => { + const token = res.id; + const userId = this.props.currentUserQuery.user.id; + const itemId = this.props.id; + console.log(`Going to make a purchase with ${token}`); + console.log(`THe person that bought this was ${userId}`) + console.log(`The item id is ${itemId}`) + const charge = await this.props.createOrder({ variables: { token, userId, itemId }}); + alert(`Back from the charge! ${charge.id}`); + console.log(charge); + + } + render() { + const user = this.props.currentUserQuery.user || {}; + const email = user.email || ''; + return ( + <div> + <StripeCheckout + amount={this.props.amount} + name={this.props.name} + description={this.props.description} + token={this.onToken} + stripeKey="pk_lclTtThFp8CnO3QtEZSd8HA9mFUps" + currency="USD" + email={email} + > + {this.props.children} + </StripeCheckout> + </div> + ) + } +} + +const userEnhancer = graphql(CURRENT_USER_QUERY, { name: 'currentUserQuery' }); +const createOrderEnhancer = graphql(CREATE_ORDER_MUTATION, { name: 'createOrder' }); +export default compose(userEnhancer, createOrderEnhancer)(TakeMyMoney); |
