繁体   English   中英

如何创建没有客户 ID 的条纹发票

[英]How to create a stripe invoice without customer id

我正在尝试通过条带生成发票,但 API 需要一个我不知道如何检索的客户端 ID。

我正在使用 Session 结帐:

ajax 调用的方法

$checkout_session = Checkout\Session::create([
            'payment_method_types' => ['card'],
            'line_items' => [[
                'price_data' => [
                    'currency' => 'usd',
                    'unit_amount' => 2000,
                    'product_data' => [
                        'name' => 'Stubborn Attachments',
                        'images' => ["https://i.imgur.com/EHyR2nP.png"],
                    ],
                ],
                'quantity' => 1,
            ]],
            'customer_email' => $email,
            'mode' => 'payment',
            'success_url' => $domain. '/success/{CHECKOUT_SESSION_ID}',
            'cancel_url' => $domain. '/cancel/{CHECKOUT_SESSION_ID}',
        ]);

我收到

[
    "id" => "cs_test_xxxxxxxxxxxxxxxx"
    "object" => "checkout.session"
    "allow_promotion_codes" => null
    "amount_subtotal" => 2000
    "amount_total" => 2000
    "billing_address_collection" => null
    "cancel_url" => "http://localhost/cancel/{CHECKOUT_SESSION_ID}"
    "client_reference_id" => null
    "currency" => "usd"
    "customer" => null
    "customer_details" => null
    "customer_email" => "xxxxxxxxxxx@gmail.com"
    "livemode" => false
    "locale" => null
    "metadata" => []
    "mode" => "payment"
    "payment_intent" => "pi_xxxxxxxxxxxxx"
    "payment_method_options" => []
    "payment_method_types" => array:1 [
      0 => "card"
    ]
    "payment_status" => "unpaid"
    "setup_intent" => null
    "shipping" => null
    "shipping_address_collection" => null
    "submit_type" => null
    "subscription" => null
    "success_url" => "http://localhost/success/{CHECKOUT_SESSION_ID}"
    "total_details" => array:3 [
      "amount_discount" => 0
      "amount_shipping" => 0
      "amount_tax" => 0
    ]
  ]

创建发票需要一个客户 ID,因为 session 结帐创建了一个客户而不给我一个 ID,所以我没有并且不知道从哪里获得。

payment模式下的 Checkout Session 将生成付款意图,而不是发票。 如果您只想使用发票,那么 Checkout Session 不是正确的解决方案。 如果您不关心发票,只想向客户收取一次性付款,那么您可以继续使用 Checkout。

如果您确实想单独使用 Invoices,则需要执行以下操作:

  1. 创建客户
  2. 在创建所需数量的发票项目时传入客户 ID
  3. 创建发票时传入客户 ID - 这将自动提取与客户相关的任何待处理发票项目。

这一切都在本指南中进行了总结: https://stripe.com/docs/invoicing/integration

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM