# Intro
A 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/).
# 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 must each have at least a penny in them.
1. `cp sandbox-template.json sandbox.json`
2. Fill out `sandbox.json` with your credentials.
3. `cabal test remote`