wpsharks / s2member

s2Member® Framework (membership management for WordPress®).
64 stars 36 forks source link

Feature Request: Limited Number of Recurring Payments (Installment Plans) #615

Open patdumond opened 9 years ago

patdumond commented 9 years ago

Reference Zendesk ticket: https://websharks.zendesk.com/agent/tickets/7190

This is at least the third ticket I've seen asking for "installment plan" type subscription payments. That is, they want to offer an option for a full payment of $xxx or "3 easy payments of $xx" for either an annual or lifetime subscription.

PayPal supports the use of a TOTALBILLINGCYCLES field in their recurring payments API: https://developer.paypal.com/docs/classic/express-checkout/integration-guide/ECRecurringPayments/. They also support TRIALTOTALBILLINGCYCLES for trial subscriptions.

I'm not sure about other payment gateways.

jaswrks commented 9 years ago

@patdumond (cc @raamdev) There is an rrt="" attribute that can be used to accomplish this. I won't say that it's perfect, so I will leave this issue open. However, you can use the rrt="" attribute and disable s2Member's EOT system in order to accomplish this in the short term.


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 ⥱ PayPal Options).

Disable the EOT system and you have what you're looking for.

patdumond commented 9 years ago

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 ⥱ PayPal Options).

Yes, but that's not what the users who have asked for this feature are looking for -- they want to be able to sell something like 1 year subscription for 3 monthly payments of $33.00, instead of 1 monthly payment of $99.00.

jaswrks commented 9 years ago

3 monthly payments of $33.00

So to accomplish this you can use attributes like:

rp="1" rt="M" ra="33.00" rrt="3"

Now turn off s2Member's EOT System so that after the 3 payments, they continue to have access.

You're correct though, this functionality is not ideal, because after 1 year there is still no EOT. That's the closest I can get you for the moment, but I'll leave this open for future enhancement.

patdumond commented 8 years ago

I've made a note of this. It probably won't work for most people, because they want the installment plan to be optional. At least I have something to offer them though. Thanks.

idelfonsog2 commented 8 years ago

Hi jaswinc,

I have follow your instruction and I was testing them using a Paypal sandbox account, but the funds in the account today haven't change. Here is what I have for my paypal form: ps="paypal"

dg="0" ns="1"

ta="67.00" tp="365" tt="D" ra="0" rp="3" rt="M" rr="0" rrt="3" rra="2"

is this right?... I just looked at the short code attributes an realize ra="" must be set to the amount that you want to charge recurring