2

Rails アプリでの支払いにStripeを使用しています。日割り計算または従量制サブスクリプションを無効にしたいという事実を除いて、すべてがうまく機能しています。顧客はダッシュボードに表示され、プランのキャンセルと変更は払い戻しなどに取り組んでいます。ただし、サブスクリプションを日割りしたくありません。

私のユーザーモデルでは、以下の属性を送信していますが、比例配分以外はすべて機能しているようです。そのユーザーがプランをキャンセルまたは切り替えると、比例配分された金額が払い戻されます (サブスクリプションに対して支払われた全額よりも少ない額)。彼らが支払った全額を返金したい。

customer = Stripe::Customer.create(
        :email => email,
        :description => name,
        :card => stripe_token,
        :prorate => false,
        :plan => roles.first.name
      )

Stripe でこれを適切に構成する方法について何か考えがある人はいますか? ドキュメントをチェックアウトしましたが、役に立ちません - https://stripe.com/docs/subscriptions。また、サイトでプランを設定するときにこれを構成する方法もわかりません。

どんなヒントでも大歓迎です!ありがとう

4

1 に答える 1

4

正しいアイデアですが、適切な場所ではありません。最上位の顧客はprorateプロパティを認識せず、保存されません。Stripe プランは前払いで請求されるため、これを設定する必要があるのは、プランを変更するときだけです。(定義上、新しいサブスクリプションは按分できません。)prorateは各プラン変更呼び出しで設定され、それらのプラン間で変更する行為にのみ適用されます。

したがって、ユーザーが計画を変更する場合は、update_subscription呼び出しが比例配分に対して false を通過することを確認する必要があります。

customer.update_subscription(plan: 'newplan', prorate: false)

日割り計算による計画変更はもう必要ありません。

キャンセルによる払い戻しはまったく行われないため、払い戻しが行われる場合は、Stripe サポートに連絡する前に自分のコードを再確認してください。キャンセルの払い戻しはコードからのみ行う必要があり、refund呼び出しはデフォルトで全額払い戻しを行います。

誤って日割り計算でアップグレードされたユーザーに対してその払い戻しを行う場合、最後の支払いは日割り計算されている可能性が高いため、全額払い戻しは最後に支払った日割り計算された金額になることに注意してください。そのため、「日割り計算された」払い戻しが表示されている可能性があります。

于 2013-09-07T15:51:21.777 に答える