From 27843e8ed3f9a47036793cd188d295e6b6f284eb Mon Sep 17 00:00:00 2001 From: zakiarsyad Date: Wed, 18 May 2022 15:53:27 +0700 Subject: [PATCH 1/2] add metadata field for credit card function --- README.md | 16 ++++++++++++++-- tests/integration/test_credit_card.py | 6 ++++++ tests/sampleresponse/credit_card.py | 3 +++ .../creditcard/test_create_authorization.py | 6 ++++++ .../unit/models/creditcard/test_create_charge.py | 6 ++++++ xendit/models/creditcard/credit_card.py | 4 ++++ 6 files changed, 39 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 641df374..8861ee45 100644 --- a/README.md +++ b/README.md @@ -257,6 +257,9 @@ charge = CreditCard.create_authorization( external_id="card_preAuth-1594106356", amount=75000, card_cvn="123", + metadata={ + "meta": "data", + }, ) print(charge) ``` @@ -282,7 +285,10 @@ Will return "bank_reconciliation_id": "5941063625146828103011", "approval_code": "831000", "created": "2020-07-07T07:19:22.921Z", - "id": "5f0421fa8cc1e8001973a1d6" + "id": "5f0421fa8cc1e8001973a1d6", + "metadata": { + "meta": "data" + } } ``` @@ -323,6 +329,9 @@ charge = CreditCard.create_charge( external_id="card_charge-1594106478", amount=75000, card_cvn="123", + metadata={ + "meta": "data", + }, ) print(charge) ``` @@ -348,7 +357,10 @@ Will return "bank_reconciliation_id": "5941064846646923303008", "approval_code": "831000", "created": "2020-07-07T07:21:25.027Z", - "id": "5f0422752bbbe50019a368b5" + "id": "5f0422752bbbe50019a368b5", + "metadata": { + "meta": "data" + } } ``` diff --git a/tests/integration/test_credit_card.py b/tests/integration/test_credit_card.py index f00a38e7..4c46aa93 100644 --- a/tests/integration/test_credit_card.py +++ b/tests/integration/test_credit_card.py @@ -21,6 +21,9 @@ def test_create_authorization_return_correct_keys(self, CreditCard): external_id=f"card_preAuth-{int(time.time())}", amount=75000, card_cvn="123", + metadata={ + "meta": "data", + }, ) self.assert_returned_object_has_same_key_as_sample_response( @@ -49,6 +52,9 @@ def test_create_charge_return_correct_keys(self, CreditCard): external_id=f"card_preAuth-{int(time.time())}", amount=75000, card_cvn="123", + metadata={ + "meta": "data", + }, ) self.assert_returned_object_has_same_key_as_sample_response( diff --git a/tests/sampleresponse/credit_card.py b/tests/sampleresponse/credit_card.py index 49738661..53f53d3f 100644 --- a/tests/sampleresponse/credit_card.py +++ b/tests/sampleresponse/credit_card.py @@ -31,6 +31,9 @@ def charge_response(): "approval_code": "831000", "created": "2020-07-07T07:19:22.921Z", "id": "5f0421fa8cc1e8001973a1d6", + "metadata": { + "meta": "data" + }, } diff --git a/tests/unit/models/creditcard/test_create_authorization.py b/tests/unit/models/creditcard/test_create_authorization.py index 22ab4e10..7656d6e7 100644 --- a/tests/unit/models/creditcard/test_create_authorization.py +++ b/tests/unit/models/creditcard/test_create_authorization.py @@ -19,6 +19,9 @@ def default_credit_card_data(self): "amount": 75000, "card_cvn": "123", "x_idempotency_key": "test-idemp_123", + "metadata": { + "meta": "data", + }, } params = (args, kwargs) url = "/credit_card_charges" @@ -35,6 +38,9 @@ def api_requestor_request_data(self, default_credit_card_data): "external_id": "mock_card_preAuth-123", "amount": 75000, "card_cvn": "123", + "metadata": { + "meta": "data", + }, } return (tested_class, class_name, method_name, http_method_name, url, params, headers, body) diff --git a/tests/unit/models/creditcard/test_create_charge.py b/tests/unit/models/creditcard/test_create_charge.py index fd127690..a6cce1bc 100644 --- a/tests/unit/models/creditcard/test_create_charge.py +++ b/tests/unit/models/creditcard/test_create_charge.py @@ -34,6 +34,9 @@ def default_credit_card_data(self): "billing_details": billing_details, "installment": installment, "promotion": promotion, + "metadata": { + "meta": "data", + }, } params = (args, kwargs) url = "/credit_card_charges" @@ -64,6 +67,9 @@ def api_requestor_request_data(self, default_credit_card_data): "reference_id": "Xendit-123", "original_amount": 75000 }, + "metadata": { + "meta": "data", + }, } return (tested_class, class_name, method_name, http_method_name, url, params, headers, body) diff --git a/xendit/models/creditcard/credit_card.py b/xendit/models/creditcard/credit_card.py index e563503f..f013789e 100644 --- a/xendit/models/creditcard/credit_card.py +++ b/xendit/models/creditcard/credit_card.py @@ -160,6 +160,7 @@ def create_authorization( x_idempotency_key=None, for_user_id=None, x_api_version=None, + metadata=None, **kwargs, ): """Send POST Request to create Credit Card Authorization (API Reference: Credit Card/Create Authorization) @@ -180,6 +181,7 @@ def create_authorization( - **x_idempotency_key (str) - **for_user_id (str) - **x_api_version (str) + - **metadata (dict) Returns: @@ -255,6 +257,7 @@ def create_charge( x_idempotency_key=None, for_user_id=None, x_api_version=None, + metadata=None, **kwargs, ): """Send POST Request to create Credit Card Charge (API Reference: Credit Card/Create Charge) @@ -275,6 +278,7 @@ def create_charge( - **x_idempotency_key (str) - **for_user_id (str) - **x_api_version (str) + - **metadata (dict) Returns: CreditCardCharge From 99a6b19b7a0f7d6126ea5ee4951433afd9767af4 Mon Sep 17 00:00:00 2001 From: zakiarsyad Date: Thu, 19 May 2022 08:22:28 +0700 Subject: [PATCH 2/2] fix test sample response --- tests/integration/test_credit_card.py | 3 +++ tests/sampleresponse/credit_card.py | 3 +-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/tests/integration/test_credit_card.py b/tests/integration/test_credit_card.py index 4c46aa93..3225ec05 100644 --- a/tests/integration/test_credit_card.py +++ b/tests/integration/test_credit_card.py @@ -36,6 +36,9 @@ def test_reverse_authorization_return_correct_keys(self, CreditCard): external_id=f"card_preAuth-{int(time.time())}", amount=75000, card_cvn="123", + metadata={ + "meta": "data", + }, ) reverse_auth = CreditCard.reverse_authorization( credit_card_charge_id=charge.id, diff --git a/tests/sampleresponse/credit_card.py b/tests/sampleresponse/credit_card.py index 53f53d3f..08096e4b 100644 --- a/tests/sampleresponse/credit_card.py +++ b/tests/sampleresponse/credit_card.py @@ -1,7 +1,6 @@ def reverse_auth_response(): return { "status": "SUCCEEDED", - "currency": "IDR", "credit_card_charge_id": "5f0421fa8cc1e8001973a1d6", "business_id": "5ed75086a883856178afc12e", "external_id": "card_preAuth-1594106356", @@ -32,7 +31,7 @@ def charge_response(): "created": "2020-07-07T07:19:22.921Z", "id": "5f0421fa8cc1e8001973a1d6", "metadata": { - "meta": "data" + "meta": "data", }, }