Seeking clarification around "app's website" support for billing flows

Hi,

https://docs.github.com/en/developers/github-marketplace/billing-customers states that a few things are required from your “app’s website”. I’m not clear what is actually required.

In my case I have a web service that responds to GitHub events and writes back a check run. That is the entirety of my app’s interface. I do have a glossy GitHub pages site describing the app however.

https://docs.github.com/en/developers/github-marketplace/billing-customers#providing-billing-services-in-your-apps-ui states:

Customers must be able to perform the following actions from your app’s website:

Customers must be able to modify or cancel their GitHub Marketplace plans for personal and organizational accounts separately.

What does this entail in my case? Can I simply provide a link to cancel the listing in the check run report? eg. something like https://www.github.com/marketplace/<LISTING_NAME>/cancel/<LISTING_PLAN_NUMBER>/<CUSTOMER_ACCOUNT_ID>.

My “app’s website” is a static site. Does it need to include any links, eg. to the marketplace entry?

Same for upgrades I assume?

Customers must be able to modify which users have access to your app from your app’s website if they purchased seats (per-unit pricing plan) or the plan offers unlimited collaborators.

Is this saying I need to implement an API fronting these actions from my website? Or can this be links in the check run report to the marketplace?

My hope is I can meet these requirements by just providing links to the marketplace, like the upgrade example, in my check run report. Is that possible?

:wave: @alistairb: Hey there and thanks for raising these questions about the GitHub Marketplace! While I don’t have any immediate answers or advice to share right here and now, I’ve forwarded these over internally to our Marketplace team for their input. :bowing_man:

This post was flagged by the community and is temporarily hidden.

This post was flagged by the community and is temporarily hidden.

@alistairb: Our engineers followed up with me and I’d like to share their input here.

Providing a link to where someone can change the plan on GitHub is fine. Our team let me know that it should be on your website rather than within a check run report, given the following documentation:

Customers must be able to see the following changes to their account immediately in the billing, profile, or account settings section of the app’s website: […]

Our team let us know that your application should provide links back to GitHub. While it’s not required to implement an API for changing plans, a good path forward is integrating with our API for server-to-server communication to get subscription updates.

I’m wondering if that helps at all and if you had any other questions about this process? :thought_balloon:

Hi, that clarifies things mostly.

So can I provide a simple static link eg. <a href="https://github.com/marketplace/my-app">Update/Cancel your app subscription to this app here!</a> from static website to fulfil the Customers must be able to perform the following actions from your app’s website requirement?

As mentioned, if this needs to be on my website I currently cannot make it dynamic as it is a static website. My app is not a website, but a web-service producing a check run report. I would very much like to avoid making this website dynamic, as this means my app now requires permissions on the customer’s account (they would need to login) to produce the dynamic link.

Thanks

Thanks for following up, @alistairb. I’ll check in with the team and follow up here tomorrow with an update. :bowing_man:

@alistairb: Our team shared an update and let us know that this proposal doesn’t meet what we’re looking for. The links are meant to be dynamic and per user based on what’s documented. Does this help?

To be honest this doesn’t make a lot of sense to me. Purely from it being a confusing user experience to have a login feature on a website (and associated account information access), that produces all of a link to update / cancel an app plan.

Anyway, I am close to submitting my app to the marketplace. I think I’ll proceed with that and get more specific feedback on how this login + link should work. Perhaps I can make a better case with the specifics of what my app does directly through the application process.

Thanks for your help @francisfuzz !

1 Like