【发布时间】:2022-01-14 16:47:02
【问题描述】:
在一些在线课程的预订网站的这些代码行中,我正在为卖家创建一个条带快递帐户和一个包含将用户(卖家)发送到流程中的 url 的 accountLink 对象。
我在帐户链接 url(代码中的 LINK)中传递用户电子邮件时遇到问题,我在表单中预填了我的个人电子邮件,而不是我用于测试的用户电子邮件。
import User from "../models/user"
import Stripe from "stripe"
import queryString from "query-string"
const stripe = Stripe(process.env.STRIPE_SECRET)
export const createConnectAccount = async (req, res) => {
// 1. find user from db
const user = await User.findById(req.user._id).exec()
//2. if user don't have stripe_account_id yet, create now
if (!user.stripe_account_id) {
const account = await stripe.accounts.create({type: 'express');
user.stripe_account_id = account.id
user.save()
}
// 3. create login link based on account id (for frontend to complete onboarding)
let accountLink = await stripe.accountLinks.create({
account: user.stripe_account_id,
refresh_url: process.env.STRIPE_REDIRECT_URL ,
return_url: process.env.STRIPE_REDIRECT_URL ,
type: 'account_onboarding'
})
// prefill any info such as email
accountLink = Object.assign(accountLink, {
'stripe_user[email]': user.email,
});
const LINK = `${accountLink.url}?${queryString.stringify(accountLink)}`
res.send(LINK)
}
我也尝试过这种语法,但没有任何改变:
const account = await stripe.accounts.create({type: 'express' , email: user.email});
在发送的链接中预填用户电子邮件的正确语法是什么?
【问题讨论】: