PayPal generate invoice and notify application after payment - paypal

I would appreciatte if someone helps me to clarify some PayPal concepts. I'm using PayPal to send/receive payments and I want to offer the users the possibility of get an invoice for the payments. So, right now I'm using the Invoicing Service API for the payments I receive, I call the service and get the URL of the invoice for the user and here is muy first question: once the user pays the invoice, how do I get notified of this in my application (without having to login into PayPal and check by myself)? Second: in the Integration Guide it says "PayPal sends IPN messages for invoice payments and for invoices cancelled by the buyer..." is IPN the only option to get notified of a payment in my application? Beyond this, I've start reading about IPN and testing the IPN Simulator, but after select all of the items in the combo "Transaction Type" I couldn't see the transaction type "invoice_payment" mentioned in the Invoicing Service API, so which type of transaction should I configure?
Thanks in advance, regards.

You can try using the Web Accept. Basically, the IPN simulator is used to test your IPN Listener whether it can listen to the message that sent by PayPal. It does not sent any a real message to your listener. For the invoice payment, it will return invoive_payment. You can have a try on your end.

Related

PayPal recurring payment verification

After one has created a monthly billing agreement with a customer; how do I verify that the customer has paid (and not cancelled the agreement) at the next bill statement?
Would I use GetRecurringPaymentsProfileDetails for this information? Basically, I want to automate cancellations/etc.
In your ipn end point a subscr_cancel txn_type is sent when this happens. Then you can update a record in your database to account for this.
Ipn messages when enabled send post requests for all kinds of actions such when a Payment is made or a subscription is cancelled. When you receive a message you need to validate the message, determine what message it is, and then perform an action in your application
Ipn info
https://developer.paypal.com/docs/classic/products/instant-payment-notification/

Not Receiving PayPal IPN With Invoicing API

On the introduction of PayPal Invoicing API documentation it states that.
PayPal sends IPN messages for invoice payments and for invoices
cancelled by the buyer.
But I've found this is not the case. IPN for invoice payment, cancel or other operation never get sent from PayPal (I have checked and confirmed it from IPN history page).
Worth Mentioning
Invoices are being created via Invoicing API successfully without any warning.
I am working on Sandbox and Creating for Third Party Merchant.
I do understand that paypal doesn't send IPN for api operation changes.
The IPN listener is working fine and I have successful implementation for subscription api with IPN.
Update
Today I tried the whole process with Live PayPal account other than sandbox account and I still not getting any IPN. So, I guess I am doing something wrong or Invoicing API is broken (which I highly doubt).
Which also makes me wonder about some additional questions:
I (merchant #1) has the permission information form merchant #2 for sending invoice to their behalf.
I have setup IPN to my IPN listener URL.
merchant #2 do not have IPN setup to my listener URL.
So, when Invoice that I created for merchant #2, Do I get IPN?
OR, merchant #2 also needs to setup their IPN url pointing to my listener URL?
IPN is get send from the account that receiving payment as #effone mentioned in comment. So, it seems I was confused from paypal documentation.
Answer: The IPN url from merchant #2 will need to setup in order to get notification about invoice payment. merchant #1 account who sending the invoice behalf of merchant #2 will not send any IPN as the payment isn't involves merchant #1
Way I see it, this is not a proper solution to create an invoice management system. As if I have 1000's of user they all need to set their IPN url to mine in order to get the application work correctly (aka, setting invoices as paid when they gets paid)
Your question reads strangely, because you say the IPN is working fine, then in your update, you say you're trying it in your live PayPal account. It sounds like it's working on the Sandbox, but not in production?
If this is the case:
Did you activate the IPN under your Production (Live) Paypal account?
Do you have the IPN URL for this?
Are you seeing the IPN being logged under the Production (Live) PayPal site?
If No -> it's been a while since I've worked with this, but there used to be an interface where you could send an IPN test- have you tried that?
If Yes -> make a bare bones listener- just a page that logs that it was hit, then add logic to it.
hth

Paypal Mass Pay API Response Handling

So this is probably more of a discussion item so I apologise if this should go elsewhere.
But I need to handle Responses (IPN) from using Paypal MassPay API.
At the moment I'm handling the Notifications correctly and tracking past payments made (Royalty Payments System).
Problem 1: Unclaimed Payments
But I've encountered an issue which I can't seem to handle on the sandbox site and that is Unclaimed payments. Now according to MassPay guide:
If the recipients do not have PayPal accounts, PayPal notifies them that a payment is available and they must create a PayPal account to receive the payment.
I assume this means that Paypal sends the user an email, I tried to test this but I received no notification
Problem 2: Claiming unclaimed Payments
Following the previous problem, I've been unable to test users claiming unclaimed values. So I'm wondering does anybody know how Paypal processes these and the format of the response;
Does the response contain all previously claimed payments?
Does the response contain all unclaimed payments?
Does the response contain the status of all transfers in that transaction?
Thank you in advance
When you send out your MassPay request, any unclaimed payments will be pending until they're claimed. Your IPN will show "processed" instead of "completed" for the status. Once they claim the payment you will get another IPN showing the payment has been completed.
When working in the sandbox you won't get any actual emails from their system. All test emails show up in your developer.paypal.com account under the test email section there.

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.

Checking if paypal payment was successful

I have downloaded sample code from paypal to allow me to use parallel payments via their sandbox accounts. When I run parallel.php, I get redirected to paypal's sandbox login page.
How am I supposed to know "server side" that the payment has been made successfully, so I can update my database records?
I believe you have to work with PayPals IPN system. This will basically send a confirmation to your server that tells you it has gone through.
https://www.paypal.com/ipn
Paypal lets you register a notification url which is part of the IPN (instant payment notification IIRC) system. So if someone pays by a delayed payment (such as a bank transfer) the transaction will update days later. You need to have an application (web page) on your server that can be called by Paypal with transaction details to update a payment.
You'll need to create an initial transaction record in your system when paypal redirects back to you so refer to their documentation for that. I'd also recommend looking at either OSCommerce or Zen cart for an idea of how they do it as they support the same kind of thing.