条带支付ssl协议错误WordPress

时间:2016-12-14 15:24:02

标签: wordpress ssl ssl-certificate stripe-payments stripe-connect

我们使用PHP进行条带支付。它适用于本地计算机,但在实时服务器中,它没有按预期工作。我们分享了我们使用的代码,并附上了错误的屏幕截图。不确定我们在哪里犯了错误,你能指导我们吗?

条纹代码:

require_once('Stripe.php');

Stripe::setApiKey('secret key');

echo '<form action="" method="post">
  <script src="https://checkout.stripe.com/checkout.js" class="stripe-button"
          data-key="publish key"
          data-description="Access for a year"
          data-amount="5000"
          data-locale="auto"></script>
</form>';

if($_POST) {
 $token  = $_POST['stripeToken'];

  $customer = Stripe_Customer::create(array(
      'email' => 'customer@example.com',
      'source'  => $token
  ));

  $charge = Stripe_Charge::create(array(
      'customer' => $customer->id,
      'amount'   => 5000,
      'currency' => 'usd'
  ));

  echo '<h1>Successfully charged $50.00!</h1>';

}

本地机器

Local Machine output result

Live Server

Live Server error report

1 个答案:

答案 0 :(得分:0)

1)看起来您可能无法将带有条带php绑定的data文件夹复制到您的服务器上 - 这包含ca-certificates.crt文件中引用的failed loading cafile文件{1}}错误。确保服务器上存在此文件夹,看看是否能解决问题!

2)如果您仍然遇到问题,则问题可能是您的服务器无法通过TLS 1.2与Stripe进行通信。从您的语法看起来,您使用的是旧版本的Stripe的PHP库,因此您希望在此处使用第二个示例test that

如果curl能够首先建立TLS 1.2连接,您还可以运行测试脚本like this来帮助确定libcurl和openssl版本。如果您需要升级curl和openssl,一些有用的建议是here。您也可以就此问题与您的系统管理员或网络主机聊天。