[英]When is a payment successful in Stripe?
我正在創建一個Web應用程序:
付款成功且卡已收費(不拒收)時,我需要更新數據庫。
我的代碼在這里:我首先創建客戶。 (順便說一句,變量已聲明,一切正常)
$customer = \Stripe\Customer::create(array(
'email' => $_POST['stripeEmail'],
'source' => $_POST['stripeToken'],
'description' => $stripeEmail
));
然后為客戶創建訂閱:
$subscription = \Stripe\Subscription::create(array(
"customer" => $customer->id,
"plan" => $planName
));
我的問題:我是否需要創建一個網絡掛鈎來檢測付款是否成功? 還是成功提交表單后成功?
在正常情況下,當您創建訂閱時 ,Stripe將立即嘗試向客戶收費(使用Stripe進行的訂閱需預先付費)。 如果付款嘗試失敗,則API將立即返回錯誤,並且不會創建任何訂閱。
在這種情況下,您不需要使用Webhook。 只需使用正常的錯誤處理並檢查在調用\\Stripe\\Subscription::create(...)
時是否引發\\Stripe\\Error\\Card
異常。
請注意,如果沒有立即記帳的內容,則訂閱創建將始終成功。 這可能在各種情況下發生:
如果在創建訂閱時提供了trial_end
參數
如果計划有默認的試用期
如果您使用優惠券或負發票項目將第一張發票的總額減少到$ 0
客戶的account_balance
可以支付第一張發票的費用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.