
Creating a ChatGPT Plugin in Go (Stripe + Google Auth)
Hello there! ππΌββοΈ In this story we will be talking a bit a code base that I just open sourced: https://github.com/LLuMus/x-plugin-wallet-passes This code powers https://walletpasses.xyz/ and the plugin that you can find right now on ChatGPT Plugin store:

This code base contains a fully functioning Golang application that serves a React based frontend application. It offers an OpenAPI Spec with a API that allows ChatGPT to understand how to create iOS Wallet Passes like this:

From a prompt like this: "Could you please help me generate a Wallet Pass for my private health insurance? Here are the personal details that should be included: β Name: John Doe β Insurance Number: XXX5521215523 (please include this as a secondary field) β Logo: https://t.ly/8C3nd β Logo Text: HanseMerkur β Height: 1.85cm β Born: 1999 β Blood Type: A+ β Member Since: 2017 β Background Color: Use this green #027040. Please note that a barcode should not be included in the pass. On the back of the Wallet Pass, could you also include the link to the HanseMerkur website (https://www.hansemerkur.de/) and the telephone number of my consultant (+49 999 9999)? Thank you!".

To run the software you will have to configure a set of local parameters:
- OPENAI_PLUGIN_KEY=${OPENAI_PLUGIN_KEY}
- GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID}
- TEAM_IDENTIFIER=${TEAM_IDENTIFIER}
- AWS_BUCKET_NAME=${AWS_BUCKET_NAME}
- AWS_REGION=${AWS_REGION}
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
- WALLET_STRIPE_WEBHOOK_SECRET=${WALLET_STRIPE_WEBHOOK_SECRET}
- WALLET_STRIPE_SECRET=${WALLET_STRIPE_SECRET}
- WALLET_STRIPE_PRICE=${WALLET_STRIPE_PRICE}
- WALLET_STRIPE_TAX=${WALLET_STRIPE_TAX}
Considering the following environment variables that we have to configure first, you can already see the list of services that we will have to prepare first:
- OpenAI Developer Account https://platform.openai.com/login?launch
- Google Developer Account https://console.developers.google.com/
- AWS S3 https://aws.amazon.com/pm/serv-s3
- Stripe https://stripe.com/
- Apple Developer Account https://developer.apple.com/
After you have an account, you have to export and prepare a pass.p12 that will be used to sign the passes, you can follow this guide https://support.airship.com/hc/en-us/articles/213493683-How-to-make-an-Apple-Pass-Type-Certificate-for-Mobile-Wallet
Deployment and Usage
For the sample project, the deployment process uses GitHub Actions, which pushes an image to a Digital Ocean repository. From there, it gets deployed to an App.
The costs of this application so far have been meagre; Fixed cost of 40 dollars for a single instance on Digital Ocean + Postgres SQL + Redis.

So far the usage has been very low, with 187 customer registered since release and 152 passes generated. Even though it is the only of its kind in the ChatGPT market place, there is still no tracking to succeed on monetization just because of that factor.