通过PDT和IPN确认Paypal支付

pypa的Python项目详细描述


pypay提供了一个干净的api,用于通过pdt或ipn确认paypal支付。它将样板文件从与这些服务的交互中取出,并将paypal响应正常化为一些合理的东西。

在幕后,pypay使用优秀的Requests库来处理http。

安装

pip install pypay

用法

通过PDT

检查付款
importpypayresponse=pypay.pdt_confirm('your_transaction_id','your_identity_token')

通过IPN

检查付款
importpypayresponse=pypay.ipn_confirm('query_params_from_paypal')

您可以将查询参数作为字符串(例如,“quantity=1&;name=joe”)或dict传递。如果您使用django,则这一点尤其有用,因为您可以在request.post中放置它,并且一切都将正常工作。

响应对象

响应对象始终具有两个属性

response.confirmed# bool indicating if payment is verifiedresponse.details# dict containing all the Paypal variables that were returned

处理异常

如果对paypal的http调用出现问题,pypay将引发一个pypay.exceptions.RequestError

传递给pdt_confirmipn_confirm的值经过健全检查,如果它们的类型不正确,将引发pypay.exceptions.InvalidPaypalData

python版本支持

pypay使用Six兼容库在python 2.6、2.7、3.3、3.4、3.5和3.6上运行。

运行测试

使用Tox运行测试套件

pip install tox

测试是用pytest

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
oop是Java中装饰器模式的替代方案吗?   java Kafka使用者进程和线程与主题分区的关系是什么   java进程。破坏不起作用   java问题,声明Map<String,Class<?扩展可序列化>>   涉及泛型的java类型安全异构容器   用于转换native2ascii和native2ascii的java库   java填充对象字段的简单方法   java如何将正确的数组返回到方法中并正确修复主方法   java如何解析日期字符串,如'21Jul12'   在Python或Java中旋转图像的更快方法   java异步任务在构造函数处取消   安全性在java中有加密代码的选项吗?它应该只在运行时解密和执行?   java如何编译。jrxml仅一次   java错误Msg=ORA00932:数据类型不一致:预期日期为二进制   java如何设置每行不同的JTextArea文本对齐方式?