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)
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)
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 })
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, })
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
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