I just finished a small project involving PayPal’s Adaptive Payments API (and the nuget package they supply for it). The points below is stuff I spent too much time on, hopefully this can save someone the trouble.
First of all, I got the error “Your payment can’t be completed. Please return to the participating website and try again.” after completing the payment as a test user in the sandbox. This was solved by creating an application id for the application and including it in the signature credentials I pass to PayPal. I think this happened after I switched to the SignatureCredential implementation. Its constructor does not accept the Application ID, but the property can be set afterwards.
The second stumbling block was a generic exception (“Input string was not in a correct format.”) when passing the payment info to PayPal. It turns out that the Adaptive Payments package assumes that point is the universal decimal mark – “100.00” is OK, while “100,00”, which is my locale’s preferred way of expressing a hundred, does not compute.