最终目的是将付款页面重定向到成功页面,但这在服务器上发生,我从Stripe api得到了对象响应,我想有条件地将其发送到frontend(React),以便我可以将页面或直接从后端执行此操作
条纹按钮
<div className={styles.buttonsection}>
<StripeCheckout
amount={total*100}
label="Credit Card"
name="Boston Maids"
email=""
token={ (token) =>{axios.post('/api/stripe', token)}}
stripeKey={"*********************"}
/>
server.js
app.post('/api/stripe', async (req, res) => {
const charge = await stripe.charges.create({
amount: 5000,
currency: 'usd',
description: 'Cleaning Services',
source: req.body.id
}).catch(console.error).then(charge =>{if (charge) {
console.log(charge);
} ```
答案 0 :(得分:0)
创建一个新方法来调用后端API。在该API的成功回调中,将结果设置为state,然后处理您要执行的操作。
让我们说,在上面的示例中,如果您要填充令牌,请在状态中从结果中设置令牌,并使用this.state.token
(如果您的状态键是来自后端的令牌的令牌)下方:
<StripeCheckout
amount={total*100}
label="Credit Card"
name="Boston Maids"
email=""
token={this.state.token}
stripeKey={"pk_test_yBMj0cqYIXUsXeJ0lnVBil1T"}
/>
答案 1 :(得分:0)
我只是在
```const handlerToken = async (token, total2) => {
const response = await axios.post("/api/stripe", {
token,
total2 ```
``` <StripeCheckout
amount={total * 100}
label="Credit Card"
name="Boston Maids"
email=""
token={handlerToken}
stripeKey={"*****************"}
/> ```