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。util。同时发生的叉子在游泳池里。常见的并行性准则,用于选择正确的并行度大小   java如何将空白字符追加到指定长度?   安卓应用程序中出现错误,SSLHandshakeException,找不到证书路径的信任锚点   java如何使用JUnit Mockito验证检查方法是否未被调用   java如何使用不同的@RequestMapping解析多个控制器中的静态页面   Selenium中的javascript需要验证搜索结果   访问数据库SQLiteopenHelper方法时java应用程序崩溃(nullpointerexception)   在二叉树中验证最小堆时出现java空指针异常   Java 7的SSL连接失败   java用RestEasyWebTarget替换ProxyFactory不起作用   在Java应用程序中单击“否”按钮后,数组程序冻结(无响应)   数组中的前缀Java初学者前进和   Java HTML解析器,包括脚本标记和LineNumberReader   在java中为长类型数字加前导零   正则表达式无法映射正则表达式java。lang.IllegalArgumentException:模式段中捕获组的数量