Esempio n. 1
0
def item_buy(item_id):
    item = Item.query.get(item_id)
    api = Api(merchant_id=1396424, secret_key='test')  # ставим свои данные
    checkout = Checkout(api=api)
    data = {'currency': 'RUB', 'amount': str(item.price) + '00'}
    url = checkout.url(data).get('checkout_url')
    return redirect(url)
def top_up_account_processing(request: object) -> object:
    """Buy ptodunct and send message on email admin."""
    try:
        user = User.objects.get(email=request.user.email)

        sum_num = int(request.POST.get('sum'))

        if sum_num > 0:

            api = Api(merchant_id=1396424, secret_key='test')
            checkout = Checkout(api=api)
            data = {"currency": "USD", "amount": str(sum_num) + '00'}
            url = checkout.url(data).get('checkout_url')

            user.profile.money += sum_num
            user.profile.save()

            transaction = Transaction(user=user, amount=sum_num)
            transaction.save()

            return redirect(url)
        else:
            return redirect(to="edit")
    except (TypeError, ValueError, OverflowError, User.DoesNotExist):
        return redirect(to="edit")
Esempio n. 3
0
def real_buy(id):
    product = tablet.objects(Tablet_Id=id).first()
    api = Api(merchant_id=1396424, secret_key='test')
    checkout = Checkout(api=api)
    data = {"currency": "EUR", "amount": product.price + "00"}
    url = checkout.url(data).get('checkout_url')
    return redirect(url)
Esempio n. 4
0
def shop(id):
    item = Item.query.get(id)
    api = Api(merchant_id=1396424, secret_key='test')
    checkout = Checkout(api=api)
    data = {"currency": "RUB", "amount": str(item.prize) + '00'}
    url = checkout.url(data).get('checkout_url')
    return redirect(url)
Esempio n. 5
0
def payment_make(request):
    resp = MobileResponse()

    data = json.loads(request.body.decode('utf-8'))

    card_obj = request.user.cards.filter(status_id=1).first()
    card_obj.delivery_method = DeliveryMethod.objects.filter(price=int(data['delivery_method'].split(',')[0])).first()
    amount = card_obj.get_amount()

    api = Api(merchant_id=settings.MERCHANT_ID,
              secret_key=settings.MERCHANT_SECRET_KEY)

    checkout = Checkout(api=api)

    order_str = f"{request.user.username}_{time.time()}"

    data = {
        "order_id": order_str,
        "currency": "UAH",
        "amount": int(amount*100)
    }

    url = checkout.url(data).get('checkout_url')
    resp.set_response(url)

    return HttpResponse(resp.return_success())
Esempio n. 6
0
def payment(price):
    api = Api(merchant_id=1396424, secret_key='test')
    checkout = Checkout(api=api)
    data = {'currency': 'RUB', 'amount': str(price) + '00'}
    url = checkout.url(data).get('checkout_url')

    return redirect(url)
Esempio n. 7
0
def item_buy(id):
    item = Item.query.get(id)
    api = Api(merchant_id=1396424, secret_key='test')
    checkout = Checkout(api=api)
    data = {"currency": "USD", "amount": str(item.price) + "00"}
    url = checkout.url(data).get('checkout_url')
    return redirect(url)
Esempio n. 8
0
def payment(id):
    product = Goods.query.get(id)

    from cloudipsp import Api, Checkout
    api = Api(merchant_id=1396424, secret_key='test')
    checkout = Checkout(api=api)
    data = {"currency": "USD", "amount": str(product.price) + "00"}
    url = checkout.url(data).get('checkout_url')
    return redirect(url)
Esempio n. 9
0
def post_page(post_id):
    api = Api(merchant_id=1460849,
          secret_key='dLQEnCTzxbdV49sLP3jbfq3MMFWTh2dU')
    checkout = Checkout(api=api)
    data = {
    "currency": "RUB",
    "amount":  "100"
    }
    url = checkout.url(data).get('checkout_url')
    return redirect(url)
Esempio n. 10
0
def item_by(id):
    item = Item.query.get(id)
    api = Api(merchant_id=1396424,
              secret_key='test')
    checkout = Checkout(api=api)
    data = {
        'currency': 'RUB',
        'amount': f'{item.price}00'
    }
    url = checkout.url(data).get('checkout_url')
    return redirect(url)
Esempio n. 11
0
def item_buy(id):
    item = db_sess.query(Jobs).get(id)
    api = Api(merchant_id=1396424,
              secret_key='test')
    checkout = Checkout(api=api)
    data = {
        "currency": "RUB",
        "amount": str(item.work_size) + '00'
    }
    url = checkout.url(data).get('checkout_url')
    return redirect(url)
