kez*_*iah 1 php payment stripe-payments
我试图在购买后获取交易ID,但它在谢谢页面上返回空
order.php
<?php
\Stripe\Stripe::setApiKey('<test token>');
$amount = 100;
$card = $_POST['stripeToken'];
// Create a Customer
$customer = \Stripe\Customer::create(array(
"source" => $card,
"email" => $email,
"description" => "Example description")
);
// Charge the Customer instead of the card
$charge = \Stripe\Charge::create(array(
"amount" => 100,
"currency" => "usd",
"customer" => $customer->id)
);
// Save the billing info
set_billing([
'customer_id' => $customer->id,
'address' => $address,
'address2' => $address2,
'city' => $city,
'state' => $state,
'country' => $country,
'postal' => $postal,
'trans_id' => $charge->id // Save the transaction id
]);
function set_billing($fields = array())
{
$bdate = time();
$query = "INSERT INTO billings (
customer_id, address, address2, city,
state, postal, country, billing_date, trans_id
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)";
$stmt = $GLOBALS['sqlConnection']->prepare($query);
$stmt->bind_param(
'sssssssis', $fields['customer_id'], $fields['address'], $fields['address2'], $fields['city'], $fields['state'], $fields['postal'], $fields['country'], $bdate, $fields['trans_id']);
$stmt->execute();
}
// If successful, redirect to thank you page
header('Location: /thankyou.php?id=' . $user_id);
exit;
Run Code Online (Sandbox Code Playgroud)
thankyou.php
<?php
$s = $sql->prepare('SELECT trans_id FROM billings WHERE user_id = ?');
$s->bind_param('i', $_GET['id']);
$s->execute();
$s->bind_result($trans_id);
$s->fetch();
?>
<ul>
<li>Transaction id: <?php echo $trans_id ?></li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我的代码有问题吗?
当您使用此向客户收费时
$charge = \Stripe\Charge::create(array(
"amount" => 100,
"currency" => "usd",
"customer" => $customer->id)
);
Run Code Online (Sandbox Code Playgroud)
也试试 print_r($charge); // to check the output variables
您将得到它的响应,因为$charge->id这只是事务ID,在您的数据库中插入此事务ID以供将来使用.然后应用您的进一步代码.
然后在thankyou.php中获取您插入的值
| 归档时间: |
|
| 查看次数: |
7502 次 |
| 最近记录: |