You can try a live demo here. Our implementation follows the spec, though we are still working on backend notifications (dealing with the same IPV6 issues as others). One neat feature we developed is custom URLs for each merchant page. We would also like to continue enhancing the merchant page with transitions and branding.
All code is open source and can be viewed at this repo. The ReadMe (still in progress) has a thorough overview of the project/features.
Developing this project (our first integration with IC) has been a good lesson on various topics throughout the ecosystem: from Motoko and local replicas to https outcalls and authentication.
All feedback is welcome! Thanks for the opportunity to work on this RFP.
I didn’t have to make any messy workaround, instead solutions feels rather clean. I deployed a Netlify function that supports IPv6 and from there makes the requests to IPv4 Courier. Simple stuff, one ts file.
@kristofer@icplonger@kryptik Thank you all for your submissions! You all did a really great job! After reviewing your submissions, we’d like to announce the following distribution:
You provide a simple and straightforward design that perfectly fits the use case. I also love the detailed comments in the code. You missed the option to print the QR code, and it would have been nice to get a direct payment notification in the app as well, in case the app is open.
In my test, I got the email but haven’t got a text message.
Also a great job on design. From a UX perspective, I was a bit confused about what to add for the address in the setup, and I’m missing the info about the current balance. In my test, I haven’t got a notification, besides in the app itself.
Awesome job on your first ICP project! From what I could gather it always requires entering an external wallet address, but you still have “Send ckBTC” in the menu. I’m not sure how this would work.
Again thank you all for the great work on this! Is anyone interested in moving the project forward? I’d be interested to hear your thoughts.
One feature to be added would be to also support the draft standard on payment request formats that has been already implemented in the NNS frontend Dapp. This would allow a merchant to specify an amount to be requested, instead of letting the payer enter the amount.
Thanks for the update and the feedback. We’re glad to have participated in this bounty.
And yes, we are interested in carrying the project forward! The next steps for our implementation would be to add the IPV6 workaround shared by @kristofer , expand support for more tokens (within ICP and possibly other networks), and adopt the payment request format.
wow this is great! thank you for the generous award and to the other participants congrats.
I’m already building a crypto commerce saas product called supercart.ai - its web2 based/EVM focused but my long term goal is to build a fully decentralized version and I think the IC is the most suitable chain to migrate to - however my view is “any token any chain” for commerce and not just ckbtc/icp. As I talk to merchants I’m finding they mostly want to deal in stablecoins - something we lack on the IC right now, so a few things have to come together before I can build it out but I remain optimistic.
Payment requests would definitely add value to the app. Next logical step would then be to make it more into an actual POS where merchant can register the sale and calculate total amount:
Add one head of lettuce, $3
Add one tiny super expensive bag of micro greens, $5
Sum total, $8
Show QR with payment request
Buyer scans and pays
Thanks for feedback, I will fix remaining issues.
The receive page can be printed to get QR on paper. I will style it to look nicer when printed and add a print icon.
Direct payment in app is a available on the receive page, it takes up to a minute though because of slow API. Will add notification to main merchant page as well.
Text messages, you are right, not working. It worked well in testing but turns out the Twilio trial account only can send sms to my phone number. I do see the requests being made on Courier though so the flow is working. Will upgrade Twilio account to have a fully functional demo.
I’m reading through all the ecommerce threads here in the forum. I am NOT a dev but I have a 20 year ecommerce site that is fairly sizable and legit.
Seems like progress is coming along here. I’m looking for someone interested in working with someone like me to develop my catalog and payment on the IC.
I don’t care about getting fiat as payment, but I have a large catalog and the functions here come close to making the basics of my operation move smoothly enough.
I want to contribute to the IC by being a real world dude using it as proof of concept.
I’ve made 500,000 online sales since 1999.
I believe I could be a unique asset or partner in development here.
I’ll be reading and following but really want to make this happen.
I’ve built an ecommerce platform to handle your exact use-case. It can accept payments direct p2p using crypto only (I don’t deal in fiat either) and it can integrate with the most popular platforms (shopify, woocommerce etc)
Everything is non-custodial but right now, only EVM chains are supported.
I’m working on a fully decentralized version that will run on the IC, but won’t be ready until next year.
Hit me up with a DM if you are interested, I’m always looking for new merchants to integrate
Hello and thank you.
I have filled out the contact form at Smartcart in both Brave and FireFox but did not seem to land on a proper confirmation page. Also, I think I am too new here to DM you possibly? Or I can’t find it.
I’m a BigCommerce site and I’d like to try and do this if you can DM me?
Thanks again.