我正在为我的应用程序集成 react-stripe-elements 以交互条纹。我使用了一个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>
);
}
}