Welcome to the Atlassian Marketplace Developer community forum!
Let me try and see if I can answer these questions for you. Please note that I am not associated with Atlassian, but I’ve been a Marketplace Partner for 11+ years now, so I hope I should be able to provide some insights.
If a user purchases an app, is there any way we can get information about it via any API?
There are several ways to get information about app purchases. Once you have submitted your app and registered yourself as a vendor, you will get access to the Vendor section on the Atlassian Marketplace, in which you can see and download all transactions & licenses.
In addition, there is an Atlassian Marketplace REST API, which will allow you to programmatically retrieve information about your apps, licenses, transactions and will also allow you to automate some of the processes surrounding app releases.
Is there any webhook which will inform about all details related to purchase which we can capture in our accounting tools?
If this app is for Jira Cloud, you will receive lifecycle events about app installation (Connect, Forge). You can use these lifecycle events to retrieve information from the Atlassian Marketplace REST API. In addition, there is also a License API for Cloud apps.
Do we have an API to get a list of users who have access to the paid PvA app?
In this case “users” is a bit ambiguous. Through the Atlassian Marketplace report section & REST API, you will have some information about the company that purchased the app, including billing, technical and partner contact information.
You can theoretically use the app access to Jira to retrieve all user information, but please note that A) this does not necessarily mean they have access to your app and B) you are not allowed to process this information for unsolicited communications. Nor are you allowed to collect that information in-app. See also sections 8.4 (b) and (c) of the Atlassian Marketplace Partner Agreement. If you plan to store personal identifiable information, you also need to adhere to the User Privacy Guide.
Will we get any information about when users get onboarded/offboarded on JIRA?
Again, “users” is a bit ambiguous, but I’m assuming you mean individual Jira users. There are web hooks that might help with that, but again, please note that processing of this information is subject to data privacy policies.
How will we know if and when the PvA plan is cancelled/refunded/stopped by the user (for accounting tools)?
The Atlassian Marketplace reporting section and REST API will indicate the state of the app license, including cancelled, refunded, expired. But you will have to pull the API for this information, there is no web hook that you can receive. You will receive occasional feedback emails in case the end-user actively uninstalls the app and decides to provide feedback, but this will not account for all license state changes.
I hope this helps!