cyberx86
cyberx86

Reputation: 488

Pay to 3rd Party PayPal account from website, and confirm success

Question:

How can I have a visitor to my site pay to a 3rd party PayPal account (one I do not have access to) and have PayPal return the visitor to my site, confirming that the payment was a success (while requiring no special setup or confidential information from the 3rd party account)?

Details:

My company provides a service to clients of other organizations, however, we collect payment directly from those organizations (and not from their clients). In our particular case, if the organization's client opts to use our service, they will pay the organization they are part of (and not us) - the entirety of their payment goes to the 3rd party organization (the value of the payment may vary, but it will always be billed as a single item). The only information we need from this transaction is: the ID of the client (a value from our database), and some type of verifiable confirmation (ideally, a dollar value paid).

The flow is as follows:

  1. Our site
  2. redirect to 3rd party PayPal
  3. return to our site with confirmation
  4. Authorize transaction and enable service
    • e.g. thank you page with Next button
    • payment needs to be authorized before going to next page

We would like to implement this in such a way that the 3rd party organization does not need to set up anything additional in their PayPal account, and does not need to share confidential information with us (ideally, they should only need to share their PayPal email address).

Currently, we are exploring using the following:

  1. Buy Now button
  2. Set the notify_url field on the form
  3. Setup an IPN listener on our server that will process (and verify) the transaction

The problems are two fold:

  1. We have been unable to confirm that this implementation would not require the 3rd party organization to setup anything in their PayPal account (e.g. they don't need to setup IPN, since we are using a per transaction URL and they don't need to share their API key).
  2. IPN is asynchronous - so we will not receive the notification as part of the transaction flow (which complicates things, but if no better option exists, we can make it work). Is there any synchronous approach that would notify us of a successful transaction without requiring additional credentials (e.g. PDT requires an identity token so does not appear to be an option for us).

If there are any better ways to approach this problem, suggestions would be appreciated.

Upvotes: 0

Views: 897

Answers (1)

Gerzie
Gerzie

Reputation: 2340

You can use Parallel or Chained Payments to send money to multiple recipients, be able to control where the buyer is taken to after completing the payment, and you would get an API response back right away telling you if the payment completed or not. Using the Permission Services API calls you can set up your account as a third party to the receivers so they wouldn't have to make the changes themselves.

You mentioned that you're looking into using Buy Now buttons through Payments Standard. That would work for if you're looking for a quick and simple way of setting it up. Define the receiver as the business value and the money would be sent to them.

By default, IPN is set to "off" in an account which means an IPN post will still be sent out if you define it with the "notify_url" variable. You may need them to enable IPN within their account if they've previously disabled the service. If the receiver already has an IPN URL set in their account it would be overwritten by the "notify_url" value you provide.

Upvotes: 2

Related Questions