Esempio n. 12
0
def product_payment(id):
    db_sess = db_session.create_session()
    product = db_sess.query(Products).filter(Products.id == id).first()

    api = Api(merchant_id=1396424, secret_key='test')

    checkout = Checkout(api=api)

    data = {"currency": "RUB", "amount": int(product.price) * 100}
    url = checkout.url(data).get('checkout_url')
    return redirect(url)
Esempio n. 13
0
def item_buy(id):
    item = Item.query.get(id)

    api = Api(
        merchant_id=1396424,  # эти данные при регистрации в пдатежной системе
        secret_key='test')
    checkout = Checkout(api=api)
    data = {
        "currency": "RUB",
        "amount": item.price * 100  # str(item.price) + "00"
    }
    url = checkout.url(data).get('checkout_url')
    return redirect(url)
Esempio n. 14
0
def item_buy(id, cur_country, price):
    db_sess = db_session.create_session()
    item = db_sess.query(Products).filter(Products.id == id).first()
    print(1)
    order = Orders(name=item.name, phone_number=current_user.phone_number)
    db_sess.add(order)
    price = round(price)
    api = Api(merchant_id=1396424, secret_key='test')
    checkout = Checkout(api=api)
    data = {"currency": cur_country, "amount": str(price) + "00"}
    db_sess.delete(item)
    db_sess.commit()
    url = checkout.url(data).get('checkout_url')
    return redirect(url)
Esempio n. 15
0
def item_buy(id):
    db_sess = db_session.create_session()
    item = db_sess.query(Item.Item).all()

    api = Api(merchant_id=1396424, secret_key='test')
    checkout = Checkout(api=api)
    sum = 0
    for i in item:
        sum += i.price
    data = {"currency": "RUB", "amount": str(sum) + "00"}
    url = checkout.url(data).get('checkout_url')
    number = random.randint(1, 10000)
    order_number("Заказ с номером " + str(number) + " оплачен")
    return redirect(url)
Esempio n. 16
0
def checkout():
    # res = make_response(render_template('checkout.html', get_cart_for_checkout=get_cart_for_checkout(), cart_size=0))
    api = Api(merchant_id=1397120, secret_key='test')
    pay = Checkout(api=api)
    amount = int(get_total_cart(get_items_from_cookies(request.cookies.get('cart'))))
    if amount == 0:
        amount = 1
    data = {
        "currency": "RUB",
        "amount": str(int(amount)) + '00'
    }
    url = pay.url(data).get('checkout_url')
    res = make_response(redirect(url))
    res.set_cookie('cart', '0', max_age=60*60*24)
    return res
Esempio n. 17
0
def tarrifs_page(request):
    """For tarrifs.html page. Connect to FONDY."""
    api = Api(merchant_id=1396424, secret_key='test')
    checkout = Checkout(api=api)
    data = {
        "currency": "RUB",
        "amount": 150000,
        "order_desc": "Покупка подписки на сайте",
        "order_id": str(time.time())
    }
    url = checkout.url(data).get('checkout_url')
    return render(request, 'courses/tarrifs.html', {
        'title': 'Тарифы на сайте',
        'url': url
    })
Esempio n. 18
0
def buy_page():
    id = current_user.get_id()
    form = BuyForm()
    db_sess = db_session.create_session()
    user = db_sess.query(User).filter(User.id == id).first()
    cart = user.cart
    cart_dict = {}
    cart = cart.split(', ')
    for el in cart:
        el = el.split(': ')
        item = db_sess.query(Item).filter(Item.id == int(el[0])).first()
        price = item.price
        price = price[2:]
        price = unicodedata.normalize("NFKD", price)
        price = price.strip()
        if item.title in cart_dict.keys():
            it = {
                'price': int(''.join(price.split())),
                'amount': int(el[1]) + int(cart_dict[item.title]['amount']),
                'image': item.image,
                'link': '/item/{}'.format(el[0]),
                'id': el[0]
            }
        else:
            it = {
                'price': int(''.join(price.split())),
                'amount': int(el[1]),
                'image': item.image,
                'link': '/item/{}'.format(el[0]),
                'id': el[0]
            }
        cart_dict[item.title] = it
    total = 0
    for key, value in cart_dict.items():
        total += value['price']
    user.total = total
    db_sess.commit()
    if form.validate_on_submit():
        api = Api(merchant_id=1396424,
                  secret_key='test')
        checkout = Checkout(api=api)
        data = {
            "currency": "RUB",
            "amount": str(user.total) + "00"
        }
        url = checkout.url(data).get('checkout_url')
        return redirect(url)
    return render_template('buying_page.html', cart=cart_dict, title='Корзина', total=total, form=form)
