Я использовал 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, я полагаю (но не уверен), что он обработал это автоматически?