Paypal Subscriptions: Approval Lifetime? - paypal

When a PayPal subscription is created, an approval URL is made available in the response.
It looks like this, including a token:
https://www.sandbox.paypal.com/webapps/billing/subscriptions?ba_token=BA-012456AB393ABC890
The documentation does not seem to specify the lifetime of the approval link. Is there a lifetime, or is it eternal?
With previous versions of the PayPal API, similar links have been thought to last for three hours. In Sandbox, the link seems to last longer than 3 hours, although this might be unique to Sandbox.

Paypal's Merchant Technical Support says that "Unapproved tokens can be approved as late as 72 hours later". This is undocumented, so it could change in the future.
On the other side, remember that you can retrieve the current approval token by the HATEOAS links when you retrieve a subscription through the API.

Related

Get data on PayPal subscription profile without access to original IPN

One of my customers had a website hosted on FusionHQ with subscription profiles through PayPal. When migrating the payments, I guessed I could just change the IPN and would get the new messages. But it seems that Fusion has manually set nofify_url parameters for their subscription profiles and there seems to be no way to change the notify_url.
Though slightly annoying, I guessed I could still use the classic payments API to get information and do something stupid like checking the subscribers' status on the assumed expiration date. But, it turned out that PayPal doesn't allow it because the specific API FusionHQ has used, with the following error message:
Subscription Profiles not supported by Recurring Payment APIs.
The thing is that there is no way I can get access to the old IPN server since it is on FusionHQ's domain. After searching through StackOverflow, I've really lost all hope of doing this in a decent way, and I'm about to redirect my customer's PayPal emails to some SMTP bot to parse them and give me the transactions update. But this is obviously a very crappy and unreliable way. So, does anyone have any idea of what to do?

Paypal Rest API vs Classic Sdk

I am working with paypal first time.
I have a product and I want to integrate paypal with it.
I want to achieve the following tasks :
Client comes to my website and select a plan,which is a monthly recurring plan.
Then client is redirected to Paypal for payment.
Client makes payment.
Return backs to home page.
I have gone through the documentation of paypal and I have the following questions.
What should I use REST API or Classic Sdk, as I want to create Recurring Profile,Work with EXPRESS-CHECKOUT and REFERENCE TRANSACTIONS.
I have customers all over globe and it is stated in the documentation that, for the customers in Germany and China , I have to use REFERENCE TRANSACTION.
Some where in the documentation of Merchant SDK it is stated that the classic API's will be deprecated, so is it a good approach to use Classic SDK
I also wanted to track the transactions(payment) made by user, so that I can show him the amount that is deducted in each month in his profile details.
Please suggest a feasible solution to my problem.
Thanks in advance.
Here's what I use. I went to Web Payments Standard and created a Subscription button. (I like the unencrypted variety, but you can encrypt if you want.) In there, you set the terms of the subscription, as well as where to post the IPN message. When the IPN message comes back, you deal with it. You'll get a subscr_signup at the start along with a subscr_payment. Then, on renewals, you'll get a subscr_payment again. What I like to do is store every verified IPN message in the database for my customer.
For handling the management of those subscriptions for things like tracking info, refunds, subscription cancellations, and voids, you'll need to use NVP API, which is a very simple API. If you stored in a database every IPN message with all those fields, then you should be able to pass certain fields of those to the NVP API in order to get what you need done.
If you're worried about longevity of the APIs, then don't. All they do when they deprecate APIs is stop giving you good docs on them. They still let those older versions run. If they didn't, there would be major upheaval on the web with web commerce products breaking all over the place. However, that said, if you want to prepare for the future, then get on the Braintree Payments API because PayPal bought Braintree and that's the future of their API.

Paypal App is "Conditionally Approved".What is the timeline to get it approved?

I have created and submitted a Paypal application ( using the classic API). The application is in a conditionally approved state. Paypal reached out and asked additional questions which I responded back with details. The application does not use the Paypal API to make payments. It only reads transactions related data and shows useful reports and insights for users. The API permissions requested are
1.Obtain transaction specific information.
2.Obtain your paypal account balance
3.Search your transaction specific information.
4.Search your transactions for items that match specific criteria and display the results
I was able to get a live app id and also have the API username, password and API signature. However since our app uses Paypal oauth, the permissions part doesn't work . My guess is this is because the app is conditionally approved. Is this the right assumption? Also what is the typical timeline for an app to get approved? My Paypal account from which I created and submitted the app is a verified account. I have sent messages from within my developer portal to support but I haven't heard anything back.
So far we have been working with a sandbox account. The live application I created is in a different account than the sandbox account. I am not sure if this is an issue.Would be great if someone who has been through the process can confirm.
Unfortunately there is not really a "typical" time frame for app approvals as too many factors go into the approval process. The best thing would be to call in to PayPal to inquire on the status.

