javascript — Stripe Subscription JS

Выпуски Stripe Subscription JS

Я использую следующий код для создания чередующегося клиента и создания подписки для этого клиента

  stripe.subscriptions.create({ customer: customer_id, items: [ { plan: plan_id }, ], trial_period_days: 7, expand: ['latest_invoice.payment_intent'], }, function (err, subscription) { stripe.customers.create({ email: email, source: token, metadata: { userid: userId } }, function (err, customer) { 

Я хочу, чтобы пользователи подписались на бесплатную пробную версию на 1 неделю, ежемесячный тариф (они платят через 7 дней)

Я сталкиваюсь со следующими проблемами

  1. Stripe не проверяет номер кредитной карты на Prod. Вы можете ввести любой номер кредитной карты, и платеж проходит

Может кто-нибудь, пожалуйста, помогите?

Вот код клиента

 submit(event) { event.preventDefault(); if ( this.props.planid) { setTimeout(() ={amp}gt; { this.setState({loading: true}); }, 0); var planId = this.props.planid; this.props.stripe.createToken({name: "Name"}).then( token ={amp}gt; { axios.post("/charge/process/"   planId, { token: token.id }).then(response ={amp}gt; { if (response.data.status === "ok") { this.setState({complete: true, loading: false}) } else if (response.data.error) { this.setState({error: response.data.error, loading: false}); } }).catch(error ={amp}gt; { this.setState({error: "There was an error.", loading: false}); }); }) } else { this.setState({error: "Invalid plan id", loading: false}); } } render() { if (this.state.loading) return ({amp}lt;Spinner /{amp}gt;) if (this.state.complete) return ({amp}lt;p align="center"{amp}gt;Thanks for purchasing! You can now access the {amp}lt;a href="/books"{amp}gt;book summaries{amp}lt;/a{amp}gt;.{amp}lt;/p{amp}gt;); var error = ""; if (this.state.error) { error = ({amp}lt;p{amp}gt;{this.state.error}{amp}lt;/p{amp}gt;); } return ( {amp}lt;div className="CheckoutForm" style={{width: "400px", margin: "0 auto", "textAlign": "center"}}{amp}gt; {error} {amp}lt;fieldset{amp}gt; {amp}lt;legend className="card-only"{amp}gt;Pay with card{amp}lt;/legend{amp}gt; {amp}lt;div className="container"{amp}gt; {amp}lt;div id="example4-card" className="StripeElement StripeElement--empty"{amp}gt; {amp}lt;div style={{width: "300px", margin: "0 auto"}}{amp}gt; {amp}lt;CardElement/{amp}gt; {amp}lt;br/{amp}gt; {amp}lt;br/{amp}gt; {amp}lt;button onClick={this.submit.bind(this)} className="btn btn-primary purchasebtn"{amp}gt;Purchase{amp}lt;/button{amp}gt; {amp}lt;/div{amp}gt; {amp}lt;/div{amp}gt; {amp}lt;/div{amp}gt; {amp}lt;/fieldset{amp}gt; {amp}lt;/div{amp}gt; ); } 
Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector