我需要使用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>
这不起作用!缺什么 ?
谢谢!
答案 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');