We are trying to integrate with PayPal and are unable to receive webhook events from our customer's accounts.
We follow the following process to integrate with other applications/services: 1. We create an OAuth app and customers authorize us to use their data when they Connect (authenticate and authorize via OAuth/Basic/Token etc) to our app. 2. After they authorize, we setup webhooks on their behalf and receive event data (for actions user specifies to create a resource in our system) and use that data to create objects in our system.
That being said, we are not receiving any webhook data when we follow the above steps for PayPal. After reading the documentation further, we realized: 1. PayPal webhooks are account specific, i.e. one OAuth app cannot receive events from another account. Is that right? 2. IPN is a way to receive event notifications. Is that the only way to receive event data from our clients' PayPal accounts?
Webhooks are account specific, so unless your customer sets the webhook up in their PayPal account and provides your URL, you're not going to receive their events. If your account were processing payments for your merchants, that'd be a different store since it would all run through your PayPal account.
IPNs would probably be the best way to receive payment notifications since you can dynamically pass your IPN url when processing a transaction for the merchant. Passing in the IPN (notify_url) URL you want it to be sent to will override the URL the merchant might have in their settings.