Post
Topic
Board Project Development
Re: Cashier-BTC: Process Bitcoin payments on your end, paying zero commissions
by
overtorment2
on 23/05/2018, 10:47:14 UTC
Hi,

First of all, thank you for your excellent work. I was looking for a full-node based self-hosted payment solution for several of my companies and it fits perfectly.

I'm testing it since yesterday but I'm running into a few minor issues :

  • I made small payments to test (0.0001 BTC) which seem to be equal to the fee to transfer to the merchant account, so I'm getting stuck in a loop of
Code:
worker2.js address: XXX expect: 0.0001 confirmed: 0.0001 unconfirmed: 0.0001
worker2.js transferring 0.0001 BTC (minus fee) from XXX to seller XXX ( XXX )
worker2.js broadcasting XXX

  • Is there a way to cleanup old payment requests ? I have a few of those looping in the logs of worker.js
Code:
worker.js address: XXX expect: 0.001 confirmed: 0 unconfirmed: 0
worker.js address: XXY expect: 0.001 confirmed: 0 unconfirmed: 0
worker.js address: XXZ expect: 0.001 confirmed: 0 unconfirmed: 0
worker.js address: XXW expect: 0.001 confirmed: 0 unconfirmed: 0
  • I don't know if it's a consequence of the items above, but I created new payment requests which were paid and arrived in the sub-addresses (I can see them in bitcoin-cli listaddressgroupings) but they are not transferred to the seller account, no trace of them in cashier-btc-out.log

Don't hesitate to ask me for more info Smiley



Hey!
Super small payments are kind of an issue. The fee to aggregate payments is hardcoded here
https://github.com/Overtorment/Cashier-BTC/blob/f0fb18c8186f87373c267b1a7e7b42daedb6449d/worker2.js#L54
I suggest you change it to a smaller amount (it's currently 0.0001) or deal with such payments manually (the WIF for the hot address is in the database).


Old requests are being re-checked for 24 hours. That's configurable in config https://github.com/Overtorment/Cashier-BTC/blob/master/config.js.dev
You can lower that to your taste, but everything works okay with the way it is.
If you really want to cleanup old requests, you need to write a small script for that, but that's not a very good idea. Occasionally clients
might be paying to some old addresses.

The third question I didn't quite understand.
Probably the payment requests are old enough (>24h) to be ignored by worker.
You can always check out whats wrong with the payment request right in the database.