Recurring Payments API on Dwolla

Just running through the API to see if I can use Dwolla for web apps that require recursive billing - there is no API support for this, is there?
Thanks!
Michael- you mention above recurring was going to be added to the v3 API release.
Has this been delayed?
Also I sent a email to your posted email address between Dec25 and Jan.1 and didn't rcv a reply to a previous post on the endpoints for the Funding sources.
Did you rcv this private email concerning Clay Gulick's questions on GetSatisfaction?
These Funding source API's still seem to have lots of questions around them from the developer community and not much documentation on how to chain FORM processes with the oauth Token from REGISTER to FUNDINGSOURCE BANKACCOUNT ENDPOINTS
Could you answer the questions or have a Dwolla developer answer those -- most of the questions were on GetSatisfaction.
Both REgistering a user, REcurring payment streams and creating a Bank account and verifying it is critical for most of the types of transactions this community seems to be interested in - vis'avis' a single FORM UX process stream. These have been default ACH endpoints for a long time now. I am not sure why veridian isn't opening these up and creating less friction for Dwolla to create a ZERO friction user experience API for your 3rd party developers.
Thank you for answering our questions in advance.
Eric is correct. We're definitely planning to add an API for recurring/scheduled payments, but that won't happen until the release of our API V3, which will happen closer to the end of the year...
We are, however, about to remove the PIN requirement for the request money method, and so depending on your flow, this might help somewhat.
There is currently no API support for recurring payments, and I'm not sure if Dwolla plans to add it.
You may be able to do what you're hoping to via a regularly scheduled call to the API of the request method with the user's Dwolla ID or phone number, as documented here. The user will still have to "pay their bill" each time, but will be prompted to do so with a Dwolla request for funds.

PayPal - Unattended charges

Well, I didn't really know how to call this...
I have been surfing PayPal's developer documentation for a while now, but there is nothing that speaks to me with direction as to achieving what I am looking for.
It's probably well documented, but I don't grasp it well enough yet to make sense while reading each part separately.
I have read about Preapproval, though it seem to require that I send the customer's browser to the designated PayPal address.
I have thought about creating a database with credit card information, but that is too scary -- so I am looking to see if there is a way for a customer to allow me to do unattended charges to their PayPal account, much like I would be able to do if I had a database with customer credit card information.
Any direction would be appreciated.
Yes, this is possible. There are two options:
PayPal Express Checkout with a Billing Agreement
This works similarly to Preapprovals (which is Adaptive Payments, a different set of API's). You would need to redirect the buyer to PayPal in order to accept the billing agreement, and from then on you can bill the user using to DoReferenceTransaction API.
PayPal DoDirectPayment (Website Payments Pro) with Reference Transactions
You would need to have an existing transaction, and instead of a billing agreement ID, you would submit a prior transaction ID to the DoReferenceTransaction API. You can then re-bill the user on the card details which are stored with PayPal (up to 1 year. assuming the card details are still valid).
Do note that both options require you having access to the DoReferenceTransaction API, which you will not have access to by default.
For further information on the API itself, see https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_nvp_r_DoReferenceTransaction
Important: You will need to call in to get Billing Agreements activated. Good luck finding someone that knows what you need (no really) :-)
You will eventually find someone who knows what DoReferenceTransaction is and then once you've finally found them they'll probably tell you they can only activate it in the sand box and transfer you to someone in the Business Office. They'll have to then submit it to approval with someone else. Est. Total call time 59 minutes 8 seconds.
The guy I just spoke with said he's probably handled only 2 call in a year about DoReferenceTransaction - so you may need to ask around. They have other subscription billing and that's not what you want.
Also realize that approval is not instant and you may need to have established history. The guy who helped me said this is the best number
888 215 5506. Be sure to explain why you need them carefully and try to reassure them you're legitimate. A reputable website behind the domain for your paypal email will probably help.
Good news: I applied for Reference Transactions Friday and was approved today (Sunday). This was for two accounts - one which had only been established the day before.
Thank you for contacting us about enabling reference transactions on
your PayPal account.
I am pleased to inform you that your request has been approved. You
can begin using this feature immediately.
If you have further questions regarding this email, please contact a
Merchant Services Specialist at 1-888-221-1161.
Sincerely,
AJ Merchant Risk Operations
I was trying to do this recently and I found this question with no luck because the Express Checkout with a Billing Agreement method is deprecated since January 1, 2017.
There is a new REST method called Vault payment methods that recently entered open beta and it's not in the official documentation (to this date), so I leave the link to Create transactions when your buyer isn't present, in case someone needs it.
The process it's explained in the documentation but basically, you need to create a payment token (the source can be a PayPal account or a credit card), and then use that token to capture the payment.