diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..4f3d5b1 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,21 @@ +--- +kind: pipeline +type: docker +name: default +trigger: + branch: + - master +steps: + - name: ssh commands + image: appleboy/drone-ssh + settings: + host: 159.89.175.2 + username: deploy + port: 22 + key: + from_secret: ssh_key + script: + - cd /home/rhnvrm/apps/rohanverma.net && git fetch origin && git checkout $DRONE_COMMIT + - cd /home/rhnvrm/proxy + - docker-compose build rohanvermanet + - docker-compose up -d rohanvermanet diff --git a/content/blog/2019-10-25-paisavasool-hackinout-2019.md b/content/blog/2019-10-25-paisavasool-hackinout-2019.md new file mode 100644 index 0000000..2ca5975 --- /dev/null +++ b/content/blog/2019-10-25-paisavasool-hackinout-2019.md @@ -0,0 +1,94 @@ ++++ +title = "PaisaVasool - HackInOut 2019" +date = 2019-10-25T15:30:03+05:30 +draft = false +categories = ["projects"] +type = "post" +url = "blog/2019/10/25/paisavasool-hackinout-2019" +author = "Rohan Verma" ++++ + +Last weekend I attended a hackathon after a long time. HackInOut, which is +India's biggest community hackathon, was happening very close to where I live. I +went with my office colleagues [Vivek](https://vivekr.dev) and [Karan](https://mrkaran.dev) and we had discussed a lot of ideas before reaching the venue, +but we were not sure what we will finally end up building. + +![hackinout2019](/images/hackinout2019.jpg) + +After discussing our ideas with Siddharth Shetty, an iSpirit fellow +and one of the mentors at the hackathon, we finally decided to build +PaisaVasool. + +![logo](https://raw.githubusercontent.com/CapsLockHacks/paisa-vasool/master/assets/logo.png) + +## What is PaisaVasool + +Split subscriptions and collect money automatically and instantly over UPI seamlessly. + + + +## The problem it solves + +Sharing subscriptions like Netflix friends is not seamless. Collect payments +online and reconciling them manually using Apps still requires us +to manually confirm payments, and APIs/SDKs by PSPs are expensive. + +## The hack + +We piggyback on paisa values in the UPI request amount as the transaction ID, +and reconcile the payment seamlessly and automatically into the subscriptions. + +## The app + +To demonstrate the hack for this hackathon, we decided to concentrate our efforts +to Splitting Recurring Payments such as those for +Netflix/Amazon Prime/Hotstar/Spotify etc. Although, our +hack can be extended to any kind of collect requests. + +A user can create groups on our app and enter his friends contact details +and instantly get reconciliations from our app when he receives payments. + +### Our hack allows you to consolidate your UPI requests for free! +- Daily UPI requests are limited by PSP apps like Google Pay. + - You can request upto 5 times on Google Pay a day + - New users can't be requested more than once a day +- Payment API's are expensive + - Costs (2% per transaction) are added onto the consumers +- You need to check your Bank transaction details and reconcile manually without a PSP +- Apps like Paisa Vasool are impossible on top of UPI as of today + +### Our hack allows payers to pay with any VPA. +- No need to ask your user to be on a specific UPI app +- No need for payee to pay from his own account (parents/friends can pay on behalf) + +### Instant reconcilation +- We process the transacation as soon as we get the bank SMS +- Users don't need to check their bank details + +## Challenges we ran into + +The biggest challenge was to figure out a way to solve these issues: + +- How to identify a transaction +- How to not need the payers VPA + +We figured out that: + +- The identifier can be embedded in the paisa value +- We can read SMS to get the amount and parse the transaction ID. + +### Detailed technical flow +- User installs our app and gives read permission for SMS to our app. + - Our app is open source and only sends SMS with UPI VPAs to our server +- They create a collect request in the UI with the amount and users, and create a group for recurring weekly/monthly transactions. + - User adds his clients/friends to the group using mobile number and/or email + - These are saved for the future +- The collect request is then processed by the server + - UPI link (which can be embedded in SMS/Whatsapp/Telegram) is created using [https://upi.link/](https://upi.link/) API - It is sent to all the clients/friends with appropriate amount that has been hacked to include the transaction identifier in the amount paisa value. +- The app waits for SMS from the bank of the User, which includes the amount (plus paisa value identifier) inside it. + - On receiving the SMS, we change the state of the pending transaction to complete. +- The user can check the state and see all his transactions from our app. + +## Future +- The [Sahamati framework](http://www.sahamati.org/) in the future will allow users to share their bank transaction ledger details with apps directly in a standardized format via Aggregators. +- UPI roadmap has split requests planned for the future. \ No newline at end of file diff --git a/content/images/hackinout2019.jpg b/content/images/hackinout2019.jpg new file mode 100644 index 0000000..809373d Binary files /dev/null and b/content/images/hackinout2019.jpg differ