Example #1
0
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)
Example #2
0
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)
Example #3
0
 def hold_complete(self, id, amount):
     liqpay = LiqPay(public_key, private_key)
     res = liqpay.api(
         "request", {
             "action": "hold_completion",
             "version": "3",
             "amount": amount * 0.01,
             "order_id": id
         })
Example #4
0
 def pay(self, price, token):
     liqpay = LiqPay(public_key, private_key)
     res = liqpay.api(
         "request", {
             "action": "p2pcredit",
             "version": "3",
             "amount": price,
             "currency": "UAH",
             "description": "description text",
             "order_id": "order_id_1",
             "receiver_card_token": token,
         })
Example #5
0
class LiqPayTestCase(unittest.TestCase):
    def setUp(self):
        self.maxDiff = None
        self.liqpay = LiqPay('publicKey', 'privateKey')

    def test_api(self):
        url = 'payment/status'
        params = dict(payment_id=3940)

        self.assertRaises(ParamRequired, self.liqpay.api, url, params)
        params.update(version=3)
        res = self.liqpay.api(url, params)
        self.assertEqual(res['err_code'], 'public_key_not_found')

    def test_form(self):
        params = {
            'amount': '3940',
            'currency': 'UAH',
            'description': 'test',
            'action': 'pay',
            'version': 3,
            'order_id': 1,
        }
        expected_form_out = (
            '<form method="post" action="https://www.liqpay.com/api/checkout/" accept-charset="utf-8">\n'
            '\t<input type="hidden" name="data" value="{data}"/>\n'
            '\t<input type="hidden" name="signature" value="{signature}"/>\n'
            '\t<input type="image" src="//static.liqpay.com/buttons/p1ru.radius.png" name="btn_text"/>\n'
            '</form>'
        ).format(
            data='eyJhY3Rpb24iOiAicGF5IiwgImFtb3VudCI6ICIzOTQwIiwgImN1cnJlbmN5IjogIlVBSCIsICJkZXNjcmlwdGlvbiI6ICJ0ZXN0IiwgIm9yZGVyX2lkIjogMSwgInB1YmxpY19rZXkiOiAicHVibGljS2V5IiwgInNhbmRib3giOiAxLCAidmVyc2lvbiI6IDN9',
            signature='nELNtiwxyaLzvj1hmCrxt78W/qE='
        )
        form = self.liqpay.get_form(sandbox=True, params=params)

        self.assertEqual(form.render(), expected_form_out)

        # test form without required param
        del params['amount']
        with self.assertRaises(ParamRequired):
            form.params = params

        # test params validation
        params['language'] = 'uk'  # unsupported language
        with self.assertRaises(ParamValidationError):
            form.params = params
        del params['language']

        params['currency'] = 'MXN'  # unsupported currency
        with self.assertRaises(ParamValidationError):
            form.params = params
Example #6
0
class LiqPayTestCase(unittest.TestCase):
    def setUp(self):
        self.maxDiff = None
        self.liqpay = LiqPay('publicKey', 'privateKey')

    def test_api(self):
        url = 'payment/status'
        params = dict(payment_id=3940)

        self.assertRaises(ParamRequired, self.liqpay.api, url, params)
        params.update(version=3)
        res = self.liqpay.api(url, params)
        self.assertEqual(res['err_code'], 'public_key_not_found')

    def test_form(self):
        params = {
            'amount': '3940',
            'currency': 'UAH',
            'description': 'test',
            'action': 'pay',
            'version': 3,
            'order_id': 1,
        }
        expected_form_out = (
            '<form method="post" action="https://www.liqpay.ua/api/checkout/" accept-charset="utf-8">\n'
            '    <input type="hidden" name="data" value="{data}"/>\n'
            '    <input type="hidden" name="signature" value="{signature}"/>\n'
            '    <input type="image" src="//static.liqpay.com/buttons/p1ru.radius.png" name="btn_text"/>\n'
            '</form>'
        ).format(
            data=
            'eyJhY3Rpb24iOiAicGF5IiwgImFtb3VudCI6ICIzOTQwIiwgImN1cnJlbmN5IjogIlVBSCIsICJkZXNjcmlwdGlvbiI6ICJ0ZXN0IiwgIm9yZGVyX2lkIjogMSwgInB1YmxpY19rZXkiOiAicHVibGljS2V5IiwgInNhbmRib3giOiAxLCAidmVyc2lvbiI6IDN9',
            signature='nELNtiwxyaLzvj1hmCrxt78W/qE=')
        form = self.liqpay.get_form(sandbox=True, params=params)
        self.assertEqual(form.render(), expected_form_out)

        # test form without required param
        del params['amount']
        with self.assertRaises(ParamRequired):
            form.params = params

        # test params validation
        params['language'] = 'uk'  # unsupported language
        with self.assertRaises(ParamValidationError):
            form.params = params
        del params['language']

        params['currency'] = 'MXN'  # unsupported currency
        with self.assertRaises(ParamValidationError):
            form.params = params