Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 条带支付模块上的SSL证书错误_Php_Wordpress_Stripe Payments - Fatal编程技术网

Php 条带支付模块上的SSL证书错误

Php 条带支付模块上的SSL证书错误,php,wordpress,stripe-payments,Php,Wordpress,Stripe Payments,我在我的网站上做了一个个人插件。我有两个问题。 首先,当verifCertSsl为true时,我出现了以下错误: “设置证书验证位置时出错:CAfile:CApath:/etc/ssl/certs”。我的网站正在使用OVH EAN和HTTPS连接。 我不知道我为什么会有这个错误。当verifCertSsl方法为false时,一切正常,但没有数据安全性 第二个问题,我如何将客户机数据传递给条带,如名字、姓氏、电子邮件、地址。我有这个: var form = document.getElement

我在我的网站上做了一个个人插件。我有两个问题。 首先,当verifCertSsl为true时,我出现了以下错误: “设置证书验证位置时出错:CAfile:CApath:/etc/ssl/certs”。我的网站正在使用OVH EAN和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);
  }
});
}))

但我什么也找不到。 成功付款后,我没有收到电子邮件,但我使用“收据\电子邮件”:

有关信息,我使用wordpress 谢谢大家

首先,当verifCertSsl为true时,我出现了这个错误:“设置证书验证位置时出错:CAfile:CApath:/etc/ssl/certs”。我的网站使用OVH EAN和HTTPS连接。我不知道我为什么会有这个错误。当verifCertSsl方法为false时,一切正常,但没有数据安全性

此错误的一个常见原因是
数据/ca证书.crt
文件未包含在您的中,或者它具有阻止您的代码访问它的文件权限。完成这项工作后,您应该会很好(服务器和我们的API之间的SSL握手应该可以很好地工作)

第二个问题,如何将客户端数据传递给stripe-like 名字、姓氏、电子邮件、地址

这里的问题是您没有将地址信息正确地传递给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);
您可以在此处看到一个基本示例:

成功付款后,我没有收到电子邮件,但我使用“收据\电子邮件”:


我认为这里的问题是,您没有正确地传递
receipt\u email
,并且
$email
变量可能是空的。您需要确保已从浏览器检索到此值,这意味着您的表单需要显式发布它。不会从令牌中检索它。如果您这样做了,请记住Stripe不会在测试模式下发送电子邮件收据,只会在实时模式下发送。

谢谢您的帮助;)
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);