When a user makes a purchase we just check if the request comes from an IP address where there is an associated affiliate address and in this case make an automatic payment to the affiliate address as soon as the customers payment confirms.
Tracking based on IP is ineffective.
People use TOR and proxies, even more so in the Bitcoin community.
You will get a lot of false positive, and won't send the rewards to the right referer.
Why not stick to session cookies?
session cookies are ineffective, people use multiple browsers / local users or simply delete their cookie.
You just need to make it clear in the affiliate scheme that referal is tracked at session level.
If the referal isn't converted (user doesn't create an account or purchase an item) while the session lasts, there won't be a referal fee.
Most of the add networks do that.
Beside, rate of false positive is much higher with IP tracking than with cookies.
Cases of people clearing their cookies / switching browser in the middle of a prospective search are uncommon, and show a clear *will* on the part of the visitor not to be tracked. That should be respected.
On the other hand, cases of different people with the same IPs are a huge amount of the traffic: everyone behind a proxy (at work for instance) or any sort of home / wlan router (NAT) does appear with the same source IP, not to mention mobile operators who make you go through a transparent proxy to improve caching. In the majority of cases, this doesn't indicate any particular preference not to be tracked. For these many users, session cookies are the way to go.