Inspiration

My inspiration came from the Lightning network (based on Bitcoin). This is very simple on this network to share invoices and send it to a user. So I thought a way to share and generate quickly invoices for a shop owner would be useful.

What it does

From a bot on Telegram, it allows a shop owner to generate quickly invoices based on an order id and a customer id.

How we built it

I built it with Golang and Bot father on Telegram. Bot father is a bot to create bots. Golang is used to listen to events generated by the user input. It is used as well to send requests to the Square API.

Challenges we ran into

Since Golang is not targeted by Square, I had to implement from scratch the interaction and the types to interact with the Invoice, Order and Customer APIs. So it took some time to get it done. Also I didn't have a prior experience with bots so I had to document myself for that.

Accomplishments that we're proud of

A very easy way to share invoices with potential customers with QR codes. Since I personally dislike enforcing users to use a particular technology (cameras in this case) to access something, I display also a link to show what the QR code encodes in it.

What we learned

I learned mainly how to create bots with Telegram and familiarized myself with Golang (never used much this language besides some side projects).

What's next for Bot to generate invoices

Make it more user friendly. So instead of using a customer id and order id to generate invoices, we should display a user friendly list with names to manage ids internally instead of asking it to the user.

Built With

Share this project:

Updates