PayPal IPN Unsubscribing - paypal

I'm using the PayPal IPN (Instant Payment Notification) api for subscriptions but I can't find a way to let users UNSUBSCRIBE themselves. The solutions I've found so far require the customer to login to paypal but what about the users who paid with a creditcard/don't have paypal? This is very frustrating. I've the entire day today looking for a solution to this.

If you create a saved button you can 'view' the button and there is a link to create an unsubscribe button. I do not know of a way to create an unsubscribe button if you don't use a saved button.

The subscription process is initiated in your site because it need to carry the product information from your site. After the subscription process done, the buyer should see this in their paypal account and can unsubscribe from there.
The reason for this maybe because you cannot store the buyer's paypal username and password and use it to fetch that buyer's subscription list from paypal. That's why it's must be done by the buyer in the paypal website, not in your site.

Related

PayPal API - How to keep the payment process on my website?

I run a small marketplace with multiple sellers where buyers can buy items and pay with PayPal. The problem is, when someone makes a payment, they are then displayed the "Payment Confirmation" on the PayPal website and are given a choice to either return to their PayPal account, or return to the website.
Is there any way to keep the payment flow on my website, except for the payment part? I notice when buying on Etsy for example, the buyer goes to PayPal to make the payment and is then immediately returned to Etsy for the payment confirmation. They never see the PayPal payment confirmation page.
I assume it could be because Etsy and PayPal have a special arrangement that isn't available to other sites? Or am I missing something in the API?
Right now, with the normal PayPal API, this is what buyers see:
NAME, you've just completed your payment.
Your transaction ID for this payment is: XXXXXXXXXXXXXXXXXXXX.
We'll send a confirmation email to your#email.com
Go to PayPal account overview.
Go back to "seller#email.com".
I can't even figure out how to change the "Go back to..." link to my website name in the hidden fields. PayPal just chooses to display the seller's (the person that received the payment) email address.
Is there any way to at least set a website name for them to return to with hidden variables? Keep in mind that I have different sellers, so it's not something I could set inside each seller's PayPal account.
Thank you :)
I assume you are using Express Checkout with Set/Get/Do EC API integration. Please check the below document for experience options available with Express Checkout API.
https://developer.paypal.com/webapps/developer/docs/classic/express-checkout/integration-guide/ECCustomizing/
The 'useraction=commit' in the PayPal payment auth url triigers the 'Buy' button. If you do not send that request paramter then it will show 'continue' button and you can complete rest of the process on your site.
However, if you are using Paypal Payment Standard product then you need to use Express Checkout to accomplish the outcome you are seeking.

Use PayPal From Website Form

Requirements state that I build a form that collects user's PayPal login info and charges the user's PayPal account a fixed price without having the user leave the website.
I am beginning to think this is not possible. Can someone kindly suggest a solution that comes close to meeting the requirements? I am not certain what's possible and what's not possible with PayPal.
There isn't a solution for what you are trying to do. In order for the buyer to login and pay with PayPal, they would have to leave your site and go to the PayPal login page. You could set up a billing agreement so that they only have to log into PayPal once. With a billing agreement, you would be able to charge the buyer's PayPal account when you are needing to. You would just need to have the buyer go through the flow initially and get sent over to PayPal to login and agreen to the billing agreement. Then when you want to charge them again in the future, you would just need to reference the billing agreement id.
The closest solution to having the user pay without leaving the website is PayPal digital goods express checkout.
Here is an example to show you how it works:
http://jmsliu.com/1307/integrate-paypal-digital-goods-express-checkout-into-website.html

How to check Payment failure for Paypal Express Checkout

We are using Paypal recurring billing service (using Express Checkout) at our website for monthly subscription.
Since we have an Australian account so we are not able use the DPRP (Direct Payment Recurring Payment) service offered by Paypal because it seems, DPRP service is limited
to only few countries (US, UK and Canada).
In Express checkout payment details are received at Paypal Website. So we do not have any information, whether the payment failed, user pressed the Back button in browser or He/She intentionally clicked the cancel payment.
After speaking to Paypal support team we get know that there could be multiple possible reason for Payment failure, and seller has to contact Paypal by themself. So we can
not provide any troubleshooting for that at our website.
So we want to know, Is there any possible solution to avoid this or atleast can we diffrentiate between the user for whom payment failed and who intentionally moved to
our website back without doing payment because this way we are not only unable to followup with them but also loosing a part of the customer base, interested in our service.
Any help in this is Appreciated.
Thanks
You should implement the Pay Pal IPN (Instant Payment Notification).
You configure the IPN url address on your PayPal merchant account settings. This page is simple HTML page with server-side programming that is listening for requests coming from PayPal.
There's no need to do something extra in the checkout process for making IPN work. Once you set this up, it will automatically work.
Every time something happens with a transaction in your merchant account, e.g. transaction completed/failed/canceled, PayPal will send an HTTP Post to your IPN listener URL.
Here you can get all the relevant information about the transaction, like the payer ID, the payment status. With this information you can decide what to do with your customer's order.

How can I cancel a paypal recurring payment from my website?

I'm currently integrating the paypal recurring payment process in my website (thanks to https://www.paypal.com/uk/cgi-bin/webscr?cmd=_pdn_subscr_techview_outside) and, for the moment, it works.
But I have a simple question, and I don't find the answer on Internet. Let's say a user deletes his account on my website after 2 months. How can I cancel automatically his subscription ?
Thank you!
It takes a bit of effort to find, but Paypal does publish a guide on subscriptions.
To cancel someone's subscription, you need to create a link to Paypal -- see page 171 of that reference. There doesn't appear to be an API which allows you to cancel their subscription for them: they need to click a link to Paypal and cancel the subscription themselves.
The guide actually says
Paste the code onto you webpage [sic] near text that explains how subscription cancellations work.
Apparently it's possible to cancel recurring payments with the API. See:
Can you cancel a PayPal automatic payment via API? (Subscription created via Hosted button)
This is certainly more complex than the "unsubscribe" button that paypal gives you, but... it could actually work. The "unsubscribe" button requires that people's payments are coming from their PayPal account, which is not the case if they set up recurring payments on a credit card (without logging into PayPal.)

Paypal Payment Gateway without shopping cart

I need guidelines to integrate paypal payment gatway. Here is my requirement
User would click on pay button on my website to open paypal payment gateway page.
User may not have a paypal account. He/she need to enter details of credit card only. (It should not force user to login)
User will enter what amount he want to pay?
I do not need any response or confirmation from gateway. I would see details of transaction in my email.
1.User would click on pay button on my website to open paypal payment gateway
page.
Create payment buttons using our button creation tool. Learn how
2.User may not have a paypal account. He/she need to enter details of credit
card only. (It should not force user
to login)
AFAIK this is not possible. User should have paypal account and one of the main advantage of using paypal is that users need not reveal the credit card details.
3.User will enter what amount he want to pay?
Similar to Donations button from paypal
4.I do not need any response or confirmation from gateway. I would see
details of transaction in my email
What email??? If you dont need the result then how will you know that the payment was successful or not???
What you are trying to do above is not possible. If You are using other paid payment gateway providers then you will be able to solve issue 2. Other than I dont think what you ask is possible.