Which PayPal to use: REST, IPN or PDT?

I have previously used PayPal buttons on my non-Xojo web site (for one-off purchases), but it relied on me getting notified from PayPal via email then manually sending them a Serial number. I want to entirely automate this!

I have created a Xojo Payment WebApp where users can buy usage of my apps in time increments (one month or one year) only where they use my resources (otherwise they’re free). I am considering using PayPal to accept these payments.

Given that my usage is entirely new:

  1. Should I be using PayPal’s REST, IPN or PDT methods?
  2. Should I have PayPal appear in an HTMLViewer, or click a WebButton and open in its own window?
  3. Should I use my Payment Web App as the Listener, or should I write a separate Console/Web app for that?
  4. How do I tell PayPal that the purchase is for product XXX for customer YYY for cost ZZZ?
  5. How can I support a large number of payment alternatives (eg 1-12 months, 1-5 years, file space, emails sent, etc) without having to create a PayPal definition for each?
  6. How long should I wait for PayPal to send me confirmation of the Sale, or how will I know if the Client has/hasn’t paid?
  7. If the client buys one month, then buys another month immediately after, how will I know which purchase is which?

I hope to write this up at the end for the benefit of others.

Forum for Xojo Programming Language and IDE. Copyright © 2021 Xojo, Inc.