Настройка аутентификации в Stripe для пользователей с картами 3DSPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Гость
 Настройка аутентификации в Stripe для пользователей с картами 3DS

Сообщение Гость »

Итак, мне удалось успешно создать нового клиента полосы, оформить подписку и передать остальную логику, когда моя карта не 3DS, но у меня возникли проблемы с реализацией логики для 3DS, для 3DS, т. е. Я пытаюсь перенаправить пользователей в банк для аутентификации с помощью модального окна или iframe и перенаправить их обратно на свой сайт после успешной аутентификации, но вместо этого я не вижу страницы аутентификации для карт 3DS, но в полосе создается новый клиент и подписка панель управления и статус платежа «неполный»

Код: Выделить всё

if($_SERVER['REQUEST_METHOD'] == "POST"){
set_value($_POST);

$token = (isset($_POST['stripeToken'])) ? $_POST['stripeToken'] : null;
$crad_number = (isset($_POST['crad_number'])) ? $_POST['crad_number'] : null;
$month = (isset($_POST['month'])) ? $_POST['month'] : null;
$year = (isset($_POST['year'])) ? $_POST['year'] : null;
$cvv = (isset($_POST['cvv'])) ? $_POST['cvv'] : null;

// Validation
$errors = array();
if(empty($token)){
$errors[] = 'Token is required';
}
if(empty($crad_number)){
$errors[] = 'Crad Number is required';
}
if(empty($month)){
$errors[] = 'MONTH name is required';
}
if(empty($year)){
$errors[] = 'YEAR is required';
}
if(empty($cvv)){
$errors[] = 'CVV is required';
}
if(empty($errors)){

try{

$stripe = new \Stripe\StripeClient('sk_test key');
// Create Customer In Stripe

$customer = \Stripe\Customer::create(array(
"email" => $email,
"name" => $membernamedata,
'source'  => $token,
));

$finalamount = $amount*100;

$paydesc = "Members Directory";

// Create the subscription with the found product ID
$subscription = $stripe->subscriptions->create([
'customer' => $customer,
'items' => [['price' => $product_id]],
"currency" => $_currency,
"description" => $paydesc,
//'amount' => $finalamount,
'expand' => ['latest_invoice.payment_intent'],
]);

// Check if 3DS authentication is required
if ($subscription->latest_invoice->payment_intent->status === 'requires_action' &&
$subscription->latest_invoice->payment_intent->next_action->type === 'redirect_to_url'
) {
// Redirect the customer to the 3DS authentication page
$redirectUrl = $subscription->latest_invoice->payment_intent->next_action->redirect_to_url->url;
header('Location: ' . $redirectUrl);
exit();
} else {
я ожидаю, что модальное окно или iframe отобразится для подтверждения пользователями

Подробнее здесь: https://stackoverflow.com/questions/782 ... -3ds-cards
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Автопродление не работает с картами 3DS Elements.
    Anonymous » » в форуме Php
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Автопродление не работает с картами 3DS Elements.
    Anonymous » » в форуме Jquery
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Автопродление не работает с картами 3DS Elements.
    Anonymous » » в форуме Php
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Stripe обрабатывает 3ds-платежи на Android
    Anonymous » » в форуме Android
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Stripe обрабатывает 3ds-платежи на Android
    Anonymous » » в форуме Android
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»