Как получить последние 4 цифры ПЕРЕД отправкой данных с помощью Stripe - PullRequest
0 голосов
/ 03 июля 2018

Чего я хочу добиться, так это иметь возможность показать последние 4 цифры карты в кратком изложении перед выполнением отправки.

У меня есть страница Checkout по шагам (4), на 3-м шаге я заполняю информацию о карте, когда я перехожу к четырем шагам, я хочу показать сводку, которая показывает последние 4 цифры карты.

Во всех моих исследованиях все, что я обнаружил, показывая мне информацию о карте (last4), после отправки, через stripeToken или клиента, например, в этом вопросе Получение последних 4-х цифр карты с помощью Customer Object - Stripe API с PHP

// Get the credit card details submitted by the form
$token = $_POST['stripeToken'];

// Create a Customer
$StripeCustomer = \Stripe\Customer::create(array(
          "description" => "$username",
          "card" => $token
));
$last4 = $StripeCustomer->sources->data[0]->last4;

еще одна вещь, которую я пытался сделать, это создать Заказчика с использованием идентификатора пользователя WP

$customer_id =  get_user_meta(get_current_user_id(), '_pw_stripe_user_id', true);
$customer = new \WC_Stripe_Customer($customer_id);

но он возвращает мне пустого Клиента по умолчанию, поэтому у меня нет последнего4, я предполагаю, что это происходит, потому что до отправки такого Клиента нет.

Я не могу получить доступ к входному значению, потому что это iframe, который Stripe вставляет в форму.

Так есть ли способ получить последний4 перед отправкой? Спасибо заранее.

1 Ответ

0 голосов
/ 03 июля 2018

Если вы используете пользовательскую версию Checkout, вы можете легко это сделать, просто наберите token.card.last4 в вашем token обратном вызове. Вы можете показать это или любую другую сводку своему пользователю до того, как вы решите отправить токен token.id своему бэкэнду, если хотите.

Пример: http://jsfiddle.net/9mgqzuL1/

token: function(token) {
    console.log(token);
    document.getElementById('last4').innerHTML = token.card.last4;
    // you'd then want to do something with token.id and submit your form
  }
...