php - 我正在尝试使用 php 将自定义产品/价格添加到 Stripe 结帐页面
问题描述
我正在尝试自定义条带结帐以从我的购物车中获取动态价格。为了测试这一点,我只是尝试在条形配置中创建产品和价格,然后将该价格传递给订单项。
我正在尝试的代码一直告诉我没有这样的产品。我不知道我是在犯语法错误还是我正在尝试的只是错误的。有人可以建议吗?
include './stripe/init.php';
\Stripe\Stripe::setApiKey('API KEY GOES HERE');
header('Content-Type: application/json');
$YOUR_DOMAIN = 'https://www.XXXXX.XX.XX';
$product = \Stripe\Product::create([
'name' => 'Elearn Product',
]);
$price = \Stripe\Price::create([
'product' => '{{$product}}',
'unit_amount' => 1100,
'currency' => 'usd',
'recurring' => [
'interval' => 'month',
],
]);
$checkout_session = \Stripe\Checkout\Session::create([
'line_items' => [[
'price' => '{{$price}}',
'quantity' => 1,
]],
'payment_method_types' => [
'card',
],
'mode' => 'payment',
'success_url' => $YOUR_DOMAIN . '/enrolment-success',
'cancel_url' => $YOUR_DOMAIN . '/enrolment-failure',
]);
header("HTTP/1.1 303 See Other");
header("Location: " . $checkout_session->url);
解决方案
您需要像这样指定产品和价格 ID:
'product' => $product->id,
和这个:
'price' => $price->id,
此外,您可以为一个产品创建多个价格,因此如果您以不同的价格点销售相同的东西,您可以创建一次产品并为其创建多个价格,而不是每次都创建一个新产品。
推荐阅读
- c++ - asio::strand 上的任务在单个线程上运行
- c# - c# 从方法返回接口类型
- java - 如何为 OSGi R7 元类型注释强制(到 1.2.0)OSGi XMLNS
- css - 为什么一个sticky的绝对孩子总是躲在另一个sticky后面?
- cmake - 无法配置 CMake 以查找 Homebrew 安装的 Bison 版本
- node.js - Firebase 实时数据库 - 间歇性 update() 像 set() 一样工作
- sql - When Select replacing comma with dot is truncating values
- angular - 在 ngFor 中渲染组件
- java - 如何在 Java 中逐字节更改 WAV 文件的体积?
- php - 当脚本元素包含 HTML 时如何使用 PHP DomDocument?