Pesapal支付网关的Django港

django-pesapal的Python项目详细描述


https://badge.fury.io/py/django-pesapal.pnghttps://travis-ci.org/odero/django-pesapal.png?branch=masterhttps://coveralls.io/repos/odero/django-pesapal/badge.png?branch=masterDevelopment Status

Pesapal支付网关的Django端口

文档

完整的文档位于https://django-pesapal.readthedocs.org

快速启动

安装django pesapal:

pip install django-pesapal

然后在项目中使用:

import django_pesapal
  1. 将django_pesapal添加到安装的应用程序中

    INSTALLED_APPS = (
        ...
        'django_pesapal',
    )
    
  2. 在项目url.py中包含django_pesapalurlconf,如下所示:

    url(r'^payments/', include('django_pesapal.urls')),
    
  3. 您可以通过将此添加到settings.py

    PESAPAL_TRANSACTION_DEFAULT_REDIRECT_URL = 'app_name:url_name'  # this needs to be a reversible
    
  4. 运行python manage.py migrate以创建模型。

  5. 创建接收付款详细信息并返回pesapal iframe url的方法:

    from django_pesapal.views import PaymentRequestMixin
    
    class PaymentView(PaymentRequestMixin):
    
        def get_pesapal_payment_iframe(self):
    
            '''
            Authenticates with pesapal to get the payment iframe src
            '''
            order_info = {
                'first_name': 'Some',
                'last_name': 'User',
                'amount': 100,
                'description': 'Payment for X',
                'reference': 2,  # some object id
                'email': 'user@example.com',
            }
    
            iframe_src_url = self.get_payment_url(**order_info)
            return iframe_src_url
    
  6. 一旦付款处理完毕,您将被重定向到一个中间屏幕,在那里用户可以完成订购。单击“完成订购”按钮将检查付款状态以确保付款成功,然后将用户重定向到pesapal_transaction_default_redirect_url

配置

SettingDefault Value
PESAPAL_DEMOTrue
PESAPAL_CONSUMER_KEY‘’
PESAPAL_CONSUMER_SECRET‘’
PESAPAL_IFRAME_LINK (if PESAPAL_DEMO=True)http://demo.pesapal.com/api/PostPesapalDirectOrderV4
PESAPAL_IFRAME_LINK (if PESAPAL_DEMO=False)https://www.pesapal.com/api/PostPesapalDirectOrderV4
PESAPAL_QUERY_STATUS_LINK (Demo Mode=True)http://demo.pesapal.com/API/QueryPaymentDetails
PESAPAL_QUERY_STATUS_LINK (Demo Mode=False)https://www.pesapal.com/API/QueryPaymentDetails
PESAPAL_OAUTH_CALLBACK_URL‘transaction_completed’
PESAPAL_OAUTH_SIGNATURE_METHOD‘SignatureMethod_HMAC_SHA1’
PESAPAL_TRANSACTION_DEFAULT_REDIRECT_URL‘/’
PESAPAL_TRANSACTION_FAILED_REDIRECT_URL‘’
PESAPAL_REDIRECT_WITH_REFERENCETrue
PESAPAL_TRANSACTION_MODEL‘django_pesapal.Transaction’

历史记录

1.3.1(2019-07-16)

  • 更新依赖项
  • 支持PY37
  • 移除下线PY34

1.3.0(2018-09-29)

  • 支持Django 2.1
  • 支持PY36

1.2.0(2016-12-11)

  • 放弃对django 1.7的支持
  • 修复和升级以支持django 1.8-1.10
  • 使用Django的UuidField

1.1.0(2016-05-03)

  • 支持Django 1.9
  • 将付款方式字段长度从16更新到24
  • 拆下PY33的支架。支持PY35

1.0.1(2015-11-21)

  • 修复querydict错误

1.0.0(2015-11-11)

  • 支持django 1.8
  • 支持PY33和PY34
  • 返回正确的IPN响应

0.3.4(2015-08-12)

  • 重组流程以更好地支持IPN处理

0.3.3(2015-06-29)

  • 安装程序生成尚未打包模板

0.3.2(2015-06-13)

  • 解决文档格式问题

0.3.1(2015-06-13)

  • 允许指定自己的事务模型
  • 重定向时传递所有事务信息
  • 更新中间模板

0.3(2015-06-12)

  • 引入中间支付处理屏幕
  • 将django版本更新至1.7+
  • 添加支持以接收和处理IPN
  • 保存有关事务和状态的所有详细信息

0.2.1(2015-04-03)

  • 添加了测试沙盒
  • 更新的django版本
  • 已更新django uuidfield

0.2(2015-03-17)

  • 支持匿名签出
  • 添加获取付款状态的支持
  • 主要的结构重构。使用MIXIN < /LI>
  • 使用MIXIN和XML Builder

0.1.5(2014-09-25)

  • 将依赖项固定到特定版本
  • 更新导入方式
  • 从初始化py中删除导入

0.1.4(2014-09-23)

  • 修复导入错误。使用此方法的项目的测试可发货失败
  • 将max django version设置为1.7

0.1.3(2014-07-18)

  • PYPI包装

0.1.2(2014-06-30)

  • 修复url.py中的导入错误
  • 修复如何构造回调url
  • 修正:live url使用https

0.1.1(2014-06-30)

  • 右重定向URL的默认处理。交易和商户参考的模型验证
  • 将设置重命名为conf.set default oauth redirect url
  • 将django uuidfield添加到依赖项

0.1.0(2014-06-30)

  • pypi上的第一个版本。

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

推荐PyPI第三方库


热门话题
由于外键约束,java数据库插入失败   java在对失败的测试用例截图时出错,并且它没有附加到扩展报告中   java FragmentPagerAdapter总是从第一页开始   java内存泄漏,当我将数据从一个树存储库复制到另一个ext js 4.1时   java确保带有特定注释的字段是“私有的”   Java如何将UTC毫秒转换为UTC日期   开源Java:Solaris上的AWT   java为什么BufferedReader只读取第一行?   执行数据库查询时,java JTable不会刷新   java 7中的下划线和二进制文字。!!!??   java使用STaX将xml转换为另一个xml需要很多时间   hadoop如何使用JavaAPI从hbase中的表中选择特定列   使用JLabel的java拖放   用于“绘制”pdf文件的pdf生成Java库   java getResourceAsStream返回null?   java在目标帧中打开窗口   滚动对象时,java鼠标光标不会改变   java有人能解释二进制搜索树中的递归delete()并帮我转换它吗