PayPal's "sandbox" environment is uniquely torturous to work with. It didn't take us days, but it did seem like someone had gone out of the way to make it annoying.
This is what I like least about PayPal. Coinbase, for example, makes it dead-simple to test their IPN-like callback. All you do is paste the URL into a text box and send away. If PayPal had that it would have made the integration much easier to accomplish.
This sandbox was definitely the pain point. There was no ability to test properly so it was effectively launch and then test live like mad. Just a mess really. A lot of documentation fell short as well.