# Intro A high-level Haskell client for a limited part of PayPal's [Adaptive Payments API](https://developer.paypal.com/docs/classic/products/adaptive-payments/). Covers only sending, receiving, and looking up payments. Only supports handling a single payment per request, and doesn't cover sending payments that involve more than two parties. PayPal has other APIs like the [PayPal REST API](https://developer.paypal.com/docs/api/), but the PayPal REST API doesn't support sending payments. # PayPal Credentials Getting production approval for the Adaptive Payments API takes some time. You should start the process well before you actually need to go into production. Detailed instructions for doing so are out of the scope of this project, but you can get started [here](https://developer.paypal.com/docs/classic/lifecycle/goingLive/). # Future Plans Only supports USD. More currencies would be a nice-to-have. # Local Tests `cabal test local` # Integration Tests Requires an internet connection, a PayPal sandbox app account, and a PayPal sandbox test user account. The test accounts should have balances between a few dollars and a million dollars (they send pennies around, but expect million dollar transaction attempts to fail from lack of funds). 1. `cp sandbox-template.json sandbox.json` 2. Fill out `sandbox.json` with your credentials. 3. `cabal test remote`