如何描述Stripe checkout中的行项目?



这是我创建结帐函数的方式:

foreach($request->arrayOfObjects as $req) {
array_push($lineItems, [
'price' => $req['priceID'],
'quantity' => (int) $req['quantity']
]);
}

if (Auth::check()) {
$charge = $stripeClient->checkout->sessions->create([
'payment_method_types' => [
'card',
'sepa_debit',
'giropay',
'sofort',
'alipay'
],
'success_url' => env('APP_URL').'/success',
'cancel_url' => env('APP_URL').'/cancel',
'shipping_address_collection' => [
'allowed_countries' => ['DE'],
],
'shipping_options' => [
[
'shipping_rate' => $request->lieferung ? env('SHIPPING_RATE_LIEFERUNG') : env('SHIPPING_RATE_ABHOLUNG')
],
],
'line_items' => [$lineItems],
'mode' => 'payment',
'metadata' => [
'lieferung' => $request->lieferung,
'isCustomer' => true
],
'allow_promotion_codes' => true,
'customer' => Auth::user()->stripe_id
]);
}

它工作得很好,虽然…但是,我想知道有什么方法来描述一件物品的尺寸?

例如,我订购了10包镶木地板经典,每包有3平方米的镶木地板。

我希望在账单中看到这一点,比如:

Article 1001 -拼花地板经典(10个包-每个3平方米)

我发现可以提供元数据,但只针对全局结帐级别,而不是针对每个项目。

有什么办法可以做到吗?

可以使用Stripe Checkout为每个项目提供元数据。下面是一个例子:

$charge = $stripeClient->checkout->sessions->create([
...
'line_items' => [
// item 1
[
'price_data' => [
'product_data' => [
'name' => 'Item A',
],
// 10.99 USD
'currency' => 'usd',
'unit_amount' => 1099,
],
'quantity' => 3,
],
// item 2
[
'price_data' => [
'product_data' => [
'name' => 'Item B',
],
// 5.49 USD
'currency' => 'usd',
'unit_amount' => 549,
],
'quantity' => 2, 
],
],
...
]);

在结帐时,它会给你一个整洁的

列表
3 x Item A ....... 32.97 $ USD
2 x Item B ....... 10.98 $ USD

检查stripe API文档中line_items的所有信息(点击'show child attributes'按钮查看所有可能的键及其用途)

最新更新