将元数据信息传递给 Stripe createToken 调用
Passing metadata info to Stripe createToken call
我在 javascript 应用程序中使用 Stripe.js 时遇到问题。我成功地像 explained here in the doc 一样调用了 cart.createToken
,但我找不到向 Stripe 提供 metadata
信息的方法。
这是我传递的数据:
const data = {
number: $form.find('[data-stripe=number]').val(),
exp_month: $form.find('[data-stripe=exp_month]').val(),
exp_year: $form.find('[data-stripe=exp_year]').val(),
cvc: $form.find('[data-stripe=cvc]').val(),
name: $form.find('[data-stripe=name]').val(),
address_line1: $form.find('[data-stripe=address_line1]').val(),
address_city: $form.find('[data-stripe=address_city]').val(),
address_state: $form.find('[data-stripe=address_state]').val(),
address_zip: $form.find('[data-stripe=address_zip]').val(),
address_country: $form.find('[data-stripe=address_country]').val(),
metadata: {
vat_number: $form.find('[data-stripe=vat_number]').val()
}
};
stripe.card.createToken(data, (status, response) => { ... })
我在我的 Chrome 网络检查器中成功地看到 vat_number
信息被提供给 stripe
key=pk_test_foobar&payment_user_agent=stripe.js%2F81eca10&card[number]=4242+4242+4242+4242&card[exp_month]=12&card[exp_year]=19&card[cvc]=234&card[name]=GDG&card[address_line1]=20&card[address_city]=P&card[address_zip]=75004&card[address_country]=F&card[metadata][vat_number]=FR309483094830948
但不幸的是,在 Stripe 的回答中,metadata
字段仍然是一个空对象 {}
。我在代码的响应中非常需要它,我怎么能确定 Stripe 成功拥有它。
感谢您的帮助
Metadata can only be added to updatable objects. As tokens不可更新,创建令牌时不能提供元数据。
根据您要提供的元数据类型,您应该在 creating a charge or a customer 时使用卡令牌传递 metadata
参数。
我在 javascript 应用程序中使用 Stripe.js 时遇到问题。我成功地像 explained here in the doc 一样调用了 cart.createToken
,但我找不到向 Stripe 提供 metadata
信息的方法。
这是我传递的数据:
const data = {
number: $form.find('[data-stripe=number]').val(),
exp_month: $form.find('[data-stripe=exp_month]').val(),
exp_year: $form.find('[data-stripe=exp_year]').val(),
cvc: $form.find('[data-stripe=cvc]').val(),
name: $form.find('[data-stripe=name]').val(),
address_line1: $form.find('[data-stripe=address_line1]').val(),
address_city: $form.find('[data-stripe=address_city]').val(),
address_state: $form.find('[data-stripe=address_state]').val(),
address_zip: $form.find('[data-stripe=address_zip]').val(),
address_country: $form.find('[data-stripe=address_country]').val(),
metadata: {
vat_number: $form.find('[data-stripe=vat_number]').val()
}
};
stripe.card.createToken(data, (status, response) => { ... })
我在我的 Chrome 网络检查器中成功地看到 vat_number
信息被提供给 stripe
key=pk_test_foobar&payment_user_agent=stripe.js%2F81eca10&card[number]=4242+4242+4242+4242&card[exp_month]=12&card[exp_year]=19&card[cvc]=234&card[name]=GDG&card[address_line1]=20&card[address_city]=P&card[address_zip]=75004&card[address_country]=F&card[metadata][vat_number]=FR309483094830948
但不幸的是,在 Stripe 的回答中,metadata
字段仍然是一个空对象 {}
。我在代码的响应中非常需要它,我怎么能确定 Stripe 成功拥有它。
感谢您的帮助
Metadata can only be added to updatable objects. As tokens不可更新,创建令牌时不能提供元数据。
根据您要提供的元数据类型,您应该在 creating a charge or a customer 时使用卡令牌传递 metadata
参数。