Client for a limited part of PayPal's Adaptive Payments API.
Intro
A Haskell client for a limited part of PayPal's Adaptive Payments API.
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, 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.
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).
cp sandbox-template.json sandbox.json
Fill out
sandbox.json
with your credentials.cabal test remote
.