class TestLiqPaySimple(unittest.TestCase): def setUp(self): self.liqpay = LiqPay('', '') self.maxDiff = None def test_api(self): self.assertTrue( self.liqpay.api("payment/status", {"payment_id": "3940"})) def test_gen_form(self): expected_form_out = ( u'<form method="post" action="https://www.liqpay.com/api/3/checkout/" accept-charset="utf-8">\n' u'\t<input type="hidden" name="data" value="eyJwdWJsaWNfa2V5IjogIiIsICJkZXNjcmlwdGlvbiI6ICJcdTA0NDJcdTA0MzVcdTA0NDFcdTA0NDIiLCAibGFuZ3VhZ2UiOiAicnUiLCAic2FuZGJveCI6IDAsICJjdXJyZW5jeSI6ICJVQUgiLCAiYW1vdW50IjogIjM5NDAiLCAidGVzdCI6ICJjY2NjIn0="/>\n' u'\t<input type="hidden" name="signature" value="Zdm/xbS30v9ZTNXrLXeW9QFVxHQ="/>\n' u' <input type="image" src="//static.liqpay.com/buttons/p1ru.radius.png" name="btn_text" />\n' u'</form>') # test unicode issue with ru symbols params = { "amount": "3940", "currency": "UAH", "description": "тест", "test": "cccc" } self.assertEqual(self.liqpay.cnb_form(params), expected_form_out) # ru symbols in unicode params.update(description=u'тест') self.assertEqual(self.liqpay.cnb_form(params), expected_form_out) # test gen_form without required param del params['amount'] self.assertRaises(ParamValidationError, self.liqpay.cnb_form, params)
class TestLiqPaySimple(unittest.TestCase): def setUp(self): self.liqpay = LiqPay('', '') self.maxDiff = None def test_api(self): self.assertTrue(self.liqpay.api("payment/status", {"payment_id": "3940"})) def test_gen_form(self): expected_form_out = ( u'<form method="post" action="https://www.liqpay.com/api/3/checkout/" accept-charset="utf-8">\n' u'\t<input type="hidden" name="data" value="eyJwdWJsaWNfa2V5IjogIiIsICJkZXNjcmlwdGlvbiI6ICJcdTA0NDJcdTA0MzVcdTA0NDFcdTA0NDIiLCAibGFuZ3VhZ2UiOiAicnUiLCAic2FuZGJveCI6IDAsICJjdXJyZW5jeSI6ICJVQUgiLCAiYW1vdW50IjogIjM5NDAiLCAidGVzdCI6ICJjY2NjIn0="/>\n' u'\t<input type="hidden" name="signature" value="Zdm/xbS30v9ZTNXrLXeW9QFVxHQ="/>\n' u' <input type="image" src="//static.liqpay.com/buttons/p1ru.radius.png" name="btn_text" />\n' u'</form>' ) # test unicode issue with ru symbols params = dict( amount="3940", currency="UAH", description="тест", test="cccc" ) self.assertEqual(self.liqpay.cnb_form(params), expected_form_out) # ru symbols in unicode params.update(description=u'тест') self.assertEqual(self.liqpay.cnb_form(params), expected_form_out) # test gen_form without required param del params['amount'] self.assertRaises(ParamValidationError, self.liqpay.cnb_form, params)
def PayLoadView(request, picture_id, org_id): try: picture = Picture.objects.get(pk=picture_id) #p_author = User.objects.get(username=request.user.username) organization = Organization.objects.get(pk=org_id) lang = "ru" if translation.get_language() == "en": lang = "en" if request.user.is_authenticated(): user = User.objects.get(username=request.user.username) user_id = user.email else: user_id = get_client_ip(request) order = Download.create(0, picture, organization, user_id, "web-liqpay") order.save() liqpay = LiqPay(settings.LIQPAY_PUBLIC, settings.LIQPAY_PRIVAT) html_f = liqpay.cnb_form({ "version" : "3", "amount" : "1", "currency" : "USD", "description" : "Donate for "+organization.name, "order_id" : order.id, "result_url" : "http://pics.ato.care/care/donload/"+picture_id+"/"+org_id+"/"+str(order.id), "language" : lang, #"sandbox": 1, }) return HttpResponse(simplejson.dumps({'success': "true", 'message': "", 'form':html_f}), content_type="application/json") except Exception, e: return HttpResponse(simplejson.dumps({'success': "false", 'message': "Wrong request..."}), content_type="application/json")
def get_payment(order_id): ukraine = timezone(timedelta(hours=2)) data = CafeOrder.find_one({"order_id": str(order_id)}) if data is None: return "Замовлення не знайдено" data_to_send = { "version": 3, "public_key": UNIT_PUB_KEY, "action": "pay", "amount": str(data.price), "currency": "UAH", "description": "{order_id} від {datetime} За замовлення в UNIT.cafe".format( order_id=order_id, datetime=datetime.now( tz=ukraine).strftime("%Y-%m-%dT%H:%M:%S.%f")), "server_url": "https://unit.cafe/index.php?route=extension/payment/liqpay/callback", "result_url": "https://www.facebook.com/FriendlyFoodBot/", "order_id": order_id } liqpay = LiqPay(UNIT_PUB_KEY, UNIT_PRIV_KEY) try: html = liqpay.cnb_form(data_to_send) except: return "Замовлення не знайдено" return html