PKCH#,Q,,payu/__init__.pydefault_app_config = 'payu.apps.PayuConfig' PK{}{}{}{}', _('Product'), _('Unit price'), _('Quantity'), _('Sum')) for p in products: unit_price = intcomma(round(Decimal(p['unitPrice'] / 100), 2)) product_sum = intcomma(round(Decimal(p['unitPrice'] / 100), 2) * p['quantity']) output += format_html('{}{} PLN{}{} PLN', p['name'], unit_price, p['quantity'], product_sum) output += '' return mark_safe(output) except (KeyError, ValueError): return _('Invalid data.') get_products_table.short_description = _('Products') def is_successful(self): return self.status == 'COMPLETED' def is_not_successful(self): return self.status in ('CANCELED', 'REJECTED') PKllUH$ payu/admin.pyfrom django.contrib import admin from django.utils.translation import ugettext as _ from django.utils.html import format_html from django.conf import settings from .models import Payment @admin.register(Payment) class PaymentAdmin(admin.ModelAdmin): def has_add_permission(self, request): return False def get_status(self, obj): if obj.status == 'COMPLETED': color = '#009200' elif obj.status in ('CANCELED', 'REJECTED'): color = '#e60000' else: color = None if color: return format_html('{}', color, obj.get_status_display()) else: return obj.get_status_display() get_status.short_description = _('Status') list_display = ('id', 'payu_order_id', 'pos_id', 'created', 'get_status', 'get_total_display') list_filter = ('status',) readonly_fields = ('id', 'payu_order_id', 'pos_id', 'customer_ip', 'created', 'get_status', 'get_total_display', 'description', 'get_products_table') fieldsets = [ (None, { 'fields': (('id', 'payu_order_id'), ('pos_id', 'customer_ip'), 'created', 'description', 'get_status', 'get_products_table', 'get_total_display', 'notes') }), ] if 'grappelli' in settings.INSTALLED_APPS: change_list_template = 'admin/change_list_filter_sidebar.html' change_list_filter_template = 'admin/filter_listing.html' PKRH"Ftpayu/settings.pyfrom django.conf import settings TEST_POS_ID = 145227 TEST_MD5_KEY = '12f071174cb7eb79d4aac5bc2f07563f' TEST_SECOND_MD5_KEY = '13a980d4f851f3d9a1cfc792fb1f5e50' PAYU_POS_ID = getattr(settings, 'PAYU_POS_ID', TEST_POS_ID) PAYU_MD5_KEY = getattr(settings, 'PAYU_MD5_KEY', TEST_MD5_KEY) PAYU_SECOND_MD5_KEY = getattr(settings, 'PAYU_SECOND_MD5_KEY', TEST_SECOND_MD5_KEY) PAYU_CONTINUE_PATH = getattr(settings, 'PAYU_CONTINUE_PATH', '/') PAYU_VALIDITY_TIME = getattr(settings, 'PAYU_VALIDITY_TIME', 600) PKEH[،payu/urls_api.pyfrom django.conf.urls import url # callable views from .api import notify urlpatterns = [ url(r'^notify/$', notify, name='notify') ] PK'CH}Ψ payu/apps.pyfrom django.apps import AppConfig from django.utils.translation import ugettext_lazy as _ class PayuConfig(AppConfig): name = 'payu' verbose_name = _('PayU') PKsTH h933$payu/locale/pl/LC_MESSAGES/django.mo%`a j t      +19BKRX  &;@ EQ p|    '.     CanceledCompletedInvalid data.NewPayUPayU POS IDPayU order IDPendingProductProductsQuantityRejectedStatusSumTotalUnit priceWaiting for confirmationcreation datecustomer IPdescriptionnotespaymentpaymentsproductsstatustotalProject-Id-Version: django-payu-payments Report-Msgid-Bugs-To: POT-Creation-Date: 2016-02-16 22:47+0100 PO-Revision-Date: 2016-02-16 22:47+0100 Last-Translator: b' ' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Language: pl Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); X-Translated-Using: django-rosetta 0.7.8 AnulowanaZakończonaNieprawidłowe dane.NowaPayUPayU POS IDIdentyfikator zamówienia PayUOczekującaProduktProduktyIlośćOdrzuconaStatusSumaSumaCena jednostkowaOczekująca na potwierdzeniedata utworzeniaIP klientaopisnotatkipłatnośćpłatnościproduktystatussumaPKHnH3vB$payu/locale/pl/LC_MESSAGES/django.po# django-payu-payments. # Copyright (C) 2016 Michał Werner # This file is distributed under the same license as the PACKAGE package. msgid "" msgstr "" "Project-Id-Version: django-payu-payments\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-02-16 22:47+0100\n" "PO-Revision-Date: 2016-02-16 22:47+0100\n" "Last-Translator: b' '\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pl\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" "X-Translated-Using: django-rosetta 0.7.8\n" #: admin.py:30 msgid "Status" msgstr "Status" #: admin.py:37 msgid "Product" msgstr "Produkt" #: admin.py:37 msgid "Unit price" msgstr "Cena jednostkowa" #: admin.py:37 msgid "Quantity" msgstr "Ilość" #: admin.py:37 msgid "Sum" msgstr "Suma" #: admin.py:45 msgid "Invalid data." msgstr "Nieprawidłowe dane." #: admin.py:46 msgid "Products" msgstr "Produkty" #: admin.py:50 msgid "Total" msgstr "Suma" #: apps.py:7 msgid "PayU" msgstr "PayU" #: models.py:24 msgid "New" msgstr "Nowa" #: models.py:25 msgid "Pending" msgstr "Oczekująca" #: models.py:26 msgid "Waiting for confirmation" msgstr "Oczekująca na potwierdzenie" #: models.py:27 msgid "Completed" msgstr "Zakończona" #: models.py:28 msgid "Canceled" msgstr "Anulowana" #: models.py:29 msgid "Rejected" msgstr "Odrzucona" #: models.py:35 msgid "PayU order ID" msgstr "Identyfikator zamówienia PayU" #: models.py:36 msgid "PayU POS ID" msgstr "PayU POS ID" #: models.py:37 msgid "customer IP" msgstr "IP klienta" #: models.py:38 msgid "creation date" msgstr "data utworzenia" #: models.py:39 msgid "status" msgstr "status" #: models.py:40 msgid "total" msgstr "suma" #: models.py:41 msgid "description" msgstr "opis" #: models.py:42 msgid "products" msgstr "produkty" #: models.py:43 msgid "notes" msgstr "notatki" #: models.py:47 msgid "payment" msgstr "płatność" #: models.py:48 msgid "payments" msgstr "płatności" PK{CHpayu/migrations/__init__.pyPKUmH&%^payu/migrations/0001_initial.py# -*- coding: utf-8 -*- # Generated by Django 1.9.2 on 2016-02-05 10:07 from __future__ import unicode_literals import jsonfield.fields from django.db import migrations, models import uuid class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='Payment', fields=[ ('id', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False)), ('payu_order_id', models.CharField(max_length=255, verbose_name='PayU order ID')), ('pos_id', models.CharField(max_length=255, verbose_name='PayU POS ID')), ('customer_ip', models.CharField(max_length=255, verbose_name='customer IP')), ('created', models.DateTimeField(auto_now_add=True, verbose_name='creation date')), ('status', models.CharField(choices=[('NEW', 'New'), ('PENDING', 'Pending'), ('WAITING_FOR_CONFIRMATION', 'Waiting for confirmation'), ('COMPLETED', 'Completed'), ('CANCELED', 'Canceled'), ('REJECTED', 'Rejected')], default='NEW', max_length=255, verbose_name='status')), ('total', models.PositiveIntegerField(verbose_name='total')), ('description', models.TextField(blank=True, null=True, verbose_name='description')), ('products', jsonfield.fields.JSONField(blank=True, default='', verbose_name='products')), ('notes', models.TextField(blank=True, null=True, verbose_name='notes')), ], options={ 'verbose_name_plural': 'payments', 'verbose_name': 'payment', }, ), ] PK٘mHBAݙ*payu/migrations/0002_auto_20160313_2006.py# -*- coding: utf-8 -*- # Generated by Django 1.9.4 on 2016-03-13 19:06 from __future__ import unicode_literals from django.db import migrations class Migration(migrations.Migration): dependencies = [ ('payu', '0001_initial'), ] operations = [ migrations.AlterModelOptions( name='payment', options={'ordering': ('-created',), 'verbose_name': 'payment', 'verbose_name_plural': 'payments'}, ), ] PKH^- 4django_payu_payments-0.1.2.dist-info/DESCRIPTION.rstUNKNOWN PKPH$j3django_payu_payments-0.1.2.dist-info/SOURCES.txt.pyXXXXXXX XXXXXXXXXXX XXXXXXXXXX XXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXX XXXXXXXXXXXX XXXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXXXXXXXXXPKPH2<django_payu_payments-0.1.2.dist-info/dependency_links.txt.py PKHdC))2django_payu_payments-0.1.2.dist-info/metadata.json{"classifiers": ["Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Environment :: Web Environment", "Framework :: Django", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3"], "extensions": {"python.details": {"contacts": [{"email": "werner@hurtowniapixeli.pl", "name": "Michal Werner", "role": "author"}], "document_names": {"description": "DESCRIPTION.rst"}, "project_urls": {"Home": "https://github.com/michalwerner/django-payu-payments"}}}, "extras": [], "generator": "bdist_wheel (0.26.0)", "license": "MIT", "metadata_version": "2.0", "name": "django-payu-payments", "run_requires": [{"requires": ["django", "django-ipware", "jsonfield", "requests"]}], "summary": "PayU integration for Django.", "version": "0.1.2"}PKPHF@4django_payu_payments-0.1.2.dist-info/requires.txt.pyXXXXXX XXXXXXXX XXXXXXXXXXXXX PKHưU2django_payu_payments-0.1.2.dist-info/top_level.txtpayu PKPH05django_payu_payments-0.1.2.dist-info/top_level.txt.pyXXXX PKH}\\*django_payu_payments-0.1.2.dist-info/WHEELWheel-Version: 1.0 Generator: bdist_wheel (0.26.0) Root-Is-Purelib: true Tag: py3-none-any PKH)ޒ-django_payu_payments-0.1.2.dist-info/METADATAMetadata-Version: 2.0 Name: django-payu-payments Version: 0.1.2 Summary: PayU integration for Django. Home-page: https://github.com/michalwerner/django-payu-payments Author: Michal Werner Author-email: werner@hurtowniapixeli.pl License: MIT Platform: UNKNOWN Classifier: Development Status :: 3 - Alpha Classifier: Intended Audience :: Developers Classifier: Environment :: Web Environment Classifier: Framework :: Django Classifier: License :: OSI Approved :: MIT License Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python :: 3 Requires-Dist: django Requires-Dist: django-ipware Requires-Dist: jsonfield Requires-Dist: requests UNKNOWN PKHoX66+django_payu_payments-0.1.2.dist-info/RECORDdjango_payu_payments-0.1.2.dist-info/DESCRIPTION.rst,sha256=OCTuuN6LcWulhHS3d5rfjdsQtW22n7HENFRh6jC6ego,10 django_payu_payments-0.1.2.dist-info/METADATA,sha256=fSCBhckwx-X6L7ptszdnvPm4kdA_QWgG56l9MacxLNc,679 django_payu_payments-0.1.2.dist-info/RECORD,, django_payu_payments-0.1.2.dist-info/SOURCES.txt.py,sha256=EHEsMdpxep-owoDUojYLwBxuQvYFOBYbHzPKZeRmkFE,470 django_payu_payments-0.1.2.dist-info/WHEEL,sha256=zX7PHtH_7K-lEzyK75et0UBa3Bj8egCBMXe1M4gc6SU,92 django_payu_payments-0.1.2.dist-info/dependency_links.txt.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1 django_payu_payments-0.1.2.dist-info/metadata.json,sha256=ir1PGLSW-wOJWtui7O0nAOYjlpeDFrroR3vx-GeTOCg,809 django_payu_payments-0.1.2.dist-info/requires.txt.py,sha256=xRnL_P258evCo1jppR52z_mfzU4S1RzHkooerWso_bA,30 django_payu_payments-0.1.2.dist-info/top_level.txt,sha256=GWMJjZJPd6Iy45RyBaQYXGNwq8qSvV-b7PdUYZT0bsg,5 django_payu_payments-0.1.2.dist-info/top_level.txt.py,sha256=EYYeqi5w6Kxz2dIM0XK2pTlssBFv7Vv-QyygdRRLLUg,5 payu/__init__.py,sha256=uNFS-xOS60sJpG2rsg1DxwiOJCOMG8L4G_ZxXVMH9Zo,44 payu/admin.py,sha256=A_XzoGaSsIxDN7g1705RS003BbOqpy1nA_f_lbpnww0,1543 payu/api.py,sha256=gxfsSYCd6u7GAJ_GF2KtGg7ZXUj9A4RtdJFpusc7x4Q,1673 payu/apps.py,sha256=FZVYEmVerxwFv3wn_7IeVPMvWtJvtQ8E68gFmyFjBYY,168 payu/models.py,sha256=Qi-uWtQMHYfRw_qAIRbRLDaRWzvfdA2pNn3Z1ZHiCHU,5941 payu/settings.py,sha256=CxUJ8NgKzKTWUF-u8dGXt2LEaTD8B8jLadfLIdWcZ5Q,503 payu/setup.py,sha256=CR7NXbYdb-z_V4I6PIkc3U_RtnXm3U_gVDGlBsyH7Og,751 payu/urls.py,sha256=pkAXSFyOzDJCrI8F7DL6GaUKuXMfJxYcHox7pgKFk2o,123 payu/urls_api.py,sha256=uxbCScZu3yecf4yV0JiEHF6SJ6YTXsogd6jqOSgUoJY,140 payu/locale/pl/LC_MESSAGES/django.mo,sha256=y4pIEMnFnN7_3Q7EuVt7vM3O3qn_obi8JciEeCa2wCo,1587 payu/locale/pl/LC_MESSAGES/django.po,sha256=IBHavkQ1_iC362s0FV9m2n0MnN2_YnlkMGsV7ab8K1M,2047 payu/migrations/0001_initial.py,sha256=lu-jLtO0dUxxX2bb-Wo5_JoFNS0S72RDGdmpkkYEnaw,1705 payu/migrations/0002_auto_20160313_2006.py,sha256=ijHqA5T8WvRQpwz8s-0DbrkZX6M0nlCypHgc9ZZLC6c,463 payu/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 PKCH#,Q,,payu/__init__.pyPK