On our website we have option to pay using PayPal. At the time of signup our sytem creates recurring profile in users PayPal account and then till the account continue we receive recurring Payments.
On every successful payment PayPal send us the notifications with transaction details and we updates our system.
Sometimes our system miss the IPN notifications due to outage and as a result our system goes out of sync and does not updates the payments.
I would like to know do we have any PayPal API which we can call to get the transaction details of missing IPN notifications?
How to handle these transactions which are not updated in our system and IPN we ave missed?
Related
I have just set up PayPal IPN for my website.
https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNSetup/
Unfortunately, someone bought my product before the IPN was set up correctly.
Is there a way to apply the IPN notification to a historic transaction from yesterday that did not originally send an IPN?
Login to your account at PayPal, find IPN History, find the transaction: you can resend it from there.
Of course if IPN wasn't enabled when they bought, there is nothing to resend.
We're using PayPal Payments Standard and IPN to process payment transactions and enable digital goods download after our IPN listener script recieves notification of a completed transaction.
We've done thorough testing on the PayPal sandbox and made sure our scripts handle different scenarios properly.
Just to be sure, before opening the sales to public, we've done some testing with the PayPal live interface - performed a few small sales using a previously verified PayPal account to pay for the goods.
Our IPN listener script has immediately received notifications, but the payment_status in both of them was 'pending' with pending_reason = 'paymentreview'. After logging to our seller PayPal account a few minutes after making the payment, both transactions have the status 'Completed' and are ready to ship, yet our IPN listener did not receive any further notification updating the status of the transactions.
By checking the IPN history on our seller PayPal account, we can see that only the initial messages for both payments have been sent (with status 'Pending').
The PayPal developer docs are explicit about not allowing the download or shipping goods before the transaction is succesfully completed, yet we do not receive an update via IPN even 48+ hours after the payments.
We did not experience any such problem during testing period on PayPal sandbox interface.
Is this an issue with the IPN interface, or there is something that can be configured through our PayPal account that will resolve this issue and make IPN behaviour consistant with PayPal developer docs?
i has been implemented paypal recurring subscription plan in php and paypal recurring also charge via paypal as per recurring periods. but my system didnt find out next recurring was charged or not so how could i know next recurring payment has been charged using paypal api.
i want to help for to upgrade next expire date after next recurring payment changed.
As I understood, you want to see if the user paid or not and change expiration date according to that.
The solution is Webhooks. In your PayPal Application section click on add webhook and choose PAYMENT.SALE.COMPLETED and enter the URL that you want to listen to this event where PayPal will send a post request to this URL when you get a new payment completed.
In the page that corresponds to the URL you entered, you have to do the followings:
Verify that the call is from PayPal, not from another source (in case you are using PHP you can check this: PHP verify Paypal webhook signature)
Parse the data sent from PayPal by reading the body content, not the POST data
Verify that the event is what you need, in this case PAYMENT.SALE.COMPLETED
Verify the amount you received and the currency
Make sure that you have not processed this transaction before and this is too important
If everything is valid, you can save the transaction and do whatever you want, in your case extending the expiry date.
If I understand you correctly, you need to configure Instant Payment Notification (IPN). PayPal's server will POST transaction data to a listener script you have on your server so you can process things accordingly. It happens in real-time.
When working with recurring payments you'll get an IPN when a profile is created, canceled, or suspended, and you'll also get notifications when payments for profiles are completed, failed, etc. You can update your system or send out email notifications accordingly based on the IPN data you get.
I am working on a subscription system that integrates payments through CC and paypal account, the problem happens in delay in activating the recurring profile of subscribers paying through CC.
I am using "CreateRecurringPaymentsProfile" API call for creating recurring profile. Initially I relied solely on IPN messages for payment confirmation, but there are delays in receiving these sometimes for few hours, for some users, but since IPN messages are only initiated with changes made in merchant's account, i believe the transfer of money could take time, and thus the delay.
I then thought of momentarily activating the profile based on instant responses from "CreateRecurringPaymentsProfile" and then the account is deactivated if we subsequently receive a IPN messages of txn_type payment skipped. My question is how most sites implement instant activating recurring payments using paypal api and is SUCCESS response from "CreateRecurringPaymentsProfile" is reliable to indicate that payment has happened?
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.