Esempio n. 19
0
def tarrifsPage(request):
    api = Api(merchant_id=1465283, secret_key=secret_key)
    checkout = Checkout(api=api)
    data = {
        "currency": "RUB",
        "amount": 100000,
        "order_desc": "Покупка подписки на сайте",
        "order_id": str(time.time()),
        'merchant_data': '*****@*****.**'
    }
    url = checkout.url(data).get('checkout_url')

    return render(request, 'courses/tarrifs.html', {
        'title': 'Тарифы на сайте',
        'url': url
    })
Esempio n. 20
0
def item_buy(id):
    item = Item.query.get(id)
    item.amount -= 1
    api = Api(merchant_id=1396424,
              secret_key='test')
    checkout = Checkout(api=api)
    data = {
        "currency": "UAH",
        "amount": str(item.price)+"00"
    }
    url = checkout.url(data).get('checkout_url')

    if item.amount > 0:
        return redirect(url)
    else:
        return "This item is not available now (:"
Esempio n. 21
0
def tarrifsPage(request):
    api = Api(merchant_id=os.getenv("tarrifs_merchant_id"),
              secret_key=secret_key)
    checkout = Checkout(api=api)
    data = {
        "currency": "RUB",
        "amount": 150000,
        "order_desc": "Покупка подписки на сайте",
        "order_id": str(time.time()),
        'merchant_data': '*****@*****.**'
    }
    url = checkout.url(data).get('checkout_url')

    return render(request, 'modelsdata/tarrifs.html', {
        'title': 'Тарифы на сайте',
        'url': url
    })
Esempio n. 22
0
def bike_buy(id):
    bike = Bike.query.get(id)
    
    api = Api(merchant_id=1396424,
              secret_key='test')
    checkout = Checkout(api=api)
    data = {
        "currency": "UAH",
        "amount": str(bike.price)+"00"
    }
    url = checkout.url(data).get('checkout_url')
    if bike.amount > 0:
        bike.amount -= 1
        db.session.commit()
        return redirect(url)
    else:
        return "This bike is not available now (:"
Esempio n. 23
0
class CheckoutTest(TestCase):
    def setUp(self):
        self.api = self.get_api()
        self.checkout = Checkout(api=self.api)

    def test_create_url_json(self):
        response = self.checkout.url(self.data.get('checkout_data'))
        self.assertEqual(response.get('response_status'), 'success')
        self.assertEqual(self.api._headers().get('Content-Type'),
                         'application/json; charset=utf-8')
        self.assertIn('checkout_url', response)
        self.assertEqual(len(response.get('checkout_url')) > 0, True)

    def test_get_order_id(self):
        data = {'order_id': str(uuid.uuid4())}
        data.update(self.data.get('checkout_data'))
        self.checkout.url(data)
        self.assertEqual(self.checkout.order_id, data.get('order_id'))

    def test_create_url_json_v2(self):
        self.api.api_protocol = '2.0'
        response = self.checkout.url(self.data.get('checkout_data'))
        self.assertEqual(self.api._headers().get('Content-Type'),
                         'application/json; charset=utf-8')
        self.assertEqual(response.get('version'), '2.0')
        self.assertEqual(len(response.get('data')) > 0, True)

    def test_create_subscb_json_v2(self):
        self.api.api_protocol = '2.0'
        data = self.data.get('checkout_data')
        recurring_data = {
            'recurring_data': {
                'start_time': '2028-11-11',
                'amount': '234324',
                'every': '40',
                'period': 'day'
            }
        }
        data.update(recurring_data)
        response = self.checkout.url(data)
        self.assertEqual(self.api._headers().get('Content-Type'),
                         'application/json; charset=utf-8')
        self.assertEqual(response.get('version'), '2.0')
        self.assertEqual(len(response.get('data')) > 0, True)

    def test_create_url_xml(self):
        self.api.request_type = 'xml'
        response = self.checkout.url(self.data.get('checkout_data'))

        self.assertEqual(response.get('response_status'), 'success')
        self.assertEqual(self.api._headers().get('Content-Type'),
                         'application/xml; charset=utf-8')
        self.assertIn('checkout_url', response)
        self.assertEqual(len(response.get('checkout_url')) > 0, True)

    def test_create_url_form(self):
        self.api.request_type = 'form'
        response = self.checkout.url(self.data.get('checkout_data'))

        self.assertEqual(response.get('response_status'), 'success')
        self.assertEqual(self.api._headers().get('Content-Type'),
                         'application/x-www-form-urlencoded; charset=utf-8')
        self.assertIn('checkout_url', response)
        self.assertEqual(len(response.get('checkout_url')) > 0, True)

    def test_create_token(self):
        response = self.checkout.token(self.data.get('checkout_data'))
        self.assertEqual(response.get('response_status'), 'success')
        self.assertEqual(self.api._headers().get('Content-Type'),
                         'application/json; charset=utf-8')
        self.assertIn('token', response)
        self.assertEqual(len(response.get('token')) > 0, True)

    def test_create_url_verify(self):
        response = self.checkout.verification(self.data.get('checkout_data'))
        self.assertEqual(response.get('response_status'), 'success')
        self.assertEqual(self.api._headers().get('Content-Type'),
                         'application/json; charset=utf-8')
        self.assertIn('checkout_url', response)
        self.assertEqual(len(response.get('checkout_url')) > 0, True)
