PaymentRequestForm для интеграции полос не отображается в браузере - PullRequest
0 голосов
/ 02 мая 2018

Я интегрирую реагирующие полосы для целой полосы для моего приложения. Я использовал SplitForm компонент. После интеграции у меня есть все детали формы и кнопка оплаты. Когда я нажимаю кнопку оплаты, я получаю токен для реквизитов карты. Но форма запроса на оплату не отображается в моем браузере. Как отправить сумму от paymentrequest?

Я прочитал документы, но не нашел нужной информации по этому вопросу. Мой код ниже:

 <StripeProvider apiKey="pk_live_29VEENvMXTK8wZCb8xI6EO0B">                   
    <Checkout />                
 </StripeProvider>



class _PaymentRequestForm extends React.Component{
 constructor(props) {
 super(props);
const paymentRequest = props.stripe.paymentRequest({
  country: 'US',
  currency: 'usd',
  total: {
    label: 'Demo total',
    amount: 1000,
  },
});

paymentRequest.on('token', ({complete, token, ...data}) => {
  console.log('Received Stripe token: ', token);
  console.log('Received customer information: ', data);
  complete('success');
});

paymentRequest.canMakePayment().then(result => {
  this.setState({canMakePayment: !!result});
});

this.state = {
  canMakePayment: false,
  paymentRequest,
};
}
  render() {
 return this.state.canMakePayment ? (
  <PaymentRequestButtonElement
    className="PaymentRequestButton"
    paymentRequest={this.state.paymentRequest}

  />
) : null;
  }
  }
const PaymentRequestForm = injectStripe(_PaymentRequestForm);
class Checkout extends React.Component {
constructor() {
super();
this.state = {
  elementFontSize: window.innerWidth < 450 ? '14px' : '18px',
};
 }
render() {
const {elementFontSize} = this.state;
return (
  <div className="Checkout">
    <Elements>
    <PaymentRequestForm />
    </Elements>
  </div>
  );
 }

 }

1 Ответ

0 голосов
/ 03 мая 2018

Вам нужно будет хранить amount где-то еще и предоставить его обоим объекту PaymentRequest, а также отправить его вместе с токеном на ваш код на стороне сервера, который создаст Charge.

Ввиду того, что кнопка «Запрос на оплату» не появляется, ответить на нее сложно без дополнительной информации, но вы должны увидеть ее, если посетите страницу в Chrome с сохраненной (тестовой) картой.

...