Ошибка сертификата SSL на модуле оплаты полосой

Я сделал персональный плагин для использования Stripe на моем веб-сайте. У меня 2 вопроса. Во-первых, у меня есть эта ошибка, когда verifCertSsl имеет значение true: «Ошибка установки сертификата, проверьте местоположения: CAfile: CApath: / etc / ssl / certs». На моем веб-сайте используется соединение OVH e и HTTPS. Я не знаю, почему у меня такая ошибка. Когда для метода verifCertSsl установлено значение false, все работает, но безопасность данных отсутствует.

И второй вопрос, как я могу передать данные клиента в полосу, например имя, фамилию, адрес электронной почты, адрес. У меня есть это :

 var form = document.getElementById('payment-form');
//add owne info
var ownerInfo = {
amount: document.querySelector('#amount'),
currency: 'eur',
owner: {
  nom: document.querySelector('#name'),
  prenom: document.querySelector('#prenom'),
  adresse: document.querySelector('#adresse'),
  zip: document.querySelector('#zip'),
  ville: document.querySelector('#ville'),
  email: document.querySelector('#email')
},
};
form.addEventListener('submit', function(event) {
event.preventDefault();

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

});

но я ничего не получаю. После успешной оплаты я не получаю письмо по электронной почте, но использую «receive_email»:

            \Stripe\Stripe::setApiKey($secret_key);

        $charge = \Stripe\Charge::create(array(
                'amount' => $amount, // $10
                'currency' => 'eur',
                'card' => $token,
                //"customer" => "cus_AFGbOSiITuJVDs",
                //"source" => "src_18eYalAHEMiOZZp1l9ZTjSU0",
                'receipt_email' => $email,
            )
        );

для информации я использую wordpress Спасибо всем

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
571
1

Ответы 1

First, i have this error when verifCertSsl is to true : "error setting certificate verify locations: CAfile: CApath: /etc/ssl/certs". My website is using OVH eand HTTPS connection. I don't know why i have this error. When the method verifCertSsl is to false everything works, but there is no data security.

Распространенной причиной этой ошибки является то, что файл data/ca-certificates.crt не включен в ваш Установка PHP или у него есть права доступа к файлу, которые не позволяют вашему коду получить к нему доступ. Как только вы это сделаете, все будет в порядке (и подтверждение связи SSL между вашим сервером и нашим API должно работать нормально).

And the second question, how can i pass client datas to stripe like first name, last name, email, adress.

Проблема здесь в том, что вы неправильно передаете адресную информацию в API. У Stripe API есть определенные имена для каждого свойства или параметра, и они также на английском языке. Чтобы передать адресную информацию при токенизации, ваш код будет выглядеть так:

var options = {
  name: document.getElementById('name').value,
  address_line1: document.getElementById('address-line1').value,
  address_line2: document.getElementById('address-line2').value,
  address_city: document.getElementById('address-city').value,
  address_state: document.getElementById('address-state').value,
  address_zip: document.getElementById('address-zip').value,
  address_country: document.getElementById('address-country').value,
};
stripe.createToken(card, options).then(setOutcome);

Здесь вы можете увидеть базовый пример: https://jsfiddle.net/4o5msan0/

After a successful payment i don't receive email, while i use "receipt_email" :

Я думаю, проблема в том, что вы неправильно передаете receipt_email, и переменная $email может быть пустой. Вам необходимо убедиться, что вы получили это значение из браузера, что означает, что ваша форма должна опубликовать его явно. Он не будет извлечен из токена. Если вы это сделаете, то помните, что Stripe не отправляет квитанции по электронной почте в тестовом режиме, а только в режиме реального времени.

Спасибо за вашу помощь ;)

user1310969 17.06.2018 18:53

Другие вопросы по теме