#Wheaty

1 messages · Page 1 of 1 (latest)

jolly forumBOT
eager relic
#

Manually paid or not is decided by the collection_method : charge_automatically or send_invoice

bold aspen
#

it depend on how you created the subsciption. if you add the DefaultPaymenteMethodID while creating subscription so it will charge immediatley and payment is automatic.
but if you dont pass DefaultPaymenteMethodID instead you set CollectionMethod : "send_invoice" so it will wont charge auto instead it will send you invoice for each payment and you have to pay manually by any mean you want card,bank etc.
for the difference you can see in Billing->subscitption section the billing type is diferent for them . one of them is auto and second is "send" which is not auto

cyan glacier
#

Thank you team

cyan glacier
# eager relic Manually paid or not is decided by the `collection_method` : `charge_automatical...

per https://stripe.com/docs/api/subscriptions/create#create_subscription-payment_behavior

I am setting payment_behavior=default_inomplete

Use default_incomplete to create Subscriptions with status=incomplete when the first invoice requires payment, otherwise start as active. Subscriptions transition to status=active when successfully confirming the payment intent on the first invoice.

"When successfully confirming the payment intent on the first invoice" - Assuming the customer has a default payment method for their account (not for said subscription, as it is newly created) - will the system attempt to auto-pay this payment intent, or will it require manual payment?

eager relic
#

Yes it will try to use the Customer payment_settings.default_payment_method. Look at the definition here https://stripe.com/docs/api/subscriptions/object#subscription_object-default_payment_method

default_payment_method
ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. This takes precedence over default_source. If neither are set, invoices will use the customer’s invoice_settings.default_payment_method or default_source.

cyan glacier
#

So I ideally want the functionality of both -
I'd like it to generate an invoice (not auto-charge), and await successful payment to activate the subscription.

If I were to set collection_method=send_invoice, that would await payment - however the side effect of this is for the subscription to automatically be marked as active.

payment_behavior=default_incomplete will await payment to activate the service, but will attempt to auto-charge the client, and cannot be used with send_invoice.

How do you recommend I accomplish this?

#

I appreciate your time.

eager relic
#

I'd like it to generate an invoice (not auto-charge), and await successful payment to activate the subscription.
Is this for the first time, or you want this behavior for every billing cycle?

cyan glacier
#

Initial subscription creation

eager relic
#

How about creating a Subscription with collection_method = charge_automatically, payment_behavior = default_incomplete. Then after customer paid and it's active, you change it back to collection_method = send_invoice?

cyan glacier
#

If I were to set payment_behavior=default_incomplete this would attempt to pay with Customer default payment method however, right?

#

(as there is no subscription default payment method)

eager relic
#

Yes, if the customer doesn't have any then it will wait

cyan glacier
#

No workaround from that though?

#

I'd ideally like this to work under all conditions

#

If payment_behavior=default_incomplete - it may attempt to charge customer account default payment method.

eager relic
#

But if they already have a default payment method, why do you still want to wait for them to pay by themselve, instead of just let Stripe using it?

cyan glacier
#

For the beginning of a new subscription, I'd like them to manually pay the first invoice.

#

So they are aware of entering into said "billing agreement"

#

When is the default payment method associated to the account instead of per subscription?

#

Perhaps I could just ensure it is never added to account?

eager relic
#

Making sure the customer never has any payment method sounds like the ideal approach

cyan glacier
#

When are payment methods added to the "customer account" default payment method?

#

As by default when paying an invoice subscription they are added to the subscription only, correct?

#

Is it added to the account for one-time invoices?

eager relic
#

It won't add unless you specifically doing so

#

ie if you calling an Update Customer API specifically

cyan glacier
#

Awesome, sounds like that will work then.

#

Thank you kindly for your time. 🙂
@eager relic

eager relic
#

good luck!