跳转到主要内容

将网站连接到деньги@mail.ru的应用程序

项目描述

django-mailru-money 是一个连接 django 网站到деньги@mail.ru 支付系统的应用程序。

许可证 - MIT。支持 python 2.6, 2.7 和 3.2;django 1.3 和 1.4。

安装

$ pip install django-mailru-money

在 settings.py 中写入您的商店数据

MAILRU_MONEY_SHOP_ID = 'my_shop_id'
MAILRU_MONEY_SECRET_KEY = 'my_secret_key'

在 urls.py 中连接支付接收处理器

urlpatterns = patterns('',
    # ...
    url(r'^mailru-money/', include('mailru_money.urls')),
    # ...
)

在这种情况下,ResultURL(需要通知 money.mail.ru)将是 http://your-site.com/mailru-money/result/

然后添加 'mailru_money' 到 INSTALLED_APPS 并执行 syncdb(如果使用 South,则使用 migrate)。

INSTALLED_APPS 还应包括 'django.contrib.auth''django.contrib.contenttypes'

使用

在支付页面上使用 mailru_money.forms.MailruOrderForm 输出支付表单和形成订单

# views.py
from django.shortcuts import get_object_or_404, render
from mailru_money.forms import MailruOrderForm
from myapp.models import Item

@login_required
def pay(request, item_id)

    # товар, который будем оплачивать
    item = get_object_or_404(Item, id=item_id)

    # создаем заказ
    form = MailruOrderForm(
        amount = item.price,
        description = item.description,
        user = request.user
        pay_for = item,
    )

    return render(request, 'myapp/pay.html', {'form': form})

在模板中需要形成支付表单

{# myapp/pay.html #}
{# ... #}

<form method='post' action='{{ form.ACTION }}'>
    {{ form }}
    <input type='submit' value='Оплатить через Деньги@mail.ru'>
</form>

{# ... #}

请注意,不需要使用 {% csrf_token %}。表单将作为一组隐藏字段输出。

可以在 mailru_money.signals.order_status_changed 信号中处理支付

from mailru_money.models import MailruOrder
from mailru_money.signals import order_status_changed

from myapp.models import Item

def mailru_payment_received(sender, order, old_status, **kwargs):
    item = order.pay_for
    if order.state == MailruOrder.PAID:
        item.deliver_to(order.user)
    elif order.state == MailruOrder.REJECTED:
        item.unblock()

order_status_changed.connect(mailru_payment_received)

只有当订单状态改变时,才会发送信号。订单状态改变时,已支付的订单不能变成未支付状态。

django-mailru-money 还支持另一种工作模式(可以不使用内置的订单控制手段)。如果上述模式不符合要求,请参阅源代码。

开发

开发在 bitbucket.org 和 github.com 进行

问题跟踪器 - 在比特桶上:https://bitbucket.org/kmike/django-mailru-money/issues/new

为了运行测试,克隆仓库,安装 tox 并从仓库根目录运行。

$ tox

项目详情


下载文件

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

源分布

django-mailru-money-0.1.2.tar.gz (9.6 kB 查看哈希值)

上传时间

由以下组织支持