跳转到主要内容

Django应用,用于Trustpay支付网关API。

项目描述

Django应用,用于TrustPayClient支付网关API。

在Django 1.4.5上进行了测试。

需求

  • Django

建议

  • django-detective (它很有用,但不是必需的。它跟踪所有站点请求。)

安装

  1. 使用pip安装Python库: pip install django-trustpay

  2. trustpay 添加到Django设置文件中的 INSTALLED_APPS

  3. trustpay.urls 添加到Django项目的 urls.py

  4. HOST_URL 设置为带有http/https协议前缀的主机名。例如: https://www.mysite.com

  5. 设置TrustPay设置。见下文。

  6. 同步数据库

设置

TRUSTPAY_AID_TEST

测试环境的客户端AID。

TRUSTPAY_AID_LIVE

生产环境的客户端AID。

TRUSTPAY_SECRET_KEY_TEST

测试环境的客户端密钥。

TRUSTPAY_SECRET_KEY_LIVE

生产环境的客户端密钥。

TRUSTPAY_PAYMENT_SERVICE_URL_TEST

测试环境的TrustPay支付服务URL。默认:'https://test.trustpay.eu/mapi/paymentservice.aspx'

TRUSTPAY_PAYMENT_SERVICE_URL_LIVE

生产环境的TrustPay支付服务URL。默认:'https://ib.trustpay.eu/mapi/paymentservice.aspx'

TRUSTPAY_CLIENT_REDIRECT_URL_TEST

TrustPay 测试环境的客户端重定向URL。默认值:'https://test.trustpay.eu/mapi/pay.aspx'

TRUSTPAY_CLIENT_REDIRECT_URL_LIVE

TrustPay 生产环境的客户端重定向URL。默认值:'https://ib.trustpay.eu/mapi/pay.aspx'

TRUSTPAY_SUCCESS_RETURN_URL

成功返回URL。默认值:u'%s%s' % (settings.HOST_URL, reverse_lazy('trustpay_success_return'))

TRUSTPAY_ERROR_RETURN_URL

错误返回URL。默认值:u'%s%s' % (settings.HOST_URL, reverse_lazy('trustpay_error_return'))

TRUSTPAY_CANCEL_RETURN_URL

取消返回URL。默认值:u'%s%s' % (settings.HOST_URL, reverse_lazy('trustpay_cancel_return'))

TRUSTPAY_NOTIFICATION_URL

通知URL。默认值:u'%s%s' % (settings.HOST_URL, reverse_lazy('trustpay_notification'))

TRUSTPAY_NOTIFICATION_EMAIL

通知电子邮件。默认值:ADMINS[0][0] or None

用法

准备支付数据

在结账视图中准备TrustPay支付数据

trustpay_payment_data = {
    # required
    'amount': 123.45,
    'currency': trustpay.CURRENCY_EUR,
    'reference': u'ORDER-123',  # Don't put # sign in reference. It will be returned back as GET parameter.

    # not required
    'language': get_language_code(request),
    'country': trustpay.COUNTRY_SLOVAK_REPUBLIC,
    'description': u'This is Trustpay test payment',
    'customer_email': u'example@example.net'
}

并创建带有隐藏字段和“支付”提交按钮的TrustPay表单

trustpayform = TrustPayClient(is_test=settings.DEBUG).get_form(**trustpay_payment_data)

渲染支付表单

将TrustPay表单放入您的模板中

{% include 'trustpay/helpers/form.html' with form=trustpayform submit_label='Pay with TrustPay' %}

处理返回视图

默认情况下,SuccessReturnViewErrorReturnViewCancelReturnView会简单地打印请求数据和错误信息(如果有)。您应该覆盖模板 trustpay/success_return.htmltrustpay/error_return.htmltrustpay/cancel_return.html 或定义您自己的返回视图。如果您决定使用自己的返回视图,别忘了设置 TRUSTPAY_SUCCESS_RETURN_URLTRUSTPAY_ERROR_RETURN_URLTRUSTPAY_CANCEL_RETURN_URL 设置。

处理通知视图

trustpay.views.NotificationView 将从TrustPay服务存储的每个通知存储到数据库中。您不应该在这个视图(reverse('trustpay_notification'))上设置基本认证或其他任何认证,因为TrustPay无法访问它。

我建议您创建一个cron作业,该作业将处理每个安全通知(带有标志 is_safe - 这表示商户的支付请求已被签名,返回签名是正确的)。

辅助工具

get_result_message(result_code)

通过结果代码返回结果消息

get_language_code(request)

通过请求返回TrustPay支持的语言代码

常量

trustpay 包包含所有TrustPay支持货币和国家。

作者

Erik Telepovsky 提供,来自 Pragmatic Mates。查看 我们的其他库

项目详情


下载文件

下载适用于您平台的应用程序文件。如果您不确定要选择哪个,请了解有关 安装包 的更多信息。

源分布

django-trustpay-0.4.0.tar.gz (8.9 kB 查看哈希值)

上传时间

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面