• 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.

    https://www.ads-software.com/plugins/paid-memberships-pro/

Viewing 5 replies - 1 through 5 (of 5 total)
  • 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.

    Thread Starter [email protected]

    (@manuelpalachukcom)

    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-delays

    I’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

    Thread Starter [email protected]

    (@manuelpalachukcom)

    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

    Plugin Author Jason Coleman

    (@strangerstudios)

    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.

    Thread Starter [email protected]

    (@manuelpalachukcom)

    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:
    API

    Event 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:
    API

    Event 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:
    API

    Event 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 16

    I 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 3

    I 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 3

    Having 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 4

    I 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
    =====================

Viewing 5 replies - 1 through 5 (of 5 total)
  • The topic ‘Monthly recurring is not actually monthly – it's 30 days’ is closed to new replies.