keziah keziah - 1 year ago 415
PHP Question

PHP Stripe get the transaction id after successful purchase

I'm trying to get the transaction ID after the purchase, but it returns empty on thankyou page


\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
'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);
'sssssssis', $fields['customer_id'], $fields['address'], $fields['address2'], $fields['city'], $fields['state'], $fields['postal'], $fields['country'], $bdate, $fields['trans_id']);

// If successful, redirect to thank you page
header('Location: /thankyou.php?id=' . $user_id);


$s = $sql->prepare('SELECT trans_id FROM billings WHERE user_id = ?');
$s->bind_param('i', $_GET['id']);

<li>Transaction id: <?php echo $trans_id ?></li>

Is there any problem with my code?

Answer Source

When you are charging the customer using this

$charge = \Stripe\Charge::create(array(
    "amount" => 100,
    "currency" => "usd",
    "customer" => $customer->id)

Also try print_r($charge); // to check the output variables

You'll get its response as $charge->id this is nothing but the transaction id, insert this transaction id in your database for future use. And then apply your further code.

And then in thankyou.php fetch the value that you have inserted

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download