Comments (4)
Hey @JonathanWbn I think I know what's going on here: each Elements
component has its own instance of the Stripe "elements" object[1] that's used to set up an Element or group of Elements.
If you're calling createToken
at say the App
component level, you'll get this error because createToken
doesn't know where to find the elements instance. Instead, you want to do this at the CheckoutForm
component level so that the elements instance is correctly inherited from Elements
—injectStripe
sets up this.props.stripe
to pass the elements instance from the nearest parent Element.
Hopefully that makes sense! If you're still having trouble I'd love to see an example of your code to help diagnose further.
[1] https://stripe.com/docs/stripe.js#stripe-elements
from react-stripe-elements.
Hey, @fred-stripe, thanks for your answer, I understand your point, but I am already calling this.props.stripe.createToken on the CheckoutForm level. I have a Payment component that calls createToken and has injectStripe as a hoc.
Maybe it is of importance that in both tags, I am using the same Payment form:
<StripeProvider>
<App>
<Elements>
<PaymentComponent> // this one has stripe injected and calls createToken
</Elements>
<Elements>
<PaymentComponent> // this one has stripe injected and calls createToken
</Elements>
</App>
</StripeProvider>
Would appreciate if you could reopen.
from react-stripe-elements.
@JonathanWbn Jonathan, were you ever able to get multiple CardElement components to work? I am doing something similar where I want to instantiate multiple CheckoutForms with their addresses being all the same, but different cards and charges.
I want to know if this is not supported by stripe before i gut my code to do this.
from react-stripe-elements.
Hey @mmmikeal, frankly I don't remember if I ever got it to work.
But I am still using this package and I can tell you that I am using multiple payment forms wrapped into individual <Elements>
components. So I can't tell you about the case from when I filed this issue, but looking at it now, I am basically doing the exact same thing right now and it does work.
from react-stripe-elements.
Related Issues (20)
- CardNumberElement Placeholder Not Working HOT 1
- CardCvcElement onComplete fires after three digits for AMEX card HOT 2
- docs: confirmCardPayment with split card elements needs a docs update HOT 1
- Payment Fields are not clickable in Samsung device HOT 2
- My Stripe promise with React never resolves even after trying a timeout HOT 1
- 3D Secure Test Payment Screen iFrame - Any way to preview or control width/height? HOT 1
- Not able to customize CSS of CardElement HOT 1
- Split Card Number Not Inserted with 1Password Autofill HOT 1
- Elements locale option not localizing HOT 5
- When click on stripe element its getting blur HOT 1
- About scan card feature in mobile device HOT 1
- PaymentRequestButton Does Not Load On Safari PWA HOT 1
- Stripe console message : parameter: betas is not a recognized parameter. HOT 2
- Connection Failure text in CardNumberElement HOT 3
- loadStripe does not seem to work
- styling CardElement HOT 1
- Add support for extra types of buttons for Apple Pay HOT 1
- Elements tag doesn't accept locale HOT 2
- Add a full stripe elements integration example HOT 1
- PaymentRequestButtonElement Integration Error with saved browser card HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-stripe-elements.