Wordpress

时间:2017-08-23 08:26:33

标签: php wordpress stripe-payments

我需要使用Stripe付款以收取赛车费。问题是费用是根据船的大小来计算的。

示例: 20-29英尺>脚的价格:12美元 30-39英尺>脚的价格:16美元

用于wordpress的

Stripe Plugin不允许您实现此目的。所以我需要使用charge.php

目前,我有这样的charge.php:

<?php // Get boat value. Apply some simple security here (apply further if 
putting in DB later)
isset ($_POST['boat_value']) ? $boat_value = $_POST['boat_value'] : '';

// Charge the user's card with variable amount:
$charge = \Stripe\Charge::create(array(
"amount" => $boat_value,
"currency" => "eur",
"description" => "Example charge",
"source" => $token,
));

和我的index.php一样

<form action="charge.php" method="POST">
<select name="boat_value" id="boat_value" required>
<option selected="selected" disabled>Choose boat size</option>
<option value="1200">20 - 29 ft</option>
<option value="1600">30 - 39 ft</option>
</select>
</form>

这不起作用!缺什么 ?

谢谢!

3 个答案:

答案 0 :(得分:1)

我建议将Str Simple Pay Pro和/或Gravity Forms与Stripe集成一起使用。两个插件都支持使用自定义表单的可变金额。

答案 1 :(得分:1)

我想我今晚终于为自己想出了这个。

目录结构应如下所示:

--theme-root --js ----stripe.js --Stripe ----init.php --charge.php --tpl_demo.php

首先,您需要下载最新的条带php库并将其包含在主题的根目录中。 https://github.com/stripe/stripe-php/releases。我解压缩它并将文件夹重命名为Stripe,只是为了确保&#39; Stripe / init.php&#39;是可用的。

然后在functions.php中添加
    wp_enqueue_script( 'qbtv_stripe_js', get_stylesheet_directory_uri() . '/js/stripe.js', array(), '', true );
    wp_enqueue_script( 'stripe_js', 'https://js.stripe.com/v3', array(), '', false );

这是github上的一个要点,你需要三个文件: https://gist.github.com/jimboobrien/307cdd715178a5967531343922072c29

form.php - 你应该把html / php放在主题的模板文件中
charge.php - 您应该在主题或子主题的根目录中包含的文件以及Stripe文件夹
stripe.js - 您应该在主题的js文件夹中包含的js文件

如果您有任何问题我可以给我留言。让我们开始研究Stripe的v3 php元素API吧!

  • 吉姆

答案 2 :(得分:0)

如果存在与JS相关的错误,请先检查console.log。

检查发布的数据在charge.php文件中可用。

请确认您已在文件顶部包含以下内容。

require_once('vendor/autoload.php');