JS: переключение с Stripe Checkout на Stripe Elements - PullRequest
0 голосов
/ 15 мая 2019

Я использовал Stripe Checkout (https://stripe.com/docs/payments/checkout), и теперь я наконец перехожу на Stripe Elements (https://stripe.com/payments/elements).

Я отправляю поля имени и адреса как tokenData вот так:

let tokenData = {
    name,address_line1, address_line2, address_city, address_state,address_zip, address_country
};


stripe.createToken(card, tokenData).then(function(result) {
  if (result.error) {
    // Inform the customer that there was an error.
   var errorElement = document.getElementById('card-errors');
    errorElement.textContent = result.error.message;
  } else {
    // Send the token to your server.
    stripeTokenHandler(result.token);
  }
});

Это работает, и платежи в песочнице проходят, но когда я проверяю полосу сетевых вызовов для создания токена, похоже, что ему все равно, какое имя или адрес введено, и все равно создает токен, пока карта действительна:

{
  "id": "tok_1EaOS2FLdOnSFAAaFkMjkKmu",
  "object": "token",
  "card": {
    "id": "card_1EaOS2FLdOnSFAAaHXi9klGu",
    "object": "card",
    "address_city": "asd",
    "address_country": "ads",
    "address_line1": "ads",
    "address_line1_check": "unchecked",
    "address_line2": "",
    "address_state": "sad",
    "address_zip": "11212",
    "address_zip_check": "unchecked",
    "brand": "Visa",
    "country": "US",
    "cvc_check": "unchecked",
    "dynamic_last4": null,
    "exp_month": 12,
    "exp_year": 2022,
    "funding": "credit",
    "last4": "4242",
    "metadata": {
    },
    "name": "asdd",
    "tokenization_method": null
  },
  "client_ip": "122.122.122",
  "created": 1557931886,
  "livemode": false,
  "type": "card",
  "used": false
}

Для Stripe Checkouts, я полагаю (но не уверен), что он обработал это автоматически?

1 Ответ

1 голос
/ 15 мая 2019

Stripe проверит номер карты, дату истечения срока действия и CVC (если требуется) в Элементах, но не подтвердит адрес при передаче на createToken.

Большинству банков не требуется адрес при попытке снятия средств, поэтому проверка адреса остается на усмотрение вашей организации.

Legacy Checkout провела некоторую проверку адресов, но только базовую проверку и только потому, что элементы пользовательского интерфейса контролировались Stripe.

...