What it does
Our initial idea was to create a service in Slack where you can send salary to your employees using backslash commands and Interac payments. Due to some security limitations, we were unable to actually send money but we could request money from other users. From this, we decided we would make an application that would ask users for money by using backslash commands in Slack and would also give notifications when the other party has sent the requested money.
How we built it
stdlib to easily create commands and functions that can interact with Slack. Using these commands, we sent HTTP requests to the
Interact API to request users for money by specifying an email address. We would wait for the user to receive and email on his or her end and for the payment to be processed before sending a notification to the user in Slack that the payment has been made.
Challenges we ran into
Before using the
Interact API we were very unfamiliar with the need to encrypt the "secret access key" because typically APIs do not provide very user sensitive data. However, due to Interac's financial nature, we needed to learn basic cryptographic terms and functions such as "Salt" and "SHA256" in order to actually user their API.
We also had issues trying to receive post requests about the status of user payments (completed, rejected, etc) from Interact because we were unsure whether Interac was actually sending us notifications. Testing whether these notifications were actually being sent out was practically impossible because we would have to substitute very specific parameters in their "Try It Out" portion of their API page.
Accomplishments that we're proud of
We are proud that we were able to bridge two different platforms, Slack and Interac together to provide the user with a better way to manage money payments and requests.
What's next for SlackPay
Currently, we have a database setup using Heroku and we intend to link that with user payment history in the future. We also would like to support sending money but it will depend on the security limitations. It would also be great if the notification could optionally ping the user in Slack instead of simply posting a message in a channel.