Techioz Blog

アップデートでStripeサブスクリプションからクーポンを削除

概要

更新中にサブスクリプションのクーポンを削除する必要があります。nil のクーポンを API に渡すと削除されるはずだと思いましたが、投稿から削除されるだけです。

他にもこんなやり方もありますよ~ https://translate.google.com/translate?hl=ja&sl=en&tl=ja&u=https://stripe.com/docs/api/discounts/subscription_delete

しかし、それは私がやりたくない別の呼び出しを必要とします。

      Stripe::Subscription.update(
        subscription.stripe_id,
        {
          coupon: nil,
          items: [
            {
              id: subscription.item_stripe_id,
              quantity: 0,

            },
            { 
              plan: to_plan.stripe_id,
              quantity: 1
            }
          ],
        }
      ) 
{
  "items": {
    "0": {
      "id": "si_G5sdf33t89",
      "quantity": "0"
    },
    "1": {
      "plan": "a_plan",
      "quantity": "1"
    }
  }
}

解決策

coupon: ''

空の文字列に設定されたクーポンはクーポンを削除しますが、nil/null は無視されます。