Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Confirm Paypal payments via PDT and IPN

Project Description

pypay provides a clean API for confirming Paypal payments via PDT or IPN. It takes the boilerplate out of interacting with these services and normalises the Paypal response into something sensible.

Under the hood pypay uses the excellent Requests library for handling http.


pip install pypay


To check a payment via PDT

import pypay

response = pypay.pdt_confirm('your_transaction_id', 'your_identity_token')

To check a payment via IPN

import pypay

response = pypay.ipn_confirm('query_params_from_paypal')

You can pass the query params as either a string (e.g. ‘quantity=1&name=joe’) or a dict. This is particularly useful if you’re using Django as you can drop in request.POST and everything will just work.

Response objects

Response objects always have two properties

response.confirmed # bool indicating if payment is verified

response.details # dict containing all the Paypal variables that were returned

Handling exceptions

In the event of a problem making the http call to Paypal, pypay will raise a pypay.exceptions.RequestError.

The values passed to pdt_confirm and ipn_confirm are sanity checked and a pypay.exceptions.InvalidPaypalData will be raised if they are of the wrong type.

Python version support

pypay runs on Python 2.6, 2.7, 3.3, 3.4, 3.5 and 3.6 using the Six compatibility library.

Running tests

Run the test suite with Tox

pip install tox

Tests are written with pytest

Release History

This version
History Node


History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(4.4 kB) Copy SHA256 Hash SHA256
Source None Oct 5, 2017

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers