2

在我的 javascript 应用程序中使用 Stripe.js 时遇到问题。我成功地调用了文档中解释的here,但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信息被提供给条带

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 成功拥有它。

谢谢你的帮助

4

1 回答 1

2

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

根据您要提供的元数据类型,您应该在使用卡令牌创建费用客户metadata时传递参数。

于 2017-01-16T12:39:17.220 回答