Stripe fixed recurring (RRT) payments never ends


I have configured a Pro-Form with RRT attribute =“4”

After 4 payments, I have realised that Stripe has drafted a new invoiced for the 5th payment.

In the Stripe plan info I can see these Metadata values:

  • recurring true
  • recurring_times 4

I have asked Stripe support and they say that Metadata is just information created by the plugin but it’s not used to manage the subscription. According them, there is no way to set up a subscription to stop after N occurrences, so…

Automatic EOT Time is empty

Should I expect that S2Member will cancel the subscription anytime?

Will Stipe charge the 5th payment?

Does anyone here used this RRT attribute with Stripe?

I’ll thank any help

Thank you

Did you ever find a solution to this issue?


I use Stripe with recurring payments limited in number and it works well but know that it is necessary to provide a monthly payment less than the normal number expected in your shortcode because of a trial period automatically created by Stripe.
So I think your customer will be charged one time too much if you do nothing.
So remember to manually cancel his subscription in Stripe to avoid this and correct your shortcode as soon as possible.
This anomaly should be resolve in the future version of s2member.

Best regards. Brice.

1 Like

Hi Carlos.

It’s true that Stripe doesn’t have installments, one has to manage it. So s2 adds that metadata to the subscription, and then keeps track of the payments. When they’re done, s2 ends the subscription so it doesn’t charge the customer again.

The description for the rrt attribute mentions this. WP Admin > s2Member > Pro-Forms > Shortcode Attribures > rrt

  • rrt="" Recurring Times (i.e., a fixed number of installments) . Only valid w/ Membership Level Access. When unspecified, any recurring charges will remain ongoing until cancelled, or until payments start failing. If this is set to 1 or higher the regular recurring charges will only continue for X billing cycles, depending on what you specify. This is only valid when rr="1" for recurring “Subscriptions”. Please note that a fixed number of installments, also means a fixed period of access. If a Customer’s billing is monthly, and you set rrt="3" , billing will continue for only 3 monthly installments. After that, billing would stop, and their access to the site would be revoked as well (based on your EOT Behavior setting under: s2Member → Stripe Options) . IMPORTANT NOTE: If you don’t offer a trial period; i.e., the first charge occurs when a customer completes checkout, you should set this to the number of additional payments, and NOT to the total number. For instance, if I want to charge the customer a total of 3 times, and one of those charges occurs when they complete checkout, I set should this to rrt="2" for a grand total of three all together.

The reason for that is that when a subscription didn’t have a trial, Jason charged the first payment outside of the subscription as a direct payment, and created the subscription with a trial term equivalent to it. The reason for that was that in some payment gateways it was more reliable to make the first charge that way to know immediately if the payment went through.

I have changed that in the new Stripe integration update, so subscriptions without a trial, when rrt is 4, it’s 4 payments, with no additional one at the beginning. I’ll have a Release Candidate published in the coming days.


Yesterday I was able to reproduce the extra charge in the installments test, even with the updated integration.

So investigated it closely until I found the issue: there was a mistake in the times calculation to finish the subscription, resulting in a payment too late…

I’ve fixed it in my development copy and am doing new tests. Will be included in the coming release.


1 Like