Client for a limited part of PayPal's Adaptive Payments API

Latest on Hackage:

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow to host generated Haddocks.

MIT licensed by Ian Grant Jeffries
Maintained by


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).

  1. cp sandbox-template.json sandbox.json

  2. Fill out sandbox.json with your credentials.

  3. cabal test remote

comments powered byDisqus