We had another problem with braintree - due to some error on their side, they have submitted all of our AMEX transactions for settling twice. It took a lot of phone calls to convince them that the problem was on their end, and after they "fixed" it, it happened again during the next billing cycle. They fixed it for good after it and we had no problems since then, but for a while there I was seriously considering ditching them for good. However, at the end of the day, they are still way better than PayPal - we had the common issue of having our account frozen...
HN user
evaldas_a
One more question - so if we agree to keep the documentation within the code, are there any rules outside of using MVC / choosing good naming conventions that would help to undestand what's going on for somebody who is knew to the project?
I.e. right now the only way a new developer can find out that we create invoices upon campaign deactivation would be by doing search in project files for instances where invoicing module is called. Is it possible to have some auto documenting system which could list all files w/ line numbers where specific function is called?
Thanks a lot for your comment. Is "attempting to keep track of business rules in a system other than your code base will cause more problems than it will solve" true even if you track business rules only on high level? I.e. let's say that such auxiliary system does not track how often certain check is performed, but it does inform that such checks exist? In my case that means that we periodically check your website to see that the webpage targeted by the campaign is still up and containing certain information - do you feel like capturing such data outside the codebase is hopeless?