diff --git a/gpwebpay/gpwebpay.py b/gpwebpay/gpwebpay.py index 43151e3..2bb3f03 100644 --- a/gpwebpay/gpwebpay.py +++ b/gpwebpay/gpwebpay.py @@ -21,7 +21,7 @@ class GpwebpayClient: def __init__(self): self.data = None - def _create_payment_data(self, order_number: str = "", amount: int = 0) -> None: + def _create_payment_data(self, order_number: str = "", amount: int = 0, description: str | None = None) -> None: """To create the DIGEST we need to keep the order of the params""" self.data = OrderedDict() self.data["MERCHANTNUMBER"] = settings.merchant_id @@ -31,6 +31,8 @@ def _create_payment_data(self, order_number: str = "", amount: int = 0) -> None: self.data["CURRENCY"] = settings.currency self.data["DEPOSITFLAG"] = settings.deposit_flag self.data["URL"] = str(settings.merchant_callback_url) + if description is not None: + self.data["DESCRIPTION"] = description def _create_message(self, data: dict, is_digest_1: bool = False) -> bytes: # Create message according to GPWebPay documentation (4.1.1) diff --git a/tests/test_gpwebpay.py b/tests/test_gpwebpay.py index e1842bd..f146f5c 100644 --- a/tests/test_gpwebpay.py +++ b/tests/test_gpwebpay.py @@ -11,7 +11,7 @@ # CVC2: 200 # Example message = "|CREATE_ORDER||| -# ||" +# |||[description]" def test_init(gateway_client): @@ -38,8 +38,9 @@ def test_create_data(gateway_client, monkeypatch): CURRENCY="978", DEPOSITFLAG="1", URL="https://localhost:5000/payment_callback", + DESCRIPTION="Very important payment", ) - gateway_client._create_payment_data(order_number="123456", amount=10) + gateway_client._create_payment_data(order_number="123456", amount=10, description="Very important payment") assert gateway_client.data == expected_data @@ -50,7 +51,7 @@ def test_create_message(gateway_client, monkeypatch): b"1234567890|CREATE_ORDER|123456|10|978|1|https://localhost:5000/" b"payment_callback" ) - gateway_client._create_payment_data(order_number="123456", amount=10) + gateway_client._create_payment_data(order_number="123456", amount=10, description="Very important payment") message = gateway_client._create_message(gateway_client.data) assert message == expected_message