使用 codeigniter 的条纹支付没有获得动态金额
stripe payment using codeigniter not getting dynamic amount
每当我在金额字段中添加静态金额值时,它都工作正常
但无论我将其设为动态,它都会向我显示空白页面,此页面上没有错误 /Stripe_payment/checkout。
require_once(APPPATH . 'libraries/Stripe/lib/Stripe.php');
// Get the credit card details submitted by the form
if(isset($_POST['stripeToken'])){
$token = $_POST['stripeToken'];
}
$txtPayTotalp = $_POST['txtPayTotalp'];
$txtPayIdp = $_POST['txtPayIdp'];
$p = array(
"amount" => $_POST['txtPayTotalp'],
"currency" => "aud",
"card" => $token,
"description" => "hlkglfjfltylthyjl"
);
$charge = Stripe_Charge::create( $p );
这是我的控制器Stripe_payment.php
<form class="form-horizontal" id="form-pay" action="<?php echo base_url('index.php/Stripe_payment/checkout'); ?>" method="POST" style="padding-top:10px !important; margin-left: 250px;">
<input type="hidden" name="txtPayTotalp" id="txtPayTotalp" value="">
<input type="hidden" name="txtPayIdp" id="txtPayIdp" value="">
<script id="a1"
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="Key"
data-image="<?php echo base_url('img/hederImg.png'); ?>"
data-name="PREST LAUNDRY"
data-description="So Clean............"
data-amount="2345"
>
</script>
</form>
这是我的看法。
请帮我解决这个问题
提前致谢。
// Get the credit card details submitted by the form
if(isset($_POST['stripeToken'])){
$token = $_POST['stripeToken'];
}
// Create a Customer
$customer = Stripe_Customer::create(array(
"source" => $token,
"description" => "Test Customer")
);
$txtPayTotalp = $_POST['txtPayTotalp'];
$txtPayIdp = $_POST['txtPayIdp'];
$this->session->set_userdata('amount', $_POST['txtPayTotalp']);
$val = floatval($this->session->userdata('amount'));
$p = array(
"amount" => $val,
"currency" => "usd",
"card" => $token,
"description" => "Test Payment"
);
为了检查金额的数据类型,我检查了 vardump($p);金额为字符串格式。
我使用 floatval() 来更改 amount 的数据类型并且它有效。
$val = floatval($this->session->userdata('amount'));
每当我在金额字段中添加静态金额值时,它都工作正常 但无论我将其设为动态,它都会向我显示空白页面,此页面上没有错误 /Stripe_payment/checkout。
require_once(APPPATH . 'libraries/Stripe/lib/Stripe.php');
// Get the credit card details submitted by the form
if(isset($_POST['stripeToken'])){
$token = $_POST['stripeToken'];
}
$txtPayTotalp = $_POST['txtPayTotalp'];
$txtPayIdp = $_POST['txtPayIdp'];
$p = array(
"amount" => $_POST['txtPayTotalp'],
"currency" => "aud",
"card" => $token,
"description" => "hlkglfjfltylthyjl"
);
$charge = Stripe_Charge::create( $p );
这是我的控制器Stripe_payment.php
<form class="form-horizontal" id="form-pay" action="<?php echo base_url('index.php/Stripe_payment/checkout'); ?>" method="POST" style="padding-top:10px !important; margin-left: 250px;">
<input type="hidden" name="txtPayTotalp" id="txtPayTotalp" value="">
<input type="hidden" name="txtPayIdp" id="txtPayIdp" value="">
<script id="a1"
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="Key"
data-image="<?php echo base_url('img/hederImg.png'); ?>"
data-name="PREST LAUNDRY"
data-description="So Clean............"
data-amount="2345"
>
</script>
</form>
这是我的看法。 请帮我解决这个问题 提前致谢。
// Get the credit card details submitted by the form
if(isset($_POST['stripeToken'])){
$token = $_POST['stripeToken'];
}
// Create a Customer
$customer = Stripe_Customer::create(array(
"source" => $token,
"description" => "Test Customer")
);
$txtPayTotalp = $_POST['txtPayTotalp'];
$txtPayIdp = $_POST['txtPayIdp'];
$this->session->set_userdata('amount', $_POST['txtPayTotalp']);
$val = floatval($this->session->userdata('amount'));
$p = array(
"amount" => $val,
"currency" => "usd",
"card" => $token,
"description" => "Test Payment"
);
为了检查金额的数据类型,我检查了 vardump($p);金额为字符串格式。 我使用 floatval() 来更改 amount 的数据类型并且它有效。
$val = floatval($this->session->userdata('amount'));