Adr*_*nis 9 php stripe-payments
我正在尝试为商家的用户创建订阅,但面临“您无法传入payment_intent_data模式subscription”错误。如果定期付款,效果很好,但订阅则不起作用。
这是我想要做的一个示例:约翰有一家基于定期计费的电子商务商店。马修是约翰的客户,想要从约翰那里购买订阅。使用“Stripe Checkout”时如何轻松收取费用并将资金转入 John 的 connect 账户?
$session = \Stripe\Checkout\Session::create([
'payment_method_types' => ['card'],
'line_items' => [[
'price' => $priceIntent->id,
'quantity' => 1,
]],
'customer' => Auth::User() -> stripe_code,
'mode' => 'subscription',
'payment_intent_data' => [
'application_fee_amount' => $total_fees,
'transfer_data' => [
'destination' => $merchantId,
],
],
'success_url' => env('APP_URL') . '/order/success/{CHECKOUT_SESSION_ID}',
'cancel_url' => env('APP_URL') . '/order/cancel/',
]);
Run Code Online (Sandbox Code Playgroud)
谢谢!
基本上,您不能payment_intent_data在订阅模式下的结帐会话中使用,因为订阅创建发票而不是 PaymentIntents。
为此,您需要使用subscription_data哈希: https: //stripe.com/docs/api/checkout/sessions/create ?lang=php#create_checkout_session-subscription_data-application_fee_percent 并指定商家帐户。
包含商家详细信息的 API 调用示例:
$session = \Stripe\Checkout\Session::create([
'subscription_data' => [
'application_fee_percent' => $fees_percent,
],
],array("stripe_account" => "acct_xxxxxxxxx"));
Run Code Online (Sandbox Code Playgroud)
另外,不要忘记在调用中传递所有其他所需的变量。
干杯:)
| 归档时间: |
|
| 查看次数: |
4484 次 |
| 最近记录: |