簡體   English   中英

訂閱中的Stripe :: InvalidRequestError

[英]Stripe::InvalidRequestError in Subscriptions

我已經實現了Stripe來處理我網站上的訂閱。 一切都工作正常,除非涉及取消訂閱。

這是我的控制器:

Stripe.api_key = Rails.configuration.stripe[:secret_key]

def cancel
 @sub = params[:sub]
 @customer = retrieve_stripe_user
 @subs = @customer.subscriptions.retrieve(@sub).delete
 if @subs.status == "canceled"
  flash[:success] = "Your subscription has been successfully canceled."
 else
  flash[:failure] = "We are having problems. Please try again."
 end
 redirect_to :back
end

def retrieve_stripe_user
 Stripe::Customer.retrieve(current_user.stripe_user_id)
end

當我嘗試取消訂閱2時,會發生以下情況:
-我收到此錯誤: 客戶XXX沒有ID為YYY的訂閱
-訂閱實際上已從Stripe中刪除!

更奇怪的是,當我嘗試使用Rails控制台中的相同代碼時,一切都正常運行。

有人知道在這里做什么嗎? 我有點迷路了。

謝謝

我不是一個紅寶石家伙,所以如果我不在這里,就對我好一點;)

來自https://stripe.com/docs/api/ruby#cancel_subscription的示例紅寶石代碼為

customer = Stripe::Customer.retrieve("cus_5SGFGHJOiadMQq")
customer.subscriptions.retrieve("sub_5Swi4bZ4xEyClq").delete  

您是否已確認代碼實際上傳遞了正確的訂閱ID?

編輯
對於我來說,很奇怪的是,當您取消訂閱時會收到錯誤消息,但實際上卻刪除了該訂閱。 當嘗試模擬相同的條件(在php環境中)時,我注意到在取消訂閱與實際在Stripe儀表板日志中顯示取消之間存在明顯的延遲(60sec +),這使我一開始就不滿意。 除了繼續查看儀表板中的日志和事件以獲取線索外,我別無其他建議。

祝好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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