Please Log in or Create an account to join the conversation.
You could set your Stripe gateway to have "Accept payment once" set to "Even if payment is pending authorization, authorized or captured". Subscriptions would be activated immediately and basket should be marked accordingly as well. It of course activates 10 days before their SEPA payment clears, but I guess that'd be a question of how often do payments not clear.1) As we use Stripe for recurring payments we have a long delay between the time where a payment or recurring payment is launched and the time where Stripe sends back a notification regarding the correct or disputed payment.
onCPayAfterPaymentStatusUpdateEvent is fired if there's a payment status update attempt of any kind (even if the payment status isn't being changed). There's also onCPayAfterPaymentStatusChange, but it only applies if the payment status is actually changing from something to something.For now we use OnCPayAfterPaymentStatusUpdateEvent to register the payment once it's received and transfer the information to our invoicing software.
The immediate state should be Pending. If the basket isn't set to Pending it will expire so it should at least be set to Pending. When the payment comes through it should be set to Completed.We cannot use CBSubs states (pending, completed, processed) because for recurring payments there is no intermediate state in CBSubs during the 10 days process of Stripe Sepa
Possibly. Depends on how well we can support this in other gateways as it'd be a waste of resources to implement this functionality for only 1 of the supported gateways.2) Do you plan to implement annual subscription with the ability to pay in 12 monthly payments with Stripe ?
Please Log in or Create an account to join the conversation.
You could set your Stripe gateway to have "Accept payment once" set to "Even if payment is pending authorization, authorized or captured". Subscriptions would be activated immediately and basket should be marked accordingly as well. It of course activates 10 days before their SEPA payment clears, but I guess that'd be a question of how often do payments not clear.
So is it used for triggering recurring payments and when in this case ?There's also onCPayAfterPaymentStatusChange, but it only applies if the payment status is actually changing from something to something.
Again our issue is with recurring payments, the basket is set to completed when recurring payments occur and then we have no way to trigger an unpaid invoice for recurring payments in our outside software.The immediate state should be Pending. If the basket isn't set to Pending it will expire so it should at least be set to Pending. When the payment comes through it should be set to Completed
Please Log in or Create an account to join the conversation.
It should, yes. When a dispute is created the current state of the subscription should be changed from Completed to Reversed. Once the dispute is closed if you won the dispute a Canceled_Reversal is used to revert it back to its previous state (completed) while Lost_Reversal closes it out.That's an idea as we do not have much disputes. But in a case of a dispute will CBSubs deactivate the subscription and set the payment to unpaid ?
All that parameter does is skip Pending state basically. Instead of being set as Pending it will be marked Completed immediately. We do not have a trigger that fires before a recurring payment is paid. That wouldn't even be possible without some sort of CRON scheduler to check for that regularly. CBSubs just waits until the payment gateway tells it a renewal has come in. If the renewal doesn't come in then it will expire the subscription, which is done using whatever method you configured in CBSubs > Settings > Global.Also, will it work for recurring payments ? usually this is our biggest problem as accounting department want their invoice as soon as it's triggered even if the real debit occurs a few days later with Stripe Sepa
Yes, it should work fine as long as a payment status change is being made. To be specific we're talking payments within CBSubs > Payments as that's what the event relates to. When a recurring payment comes through it should log a new payment row and fire that trigger. Otherwise you have onCPayUserStateChange which fires when a subscription user state change is made and always will if there's a renewal.So is it used for triggering recurring payments and when in this case ?
I was not aware you needed to invoice them before the recurring payment is even made, which is not what we discussed previously. We are going to make improvements to invoices, but not in the way you're wanting by invoicing them before recurring payment. The invoice would be created when the payment comes through.It's been a few years since we report this behavior with payments and baskets. Even if you consider baskets as invoices (which they are not) we still need to issue an invoice before asking a payment or a recurring payment in this case.
We have dealt with this by using an external software such as Invoice Management from JoomlaThat. With CBSubs triggers this works fine for our customers except for recurring payments because invoices are issued only after the payment is received which can go up to 10 days with Stripe.
In return this occurs lots of customer service action and conflicts with accounting departments to explain this.
So we need to have a solution for this and I would prefer to keep CBSubs for our management as it is a very good software combined with CB.
There is no trigger available for what you're wanting to do. There is no process available either. CBSubs does not sit and fire a trigger while it's waiting for a payment. It doesn't act until a payment either shows up or if the subscription is expired when it runs expiration checks, which are just checking if the expiration date is reached and if it does expire subscription which will fire the above triggers.Would it be possible for you to draft a solution or set a trigger which would be fired when the cron task launches the recurring process for instance ?
Please Log in or Create an account to join the conversation.
Your accounting department can then just use Stripe > Customers > Invoices (it even has Export functionality) for a full invoice record.
Please Log in or Create an account to join the conversation.
I believe Stripe allows you to configure the invoice number format somewhat based off the country of the account. You should find those settings in Stripe > Settings then under Billing click "Invoice template". Doesn't really solve the issue of using multiple gateways though.Unfortunately that's not doable as legally we need to have an ordering scheme in the invoices that we issue for our customers.
How far in advance do you need to be creating these invoices? One option is to create the next invoice when the current is paid. So for example when a recurring payment comes through you mark the previous invoice in your invoice system as paid then immediately create the next invoice, would that work? If that'd work you should be able to just do this on onCPayAfterPaymentStatusUpdateEvent. So for example if your recurring payment duration is 30 days you'd be creating the invoice on day 1 since you're creating it when the previous recurring payment is paid.Invoice manager from JoomlaThat is ok for all this but we would need a way to tell it that a recurring has occurred
Please Log in or Create an account to join the conversation.