Я сделал персональный плагин для использования 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 Спасибо всем






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 не отправляет квитанции по электронной почте в тестовом режиме, а только в режиме реального времени.
Спасибо за вашу помощь ;)