We started out in Singapore and the only payment processor we could use there was Paypal. If started now we would have used something more easier and better like Stripe :) That being said, we should be switching over to them soon.
- When PayPal raises a dispute, they really want to see a shipping confirmation for a product, or something really closely equivalent. Make sure you have very clear records prepared to show them, and hope that keeps them happy.
- Don't leave any money in an account PayPal controls. Get your money out of PayPal into your bank, and get your money out of any bank account linked to PayPal into an account PayPal has no access to, as quickly as possible after you receive it. When the inevitable dispute happens, you'll feel much happier if they can't sit on a pile of your money.
- Have a kill-switch plan to shut down new orders going into PayPal. PayPal will often happily lock your account while continuing to take money from customers, who will then want to receive their product even though PayPal won't give you their money. Worst case, that produces more disputes; best case, PayPal has increasing amounts of your money to sit on. Whether this means another payment provider or just a "we're sorry, we can't take orders right now, can we put you on a waiting list?" page, make sure you can stop getting money via PayPal the moment PayPal screws you.
Check out balancedpayments.com. It's a processing, escrow, and payouts in one API. Also the founding team were early employees at Milo.com and worked on this specific issue of SKU level data cataloging & matching.
disclosure: I'm a co-founder of Balanced and this is a shameless plug for my product. :)
I was also the head of data acquisition at Milo.com and am fascinated by this problem. I have to admit I'm skeptical this scale of product matching and metadata cleaning can be done, but I'm very happy for you if you've succeeded where I failed. In either case, best of luck.