簡體   English   中英

Stripe何時可以成功付款?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM