ADA website payment processing

I am looking at accepting ADA payments on my website but can’t seem to figure out the best way to do this

So far the potential solutions i can think of are as follows but none are ideal

  • syre protocol and payment urls but your wallet needs to support these features - unacceptable really
  • just send user a deposit address and get them to send the funds directly, monitor address for the exact amount and match up orders based on transaction value - imprecise
  • same as previous except create a new address for every order removing the guess work on identifying transaction - inefficient but workable

any other, better approaches that i’ve missed? i guess i could just use adapay or maybe I should just wait until shelley is launched

Hello @franco,
at the end of November COTI will launch the adaPay solution that was announced in October. If you don’t want to implement a solution by yourself that might be a great way to achieve this.

Announcement:

1 Like

yes, i mentioned adapay… but this is using someone elses infrastructure, i’d prefer not to, i think i’ll just create a new address for each order… unless someone can offer a better solution for tracking payments/invoices

Sorry, indeed I stopped reading after “any other, better approaches that i’ve missed?”

You are right, one address per order will be mandatory otherwise you cannot assign the payment to the order.

1 Like

maybe round down to the nearest ADA and then append the order number in lovelaces

You are sure that you can offer what @franco is looking for? From your website: “Americans with Disabilities Act (ADA)”

:thinking: so where are things at with a Cardano payment API ¿

Hello, targeting mid may to launch the Pet Registry, an early version of the coldfusion API for cardano will be published on github well before that - but no specific date as yet

The adaPay service was already online and is currently being revised/updated. I think it is worth to mention that this is not an API it is more of a complete feel-good package similar to Paypal, where merchants sign up.

I think we will see a new announcement on this soonish.

1 Like

so right now there is not any solution for it?

Not to the extent that Coti offers.

1 Like

thank you.
i did make my payment system whit that api cardano gives.
metadata is awesome, but if other can use it in there app wallet .
something like this .
“payment QR code” so we can add metadata to payment and it’s so awesome.

You don’t need transaction meta data for this. Just generate a new receiving address for every invoice.

1 Like

Yes . We are currently using this method.
If the number of our transactions becomes too large and for any reason we have 20 or 40 empty addresses in a row, the wallets will not show the balance correctly.
“address gap limit”:BIP32-44

My ultimate goal is : the seller give us a wallet address Ex"addr1q…m5mc" and then buyer make all payments to that wallet.
There is no active wallet inside the site.

thank you

Yes you are right but there is a way to use a custom address gap. What are you using to generate the addresses?

I have to say I don’t have much experience on this process and would like to summon @rdlrt for details.

1 Like

IF your use case is only limited to using your wallet layer (and never try to access those funds from alternate ready-to-use wallets), you can customise your address gap while creating/restoring your wallet when using cardano-wallet API.
Note that obviously this will have impact on performance for searching UTxOs across the wallets, so you might want to also consider splitting user base into multiple accounts and (potentially based on use cases/types) wallets.

The other alternate would be managing the wallet yourself using something like cardano-addresses or cardano-rosetta where-in you can derive and maintain record against users while deriving from same base root key.

2 Likes

Thanks for answering.
Now we have an active node with API.
In this case, we need to create a hot wallet for the user on the server so that we can get new addresses from it. Problem: Too many hot wallets on one server.
Finding gap and filling them whit transation.
Send the purchase amount after receiving. Good for small service.
Get an address from the sellers and make the payment unique.add to “Lovelace”.
i know this not good idea just use one payment address.

The service we provide is such that the seller launches his store site for free. After selling, money it goes directly to his account without intermediaries. At the end of the month, he pays us a percentage of his sales.

I assume you mean cardano-wallet API? Yea - unless you just have few hundred/thousand users , your use case sounds like second part will be more suitable instead

Not really, as mentioned in later half of my reply, you could derive addresses from root keys and just maintain a user mapping against derivation IDs too. This also allows you to use enterprise addresses, wherein one address cannot be linked to another, yet they all derive from same root.

2 Likes

yes.

This number is very small. Several thousand sellers each have several hundred goods that they sell to an unlimited number of buyers. Calculate how many transactions may be made in one minute. This is the goal I want to achieve. That is why we must have the right infrastructure.

I saw your answer after sending .
thank you

looks like chaining together a few commands from cardano-addresses solves this problem nicely.

something like the following will spit out a new valid address each time:

export increment=1

((increment=increment+1)) && cat mnumonic.txt | docker run --rm -i cardano-address key from-recovery-phrase Shelley | docker run --rm -i cardano-address key child 1852H/1815H/0H/0/$increment | docker run --rm -i cardano-address key public --with-chain-code  | docker run --rm -i cardano-address address payment --network-tag testnet > payment.addr && cat payment.addr ;echo