From 2818eb7f3874c941d4b3554c833686bcecd54f38 Mon Sep 17 00:00:00 2001 From: Martin Quarda Date: Mon, 5 Aug 2024 14:47:46 +0200 Subject: [PATCH] first payment nastrel --- alkator/settings.py | 5 ++++ .../0012_user_paid_user_trans_id.py | 23 +++++++++++++++++++ alkatorapi/models.py | 2 ++ alkatorapi/views.py | 16 +++++++++++++ 4 files changed, 46 insertions(+) create mode 100644 alkatorapi/migrations/0012_user_paid_user_trans_id.py diff --git a/alkator/settings.py b/alkator/settings.py index 86bde26..c43c8b9 100644 --- a/alkator/settings.py +++ b/alkator/settings.py @@ -83,6 +83,11 @@ DATABASES = { } +COMGATE_MERCHANT = 484757 +COMGATE_TEST = True +COMGATE_SECRET = '2c07bfabd1a5e4a312dc49929de60aa2' + + # Email DEFAULT_FROM_EMAIL = 'info@alkator.cz' EMAIL_HOST = 'smtp.seznam.cz' diff --git a/alkatorapi/migrations/0012_user_paid_user_trans_id.py b/alkatorapi/migrations/0012_user_paid_user_trans_id.py new file mode 100644 index 0000000..b76b5ea --- /dev/null +++ b/alkatorapi/migrations/0012_user_paid_user_trans_id.py @@ -0,0 +1,23 @@ +# Generated by Django 4.2.12 on 2024-08-05 12:47 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('alkatorapi', '0011_alter_user_alkator_class'), + ] + + operations = [ + migrations.AddField( + model_name='user', + name='paid', + field=models.BooleanField(default=False), + ), + migrations.AddField( + model_name='user', + name='trans_id', + field=models.CharField(blank=True, max_length=120, null=True), + ), + ] diff --git a/alkatorapi/models.py b/alkatorapi/models.py index 772c108..054f41e 100644 --- a/alkatorapi/models.py +++ b/alkatorapi/models.py @@ -32,6 +32,8 @@ class User(models.Model): starting_number = models.IntegerField(null=True, blank=True) alkator_category = models.IntegerField(choices=ALKATOR_CHOICES, default=1) alkator_class = models.IntegerField(choices=ALKATOR_CLASSES) + trans_id = models.CharField(null=True, blank=True, max_length=120) + paid = models.BooleanField(default=False) def __str__(self): return f"" diff --git a/alkatorapi/views.py b/alkatorapi/views.py index 71d7e08..222dfe8 100644 --- a/alkatorapi/views.py +++ b/alkatorapi/views.py @@ -2,12 +2,14 @@ from django.shortcuts import render from django.http import HttpResponse from django.views.decorators.csrf import csrf_exempt from datetime import date, datetime +import requests import json import glob import PIL.Image import random from .models import User, ALKATOR_CHOICES_DICT +from alkator.settings import COMGATE_MERCHANT, COMGATE_TEST, COMGATE_SECRET @csrf_exempt @@ -46,6 +48,20 @@ def register(request): alkator_class=ALKATOR_CLASS, ) user.save() + + payment_data = { + 'merchant': COMGATE_MERCHANT, + 'test': COMGATE_TEST, + 'price': 69000, + 'curr': 'CZK', + 'label': 'Startovné', + 'refId': f'{user.id}', + 'secret': COMGATE_SECRET, + } + result = requests.post('https://payments.comgate.cz/v1.0/create', data=payment_data) + + raise Exception(result) + return HttpResponse('{"success":"Úspěšná registrace."}', content_type='application/json')