如何检索条带会话 ID php

How to retrieve stripe session id php

我不想在这里问这么简单的问题,但我似乎想不通。我创建了一个成功通过的 stripe 结帐会话,但在获得响应时遇到了问题。我已经阅读了 stripe 文档和此处的答案,但似乎仍然无法返回 stripe 会话 ID。这是我尝试过的

<?php

require_once('stripe-php-7.86.0/init.php');

$priceId = $_POST['priceId'];

$stripe = new \Stripe\StripeClient(
    'my secret key here'
  );

  $stripe->checkout->sessions->create([
    'success_url' => 'http://localhost/stripe_test/success.html',
    'cancel_url' => 'http://localhost/stripe_test/cancel.html',
    'payment_method_types' => ['card'],
    'line_items' => [
      [
        'price' => $priceId,
        'quantity' => 1,
      ],
    ],
    'mode' => 'subscription',
  ]);

  // I've tried all of these individually, none of them work.
  
  echo json_encode($stripe);
  echo $stripe['id'];
  echo json_encode($stripe['id']);
  echo $stripe->checkout->sessions['id'];
  echo json_encode(['sessionId' => $stripe['id']]);

根据official Stripe documentation,你可以将$stripe->checkout->sessions->create的返回值赋值给你要使用的变量,然后访问属性 id

$stripe->checkout->sessions->create returns Session object

例如

$stripe_session = $stripe->checkout->sessions->create([
    'success_url' => 'http://localhost/stripe_test/success.html',
    'cancel_url' => 'http://localhost/stripe_test/cancel.html',
    'payment_method_types' => ['card'],
    'line_items' => [
      [
        'price' => $priceId,
        'quantity' => 1,
      ],
    ],
    'mode' => 'subscription',
  ]);
echo $stripe_session->id;

我认为 response->id 将是您的会话 ID