将条纹PHP库集成到自定义WordPress插件中

时间:2018-01-06 作者:Deirdre Mc T

我正在尝试为客户Wordpress网站创建一个简单的“添加每月订阅(每月付款)按钮”自定义插件。我当前的问题是如何在插件中包含Stripe的PHP库?我在本地通过Composer(autoload.php)运行它。但将其添加到Wordpress。。。。

我在Stripe的网站上添加了以下基本代码:https://stripe.com/docs/recipes/subscription-signup

 <form action="/create_subscription.php" method="POST">
  <script
    src="https://checkout.stripe.com/checkout.js" class="stripe-button"
    data-key="pk_test_mlHAlLZMWfb2URJZIvb6Qntd"
    data-image="/images/marketplace.png"
    data-name="Emma\'s Farm CSA"
    data-description="Subscription for 1 weekly box"
    data-amount="2000"
    data-label="Sign Me Up!">
  </script>
</form>
这是PHP。

<?php // Create a customer using a Stripe token

// If you\'re using Composer, use Composer\'s autoload:
require_once(\'vendor/autoload.php\');

// Be sure to replace this with your actual test API key
// (switch to the live key later)
\\Stripe\\Stripe::setApiKey("sk_test_000000000000");

try
{
  $customer = \\Stripe\\Customer::create(array(
    \'email\' => $_POST[\'stripeEmail\'],
    \'source\'  => $_POST[\'stripeToken\'],
    \'plan\' => \'weekly_box\'
  ));

  header(\'Location: thankyou.html\');
  exit;
}
catch(Exception $e)
{
  header(\'Location:oops.html\');
  error_log("unable to sign up customer:" . $_POST[\'stripeEmail\'].
    ", error:" . $e->getMessage());
}
任何帮助都将不胜感激!

1 个回复
SO网友:Pediwent

退房this article. 它有点旧,但仍然很相关-我用它为Wordpress构建了自己的条带集成插件。

请注意,包括该行:

require_once(\'vendor/autoload.php\');
应该为您加载条带库。根据插件文件夹的设置方式,插件可能找不到自动加载。php文件。最好在插件的主php文件中设置一个基本目录,如下所示:

if ( ! defined( \'PLUGINNAME_BASE_DIR\' )) 
    define( \'PLUGINNAME_BASE_DIR\', dirname( __FILE__ ) );
然后,您的require语句如下所示:

require_once( PLUGINNAME_BASE_DIR . \'/vendor/autoload.php\' );
更好的是,将条带库放在插件的a/lib文件夹中,这样您的包含内容将是:

require_once( PLUGINNAME_BASE_DIR . \'/lib/stripe-php/vendor/autoload.php\' );
还有一个init.php 库中的文件做了同样的事情,这也是我使用的,因为我没有使用Composer将其拉入。您可以通过下载stripe php库的源代码并将原始源代码放在a/lib目录中的插件目录中来使用它。

require_once( PLUGINNAME_BASE_DIR . \'/lib/stripe-php/init.php\' );

结束

相关推荐