我正在使用 Stripe 创建一个新的 Session,并尝试传入
receipt_email
属性,以便能够向买家发送明确的收据。以下代码在没有 receipt_email
属性的情况下可以正常工作,但添加它会出现错误:Received unknown parameter: receipt_email
。$session_data = [
'payment_method_types' => ['card'],
'mode'=>'payment',
'billing_address_collection'=> 'auto',
'line_items'=> [['price' => STRIPE_PRICE, 'quantity'=> 1]],
'success_url' => URL.'success',
'cancel_url' => URL.'error',
'receipt_email' => $email
];
$session = \Stripe\Checkout\Session::create($session_data);
我看到receipt_email
实际上是payment_intent
的一个属性。我应该在什么时候设置receipt_email
?
根据@hmunoz(被选择的答案)的建议,这是修订后的$session_data对象:
$session_data = [
'payment_method_types' => ['card'],
'mode'=>'payment',
'billing_address_collection'=> 'auto',
'line_items'=> [['price' => STRIPE_PRICE, 'quantity'=> 1]],
'success_url' => URL.'success',
'cancel_url' => URL.'error',
'payment_intent_data' => ['receipt_email' => $email] //changed this line
];
$session_data
里能做到吗?如果可以,怎么做呢?还是说我需要等到结帐会话创建后再获取payment_intent
并设置它?抱歉,我只是想了解工作流程... - Shawn Cookepayment_intent_data
是CheckoutSession创建端点上的子哈希。所以,是的,你需要将其传递到session_data下面。 - hmunoz