Monthly recurring is not actually monthly – it's 30 days
-
Hello,
I love this plugin and i would love to be able to use it but after getting things setup and customized I discovered that the Monthly billing is not monthly but 30 days. This means that no matter when someone start their membership, the renewal date will move on day earlier every few months.I’ve never seen a site that states the membership is monthly but the day will wander around on you and get earlier by as many as 5 days a year. It’s always the same day you signed up.
How can I fix this for my site or what am I missing?
I understand paying for the membership gets me access to the forums and some recipes and maybe some help from the authors, but I would like to know that it is actually possible to have the start date be the same day of the month every month until cancellation.
Thank you.
-
I agree, perhaps anything that states “monthly” in the PMPPRO should be changed to 30 days or at least specify it avoid any kind of confusion which would lead to ambiguous payment processing.
I found the blog and plugin for Delaying subscription but I cannot get it to work. I need to figure out how to troubleshoot it.
https://github.com/strangerstudios/pmpro-subscription-delaysI’ve posted questions on the github site for the actual plugin. I’m hoping that one will get answered so in the mean time this one can get closed as it was related to “can you have memberships start on same day of the month?”
It would seem logical to just have a choice of fixed days (30 day) renewals or Date based in the Paid Membership Pro plugin.
Thanks
How does this post get marked as resolved if no one has responded with useful information?
Still trying to figure out how to use this plugin to have Monthly (not 30 day) memberships.
Thanks
Not sure why it looked resolved to you. It is not resolved for me.
I’m also not sure where the 30 day/month switch is occurring. We don’t do that translation ourselves, maybe your gateway does. Which gateway are you using?
Can you be more specific about how your levels are setup, which gateway you are using, and when you suspect the subscription is being changed either in PMPro or at the Gateway. Thanks.
Hi Jason,
First, thanks…
I logged in last night to check if anyone had replied and it was marked as resolved so I flipped it back.
I’m using WP 4.1.1 and PMPro Version 1.7.15.2
Plus PMPro Subscription Delays
Payment gateway is Stripe (Last attempt Webhook, Event Data and Event Details are below)It looks like the subscription is being passed to Stripe as a 30 day and that has always been the case even before I loaded the Subscription Delay Plugin.
The Subscription Delay Plugin seems to work if you enter a set number of days to delay but even then, it shows as renewing in 30 days exactly, not the same day next month.
At the far bottom of this reply are notes from the GitHub forum for strangerstudios/pmpro-subscription-delays
Membership levels:
Require an Initial Payment
Are set to be Recurring Subscription
Billing amount is same $ as the Initial payment / 1 month(s)
No billing cycle limit
No Custom Trial
Other settings:
Disable New Signups = Not checked
Membership Expiration = Not checked
Subscription Delay = Y1-M2-01
(Have tried 20 days to prove it works and a simple number of days works fine)Rather than retyping things, I’ve included the notes from the GitHub forum below to add to the discussion of the pmpro-subscription-delays plugin.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Event Details
ID:
evt_15fNGULciMzttLG7nH0oQkwR
Date:
2015/03/11 23:45:42
Type:
customer.subscription.created
Source:
APIEvent Data
object:
id: sub_5r5RYyYZHpwAoB
plan:
interval: “month”
name: “Test Level for order 39AF1B233E”
created: 1426131942
amount: 500
currency: “usd”
id: 39AF1B233E
object: “plan”
livemode: false
interval_count: 1
trial_period_days: 30
metadata:
statement_descriptor: null
statement_description: null
object: “subscription”
start: 1426131942
status: “trialing”
customer: cus_5r5RIekhJA10uk
cancel_at_period_end: false
current_period_start: 1426131942
current_period_end: 1428723942
ended_at: null
trial_start: 1426131942
trial_end: 1428723942
canceled_at: null
quantity: 1
application_fee_percent: null
discount: null
tax_percent: null
metadata:>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Status:
200 Success (1 try)
Request:{
“id”: “evt_15fNGULciMzttLG7nH0oQkwR”,
“created”: 1426131942,
“livemode”: false,
“type”: “customer.subscription.created”,
“data”: {
“object”: {
“id”: “sub_5r5RYyYZHpwAoB”,
“plan”: {
“interval”: “month”,
“name”: “Test Level for order 39AF1B233E”,
“created”: 1426131942,
“amount”: 500,
“currency”: “usd”,
“id”: “39AF1B233E”,
“object”: “plan”,
“livemode”: false,
“interval_count”: 1,
“trial_period_days”: 30,
“metadata”: {},
“statement_descriptor”: null,
“statement_description”: null
},
“object”: “subscription”,
“start”: 1426131942,
“status”: “trialing”,
“customer”: “cus_5r5RIekhJA10uk”,
“cancel_at_period_end”: false,
“current_period_start”: 1426131942,
“current_period_end”: 1428723942,
“ended_at”: null,
“trial_start”: 1426131942,
“trial_end”: 1428723942,
“canceled_at”: null,
“quantity”: 1,
“application_fee_percent”: null,
“discount”: null,
“tax_percent”: null,
“metadata”: {}
}
},
“object”: “event”,
“pending_webhooks”: 1,
“request”: “iar_5r5RVVHXhWL5xG”,
“api_version”: “2014-11-20”
}>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Event Details
ID:
evt_15fNGULciMzttLG7ECpwqqHu
Date:
2015/03/11 23:45:42
Type:
invoice.payment_succeeded
Source:
APIEvent Data
object:
date: 1426131942
id: in_15fNGULciMzttLG7yRqxX84U
period_start: 1426131942
period_end: 1426131942
lines:
object: “list”
total_count: 1
has_more: false
url: “/v1/invoices/in_15fNGULciMzttLG7yRqxX84U/lines”
data:
id: sub_5r5RYyYZHpwAoB
object: “line_item”
type: “subscription”
livemode: false
amount: 0
currency: “usd”
proration: false
period:
start: 1426131942
end: 1428723942
subscription: null
quantity: 1
plan:
interval: “month”
name: “Test Level for order 39AF1B233E”
created: 1426131942
amount: 500
currency: “usd”
id: 39AF1B233E
object: “plan”
livemode: false
interval_count: 1
trial_period_days: 30
metadata:
statement_descriptor: null
statement_description: null
description: null
metadata:
subtotal: 0
total: 0
customer: cus_5r5RIekhJA10uk
object: “invoice”
attempted: true
closed: true
forgiven: false
paid: true
livemode: false
attempt_count: 0
amount_due: 0
currency: “usd”
starting_balance: 0
ending_balance: 0
next_payment_attempt: null
webhooks_delivered_at: null
charge: null
discount: null
application_fee: null
subscription: “sub_5r5RYyYZHpwAoB”
tax_percent: null
tax: null
metadata:
statement_descriptor: null
description: null
receipt_number: null
statement_description: null>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Status:
200 Success (1 try)
Request:{
“id”: “evt_15fNGULciMzttLG7ECpwqqHu”,
“created”: 1426131942,
“livemode”: false,
“type”: “invoice.payment_succeeded”,
“data”: {
“object”: {
“date”: 1426131942,
“id”: “in_15fNGULciMzttLG7yRqxX84U”,
“period_start”: 1426131942,
“period_end”: 1426131942,
“lines”: {
“object”: “list”,
“total_count”: 1,
“has_more”: false,
“url”: “/v1/invoices/in_15fNGULciMzttLG7yRqxX84U/lines”,
“data”: [
{
“id”: “sub_5r5RYyYZHpwAoB”,
“object”: “line_item”,
“type”: “subscription”,
“livemode”: false,
“amount”: 0,
“currency”: “usd”,
“proration”: false,
“period”: {
“start”: 1426131942,
“end”: 1428723942
},
“subscription”: null,
“quantity”: 1,
“plan”: {
“interval”: “month”,
“name”: “Test Level for order 39AF1B233E”,
“created”: 1426131942,
“amount”: 500,
“currency”: “usd”,
“id”: “39AF1B233E”,
“object”: “plan”,
“livemode”: false,
“interval_count”: 1,
“trial_period_days”: 30,
“metadata”: {},
“statement_descriptor”: null,
“statement_description”: null
},
“description”: null,
“metadata”: {}
}
]
},
“subtotal”: 0,
“total”: 0,
“customer”: “cus_5r5RIekhJA10uk”,
“object”: “invoice”,
“attempted”: true,
“closed”: true,
“forgiven”: false,
“paid”: true,
“livemode”: false,
“attempt_count”: 0,
“amount_due”: 0,
“currency”: “usd”,
“starting_balance”: 0,
“ending_balance”: 0,
“next_payment_attempt”: null,
“webhooks_delivered_at”: null,
“charge”: null,
“discount”: null,
“application_fee”: null,
“subscription”: “sub_5r5RYyYZHpwAoB”,
“tax_percent”: null,
“tax”: null,
“metadata”: {},
“statement_descriptor”: null,
“description”: null,
“receipt_number”: null,
“statement_description”: null
}
},
“object”: “event”,
“pending_webhooks”: 1,
“request”: “iar_5r5RVVHXhWL5xG”,
“api_version”: “2014-11-20”
}>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Event Details
ID:
evt_15fNGULciMzttLG7cxCFTtdm
Date:
2015/03/11 23:45:42
Type:
invoice.created
Source:
APIEvent Data
object:
date: 1426131942
id: in_15fNGULciMzttLG7yRqxX84U
period_start: 1426131942
period_end: 1426131942
lines:
object: “list”
total_count: 1
has_more: false
url: “/v1/invoices/in_15fNGULciMzttLG7yRqxX84U/lines”
data:
id: sub_5r5RYyYZHpwAoB
object: “line_item”
type: “subscription”
livemode: false
amount: 0
currency: “usd”
proration: false
period:
start: 1426131942
end: 1428723942
subscription: null
quantity: 1
plan:
interval: “month”
name: “Test Level for order 39AF1B233E”
created: 1426131942
amount: 500
currency: “usd”
id: 39AF1B233E
object: “plan”
livemode: false
interval_count: 1
trial_period_days: 30
metadata:
statement_descriptor: null
statement_description: null
description: null
metadata:
subtotal: 0
total: 0
customer: cus_5r5RIekhJA10uk
object: “invoice”
attempted: true
closed: true
forgiven: false
paid: true
livemode: false
attempt_count: 0
amount_due: 0
currency: “usd”
starting_balance: 0
ending_balance: 0
next_payment_attempt: null
webhooks_delivered_at: null
charge: null
discount: null
application_fee: null
subscription: “sub_5r5RYyYZHpwAoB”
tax_percent: null
tax: null
metadata:
statement_descriptor: null
description: null
receipt_number: null
statement_description: null>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Status:
200 Success (1 try)
Request:{
“id”: “evt_15fNGULciMzttLG7cxCFTtdm”,
“created”: 1426131942,
“livemode”: false,
“type”: “invoice.created”,
“data”: {
“object”: {
“date”: 1426131942,
“id”: “in_15fNGULciMzttLG7yRqxX84U”,
“period_start”: 1426131942,
“period_end”: 1426131942,
“lines”: {
“object”: “list”,
“total_count”: 1,
“has_more”: false,
“url”: “/v1/invoices/in_15fNGULciMzttLG7yRqxX84U/lines”,
“data”: [
{
“id”: “sub_5r5RYyYZHpwAoB”,
“object”: “line_item”,
“type”: “subscription”,
“livemode”: false,
“amount”: 0,
“currency”: “usd”,
“proration”: false,
“period”: {
“start”: 1426131942,
“end”: 1428723942
},
“subscription”: null,
“quantity”: 1,
“plan”: {
“interval”: “month”,
“name”: “Test Level for order 39AF1B233E”,
“created”: 1426131942,
“amount”: 500,
“currency”: “usd”,
“id”: “39AF1B233E”,
“object”: “plan”,
“livemode”: false,
“interval_count”: 1,
“trial_period_days”: 30,
“metadata”: {},
“statement_descriptor”: null,
“statement_description”: null
},
“description”: null,
“metadata”: {}
}
]
},
“subtotal”: 0,
“total”: 0,
“customer”: “cus_5r5RIekhJA10uk”,
“object”: “invoice”,
“attempted”: true,
“closed”: true,
“forgiven”: false,
“paid”: true,
“livemode”: false,
“attempt_count”: 0,
“amount_due”: 0,
“currency”: “usd”,
“starting_balance”: 0,
“ending_balance”: 0,
“next_payment_attempt”: null,
“webhooks_delivered_at”: null,
“charge”: null,
“discount”: null,
“application_fee”: null,
“subscription”: “sub_5r5RYyYZHpwAoB”,
“tax_percent”: null,
“tax”: null,
“metadata”: {},
“statement_descriptor”: null,
“description”: null,
“receipt_number”: null,
“statement_description”: null
}
},
“object”: “event”,
“pending_webhooks”: 1,
“request”: “iar_5r5RVVHXhWL5xG”,
“api_version”: “2014-11-20”
}>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
From the GitHub forum for strangerstudios/pmpro-subscription-delays
=====================
kespig commented on Jan 16I would I setup a delay so that all memberships renew on the same date monthly? Such as the 5th of every month? I’m currently using “YY-M2-05” and that’s not working. Please help, thanks!
=====================
Saylrman64 commented on Feb 3I am trying to get the same thing going.
Tried Y1-M2-01 (first of every month)
Tried YY-MM-01.
If this can work, what happens the second year? Will it jsut keep rolling?Thanks
=====================
Saylrman64 commented on Feb 3Having finally found and read some more details related to the use of the Y-M-D field from here: https://www.paidmembershipspro.com/add-ons/plugins-on-github/pmpro-expiration-date/
and from the Readme file…
This is still not changing the renewal date no matter what format I use. Y-M-01 or Y-M2-01
Even Y1-M2-01 does not work.
Memberships still roll on 30 days.
Is there a way to troubleshoot this?Thanks
=====================
Saylrman64 commented on Feb 4I have also tried fixed days by entering just 20 days delay and it seems to work fine with or without an initial payment.
I have since tested PMPro on a clean WP site and no plugins of any kind. The delay does not do anything. Using Y-M2-01 to get next payment to be on the first of the next month. I’ve tried to set it up with no initial payment as well with no luck.
Thanks
=====================
- The topic ‘Monthly recurring is not actually monthly – it's 30 days’ is closed to new replies.