PayPal recurring payment plan modification - paypal

I have a PayPal billing plan for recurring payments. But I need to achieve a scenario where if a user subscribes to my billing plan in the middle of a month then he will be charged instantly and the next billing date will be the first day of next month. How this scenario can be solved?

What type of billing plan for what type of recurring payments? There's like 5+ different APIs and versions.
With the the newest Subscriptions API, you could have a plan that charges a setup fee for your instant charge:
"payment_preferences": {
"setup_fee": {
"value": "10",
"currency_code": "USD"
},
and in billing cycles has a "tenure_type": "TRIAL" with no pricing_scheme that lasts XX amount of days, where XX is calculated by you to be the number of days remaining in the current month that you don't want to charge. Then after the initial XX day trial there would be a "tenure_type": "REGULAR" for charging every month.

Related

Using discount code with recurring payments

What happens if a discount amount is greater than one payment of a recurring payment product? For example, if a discount code of $25 is applied to a product costing $10 per month? Is the discount spread over the 3 first payments ($0, $0, $5, then $10...)? Or is it just applied to the first month ($0, $10...) and the remaining of the discount is lost?
I got an answer from the developer here:
https://easydigitaldownloads.com/blog/free-trial-support-added-recurring-payments/#comment-1060317
The short answer is that the discount is just applied to the first month.

testing recurring payments using cmd=_xclick-subscriptions

I've got a form which is automatically submitted to paypal. If someone signs up for a recurring subscription, the following fields are added to the form:
cmd=_xclick-subscriptions
a3=(dollar amount)
p3= (billing frequency)
t3= (billing period)
p3 and t3 are always 1 and M (once every month). Read a paypal document which said changing that to once every day would actually force the recurring payments to happen every minute instead of day. I tried doing this but it's not rebilling every minute.
Is there something else i have to do in order to trigger a recurring payment?
In t3 here M stands for month not for minute, so t3=M and p3=1 means every month.

Recurring payments - how long is a month?

For monthly recurring payments, how long is a month defined to be? I need to be able to independently track subscription end dates on my web service and I'd like to be consistent with PayPal.
As said on PayPal's documentation:
How Subscriptions with Monthly Billing Cycles Work
For monthly billing cycles, recurring payments are collected on the
same day of the month. If the initial recurring payment falls on the
31st, PayPal eventually adjusts the billing cycle to the 1st of the
month. If the initial recurring payment falls on the 29th or 30th,
PayPal adjusts the billing cycle to the 1st of the month on the
following February.
When Monthly Recurring Payments Are Due and Collected on the 31st
The subscription terms are:
$25.99 USD a month; the subscriber signs up on Thursday, July 31. The
subscriber is billed as follows:
Thursday, July 31 = $25.99 USD Saturday, August 31 = $25.99 USD
Wednesday, October 1= $25.99 USD Saturday, November 1= $25.99 USD and
so on... Notice that no recurring monthly payment was collected in
September, but recurring payments were collected roughly every 30
days.
When Monthly Recurring Payments Are Due and Collected on the 30th
The subscription terms are:
$25.99 USD a month; the subscriber signs up on Tuesday, December 30.
The subscriber is billed as follows:
Tuesday, December 30 = $25.99 USD Friday, January 30 = $25.99 USD
Sunday, March 1= $25.99 USD Wednesday, April 1= $25.99USD and so on...
Notice that no recurring monthly payment was collected in February,
but recurring payments were collected roughly every 30 days.
Read more at https://developer.paypal.com/webapps/developer/docs/classic/paypal-payments-standard/integration-guide/subscribe_buttons/

How to implement PayPal recurring payment with dynamic amount?

I want to implement recurring payment in PayPal with variable amount. I successfully implement recurring payment with constant amount. But i don't know how to implement the recurring payment with variable amount,
Very typical scenario would be Telephone Bill amount deduction by the service providers.
If my September month bill contains Rental : 20 Euros, usage : 15 Euros, then the deduction would be 35 euros
Next if my October month bill contains Rental : 20 Euros , usage : 25 Euros, then the deduction would be 45 Euros.
Next if my November month bill contains Rental : 20 Euros , usage : 50 Euros, then the deduction would be 70 Euros.
Considering the above scenarios, please advise how to handle it from both the sides..
Thanks in advance..
Riyaz
You might have to simply automate the PayPal payment from your end,
not automatically from PayPal's end. You can't have a subscription
that varies in price, so you'll have to do a single charge every
month, with the amount you specify. (As far as I know)
That also means that you'll have to manage the subscriptions on your
end (pretty easily doable), and there will be no way for the user to
un-subscribe from the PayPal side.

Paypal IPN get subscription end date (recurring)

I'm developing a site that has annual or monthly paypal subscription options. From the IPN data that receives, can I determine if the subscription is annual or monthly? Doesn't seem possible.
At the moment it's set up just for monthly payments, so in my own db I store something along the lines of:
$data = array(
'id' => $ipnData['custom'],
'subscribed' => 1,
'subscription_fee' => $ipnData['mc_amount3'],
'subscribed_until' => date("Y-m-d H:i:s",strtotime($ipnData['subscr_date'] . '+1 Month'))
);
You'll see I'm using the subscription_date variable and just incrementing it by a month. But now, potentially subscriptions can be annual, and I need somehow to get the date in which the next payment would be taken. This doesn't seem to be a variable? A return of the original T3 would be great.
I can do this with custom fields, but that seems a bit daft. Cheers.
PayPal will send a notification when the subscription ends:
txn_type = "subscr_eot"
The moment you receive this is the moment the subscription expires. This is when you would downgrade/cancel their account. Note that this is different from txn_type="subscr_cancel" which is triggered when a user cancels their subscription; this could be the day after they subscribe and they may have time remaining on the subscription. In this case you will still receive the subscr_eot when the time runs out.
I also found this to be a bit counter-intuitive.