2017-01-16 45 views
1

我在我的JavaScript应用程序中使用Stripe.js时遇到了一个问题。我成功拨打cart.createToken,例如explained here in the doc,我无法找到将metadata信息发送给Stripe的方法。将元数据信息传递给条带createToken调用

这里是我传递的数据:

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信息给予条纹

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 

但不幸的是,在条纹的答案, metadata字段仍然是空的对象{}。我在代码中的响应中非常需要它,我怎么能确定Stripe成功了。

感谢您的帮助

回答

2

Metadata只能添加到更新的对象。由于tokens不可更新,因此创建令牌时无法提供元数据。

根据您要提供的元数据类型,您应该在带有卡令牌的creating a chargecustomer时通过metadata参数。

+0

好的,不知道。感谢你的回答。 – guillaumepotier