Grin Payment Gateway for e-commerce how-to?

Hi,

I’d like to understand, as comprehensively as possible, how one might implement a t-shirt shop using Grin?

I’ve acquired some floonet coins and I know how to dev web services…

My understanding so far is that Grin transacting, using the HTTP(S) option, basically uses IP addresses (or domain names) as addresses… And I’ve been told about this Grinbox thing which seems to give you crypto addresses, so I guess that would make things a lot easier?

Nonetheless, I’d like to understand how one might go about doing this with just the vanilla Grin binaries?

My understanding in Bitcoin terms would be displaying a wallet address and then polling the chain and confirming the purchase once the transaction of the correct amount or more to the said address is on the chain, simple enough. I’d like to understand the same thing in Grin in the simplest terms possible :smiley:

2 Likes

So the problem is tying the transaction to a particular user, but actually I’ve just realised that there is an optional message that can be included in the transaction, so I guess we could just generate a short hash and ask the user to include the short hash as the message for the purchase when making the transaction!

-g, --message <message> Optional participant message to include

So then the next problem is, how can the sender prove that they have sent the grins, in case of a dispute? And how can the recipient prove that they did not receive the grins? Is it possible?

There is already one implementation for wordpress by long time contributors cycle42 you can check out how they do it here: https://cycle42.com/knockturn.

soon to be implemented at tmgox.com

1 Like

https://github.com/cyclefortytwo/knockturn-woocommerce-gateway/blob/master/knockturn-gateway-plugin.php this is it?

I’m really keen to work on something that isn’t WordPress/PHP for this :smiley:

found this Proof of Grins sent

pointing to this https://github.com/mimblewimble/grin/pull/2374

… I guess all this needs figuring out before one can do this properly

Edit: I guess I need to use wallet713/grinbox for this!

@c50a326 transaction proofs have been possible in wallet713 using grinbox for quite some time now: https://github.com/vault713/wallet713/blob/master/docs/usage.md#transaction-proofs-grinbox-only

2 Likes

You don’t have to, Knockturn Allee is a Rust project, not opensource yet (will be in 1-2 months). This is a plugin for WooCommerce, it’s PHP because WooCommerce is a PHP project. There will be more plugins for different platforms like Shopify etc.

I’d like to understand how one might go about doing this with just the vanilla Grin binaries?

Even to support BTC payments you need to write extra code and just use vanilla bitcoin core, there is GitHub - btcpayserver/btcpayserver: Accept Bitcoin payments. Free, open-source & self-hosted, Bitcoin payment processor. or commercial services like BitPay. Unless you use a permanent address and a lot of manual work.

Why aren’t you developing in the open?

I found this yellow ink display that would be a dream to use. Will there be a way to display knockturn and/or wooCommerce data on physical inventory too?

Self-hosted solution (like btcpayserver) which works with one wallet will be opensourced in 1-2 weeks. It’s a subset of a closed source service which we developed. This service (more like bitpay) supports multiple user accounts and payouts to external wallets. It was easier to write the entire thing and then extract the subset needed for self-hosted solution.

1 Like

WooCommerce is a web store, not sure you need it in this case. I assume your goal is to build a POS terminal which would work with Knocktrun. It’s doable, the integration is just couple http requests, the problem that you need to implement POS, however there must be some opensource projects.

1 Like

Thanks so much for your insights. If it’s a few http request then that’s great news.