This acts as a proxy to Stripe. It exposes a very simple way to call Stripe's subscription endpoints.
GoJoin is released under the MIT License. Please make sure you understand its implications and guarantees.
All of the endpoints rely on a JWT token. We will use the user ID set in that token for the user information to Stripe.
The API as is:
GET /subscriptions -- list all the subscriptions for the user
This endpoint will return a list of subscriptions, but also a JWT token that has been decorated with an app_metadata.subscriptions
property which is a map of the users subscriptions.
These endpoints are all grouped by a type
of subscription. For instance if you have a membership
type with
plan levels gold, silver, and bronze.
GET /subscriptions/:type
POST /subscriptions/:type
DELETE /subscriptions/:type
The POST endpoint takes a payload like so
{
"stripe_key": "xxxxx",
"plan": "silver"
}
Using this endpoint will create the plan if it doesn't exist, otherwise it will change the subscription to that plan.
The other responses are defined in api/subscriptions.go
.