gpt4 book ai didi

php - 是否可以将自定义数据传递给 stripe checkout?

转载 作者:可可西里 更新时间:2023-11-01 13:59:17 25 4
gpt4 key购买 nike

我正在关注带有服务器集成的 Stripe Checkout 文档:https://stripe.com/docs/payments/checkout/server

示例中的代码工作正常,但我遇到的问题是在购买完成后无法跟踪用户或他们的订单。

我有一个 webhook 设置,当付款完成时,Stripe 会发出 ping 信号。但是来自 Stripe 的响应 session 除了产品的名称、描述和图像外,不包含任何有关订购产品的信息。我可以使用产品名称来查询数据库,但我更愿意使用 ID 或 slug 之类的东西。

$app->post("/stripe-pingback", function(Request $request, Response $response, array $args) {
\Stripe\Stripe::setApiKey("xxxxx");

// You can find your endpoint's secret in your webhook settings
$endpoint_secret = 'xxxxx';

$payload = $request->getBody();
$sig_header = isset($_SERVER['HTTP_STRIPE_SIGNATURE']) ? $_SERVER['HTTP_STRIPE_SIGNATURE'] : null;
$event = null;

try {
$event = \Stripe\Webhook::constructEvent($payload, $sig_header, $endpoint_secret);
} catch(\UnexpectedValueException $e) {
// Invalid payload
http_response_code(400); // PHP 5.4 or greater
exit();
} catch(\Stripe\Error\SignatureVerification $e) {
// Invalid signature
http_response_code(400); // PHP 5.4 or greater
exit();
}

// Handle the checkout.session.completed event
if ($event->type == 'checkout.session.completed') {
$session = $event->data->object;
var_dump($session);

// Possible to get custom data from session?
$customer = $session->customer;
$customerEmail = $session->customer_email;

// Fulfill the purchase...
$this->db->insertAudioPurchase();
}

http_response_code(200); // PHP 5.4 or greater
});

是否可以将 ID 与 Stripe 可以 ping 回的结帐请求一起传递,以允许我查找订单并生成下载链接?

最佳答案

编辑元数据现在 exist on the Session object .尽管您可能需要更新的 API 版本才能进行设置。

metadata 在 Session 对象上还不存在,所以你不能使用它。

您可以使用 client_reference_id 字段在您的 Session 中存储一些自定义数据。请注意,内容必须是唯一的。 Have a look here.

关于php - 是否可以将自定义数据传递给 stripe checkout?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55742393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com