Esempio n. 24
0
class CheckoutTest(BaseTestCase):
    def setUp(self):
        self.api = self.get_api()
        self.checkout = Checkout(api=self.api)

    def test_create_url_json(self):
        response = self.checkout.url(self.data.get("checkout_data"))
        self.assertEqual(response.get("response_status"), "success")
        self.assertEqual(self.api._headers().get("Content-Type"),
                         "application/json; charset=utf-8")
        self.assertIn("checkout_url", response)
        self.assertEqual(len(response.get("checkout_url")) > 0, True)

    def test_get_order_id(self):
        data = {"order_id": str(uuid.uuid4())}
        data.update(self.data.get("checkout_data"))
        self.checkout.url(data)
        self.assertEqual(self.checkout.order_id, data.get("order_id"))

    def test_create_url_json_v2(self):
        self.api.api_protocol = "2.0"
        response = self.checkout.url(self.data.get("checkout_data"))
        self.assertEqual(self.api._headers().get("Content-Type"),
                         "application/json; charset=utf-8")
        self.assertEqual(response.get("version"), "2.0")
        self.assertEqual(len(response.get("data")) > 0, True)

    def test_create_subscb_json_v2(self):
        self.api.api_protocol = "2.0"
        data = self.data.get("checkout_data")
        recurring_data = {
            "recurring_data": {
                "start_time": "2028-11-11",
                "amount": "234324",
                "every": "40",
                "period": "day",
            }
        }
        data.update(recurring_data)
        response = self.checkout.url(data)
        self.assertEqual(self.api._headers().get("Content-Type"),
                         "application/json; charset=utf-8")
        self.assertEqual(response.get("version"), "2.0")
        self.assertEqual(len(response.get("data")) > 0, True)

    def test_create_url_xml(self):
        self.api.request_type = "xml"
        response = self.checkout.url(self.data.get("checkout_data"))

        self.assertEqual(response.get("response_status"), "success")
        self.assertEqual(self.api._headers().get("Content-Type"),
                         "application/xml; charset=utf-8")
        self.assertIn("checkout_url", response)
        self.assertEqual(len(response.get("checkout_url")) > 0, True)

    def test_create_url_form(self):
        self.api.request_type = "form"
        response = self.checkout.url(self.data.get("checkout_data"))

        self.assertEqual(response.get("response_status"), "success")
        self.assertEqual(
            self.api._headers().get("Content-Type"),
            "application/x-www-form-urlencoded; charset=utf-8",
        )
        self.assertIn("checkout_url", response)
        self.assertEqual(len(response.get("checkout_url")) > 0, True)

    def test_create_token(self):
        response = self.checkout.token(self.data.get("checkout_data"))
        self.assertEqual(response.get("response_status"), "success")
        self.assertEqual(self.api._headers().get("Content-Type"),
                         "application/json; charset=utf-8")
        self.assertIn("token", response)
        self.assertEqual(len(response.get("token")) > 0, True)

    def test_create_url_verify(self):
        response = self.checkout.verification(self.data.get("checkout_data"))
        self.assertEqual(response.get("response_status"), "success")
        self.assertEqual(self.api._headers().get("Content-Type"),
                         "application/json; charset=utf-8")
        self.assertIn("checkout_url", response)
        self.assertEqual(len(response.get("checkout_url")) > 0, True)
Esempio n. 25
0
from cloudipsp import Api, Checkout

api = Api(
    merchant_id=1396424,
    secret_key="test",
    request_type="xml",
    api_protocol="1.0.1",
    api_domain="api.fondy.eu",
)  # json - is default
checkout = Checkout(api=api)
data = {
    "preauth": "Y",
    "currency": "RUB",
    "amount": 10000,
    "reservation_data": {
        "test": 1,
        "test2": 2
    },
}
response = checkout.url(data)