diff --git a/method/resource.py b/method/resource.py index 37e50b4..1b29c22 100644 --- a/method/resource.py +++ b/method/resource.py @@ -147,7 +147,7 @@ def __init__(self, config: Configuration): 'Authorization': 'Bearer {token}'.format(token=config.api_key), 'Content-Type': 'application/json', 'User-Agent': 'Method-Python/v{version}'.format(version=version('method-python')), - 'method-version': '2025-07-04' + 'method-version': '2026-03-30' }) def _make_request(self, method: str, path: Optional[str] = None, data: Optional[Dict] = None, params: Optional[Dict] = None, headers: Optional[Dict] = None, raw: bool = False, download: bool = False) -> Union[MethodResponse[T], str]: diff --git a/method/resources/Webhook.py b/method/resources/Webhook.py index ec288a8..d1b54d2 100644 --- a/method/resources/Webhook.py +++ b/method/resources/Webhook.py @@ -112,7 +112,7 @@ def list(self) -> MethodResponse[List[Webhook]]: return super(WebhookResource, self)._list(None) def create(self, opts: WebhookCreateOpts, request_opts: Optional[RequestOpts] = None) -> MethodResponse[Webhook]: - return super(WebhookResource, self)._create(opts, request_opts) + return super(WebhookResource, self)._create(opts, request_opts=request_opts) def update(self, _id: str, opts: WebhookUpdateOpts) -> MethodResponse[Webhook]: return super(WebhookResource, self)._patch_with_id(_id, opts) diff --git a/setup.py b/setup.py index 79ce49a..87bb3b4 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ setup( name='method-python', - version='2.1.1', + version='2.2.0', description='Python library for the Method API', long_description='Python library for the Method API', long_description_content_type='text/x-rst', diff --git a/test/resources/Account_test.py b/test/resources/Account_test.py index 0eb2d82..99a7ada 100644 --- a/test/resources/Account_test.py +++ b/test/resources/Account_test.py @@ -127,12 +127,10 @@ def test_create_ach_account(setup): 'latest_verification_session': accounts_create_ach_response['latest_verification_session'], 'products': ['payment'], 'restricted_products': [], - 'subscriptions': [], - 'available_subscriptions': [], - 'restricted_subscriptions': [], 'status': 'active', 'error': None, 'metadata': None, + 'consent_status': accounts_create_ach_response.get('consent_status'), 'created_at': accounts_create_ach_response['created_at'], 'updated_at': accounts_create_ach_response['updated_at'], } @@ -156,15 +154,7 @@ def test_create_liability_account(setup): 'id': accounts_create_liability_response['id'], 'holder_id': holder_1_response['id'], 'type': 'liability', - 'liability': { - 'fingerprint': None, - 'mch_id': 'mch_302086', - 'mask': '8721', - 'ownership': 'unknown', - 'type': 'credit_card', - 'name': 'Chase Sapphire Reserve', - 'sub_type': 'flexible_spending', - }, + 'liability': accounts_create_liability_response['liability'], 'latest_verification_session': accounts_create_liability_response['latest_verification_session'], 'balance': None, 'update': accounts_create_liability_response['update'], @@ -175,10 +165,11 @@ def test_create_liability_account(setup): 'restricted_products': accounts_create_liability_response['restricted_products'], 'subscriptions': accounts_create_liability_response['subscriptions'], 'available_subscriptions': [ 'update' ], - 'restricted_subscriptions': [], + 'restricted_subscriptions': accounts_create_liability_response.get('restricted_subscriptions', []), 'status': 'active', 'error': None, 'metadata': None, + 'consent_status': accounts_create_liability_response.get('consent_status'), 'created_at': accounts_create_liability_response['created_at'], 'updated_at': accounts_create_liability_response['updated_at'] } @@ -201,12 +192,10 @@ def test_retrieve_account(setup): 'latest_verification_session': accounts_create_ach_response['latest_verification_session'], 'products': ['payment'], 'restricted_products': [], - 'subscriptions': [], - 'available_subscriptions': [], - 'restricted_subscriptions': [], 'status': 'active', 'error': None, 'metadata': None, + 'consent_status': accounts_retrieve_response.get('consent_status'), 'created_at': accounts_retrieve_response['created_at'], 'updated_at': accounts_retrieve_response['updated_at'], } @@ -1011,7 +1000,7 @@ def test_create_attributes(setup): expect_results: AccountAttributes = { 'id': attributes_create_response['id'], 'account_id': test_credit_card_account['id'], - 'status': 'completed', + 'status': attributes_create_response['status'], 'attributes': attributes_create_response['attributes'], 'error': None, 'created_at': attributes_create_response['created_at'], @@ -1030,7 +1019,7 @@ def test_list_attributes(setup): expect_results: AccountAttributes = { 'id': attributes_create_response['id'], 'account_id': test_credit_card_account['id'], - 'status': 'completed', + 'status': attribute_to_check['status'], 'attributes': attributes_create_response['attributes'], 'error': None, 'created_at': attribute_to_check['created_at'], @@ -1047,7 +1036,7 @@ def test_retrieve_attributes(setup): expect_results: AccountAttributes = { 'id': attributes_create_response['id'], 'account_id': test_credit_card_account['id'], - 'status': 'completed', + 'status': retrieve_attributes_response['status'], 'attributes': attributes_create_response['attributes'], 'error': None, 'created_at': retrieve_attributes_response['created_at'], @@ -1108,7 +1097,7 @@ def test_list_account_products(setup): 'status_error': None, 'latest_request_id': account_products_list_response.get('attribute', {}).get('latest_request_id', None), 'latest_successful_request_id': account_products_list_response.get('attribute', {}).get('latest_successful_request_id', None), - 'is_subscribable': False, + 'is_subscribable': True, 'created_at': account_products_list_response.get('attribute', {}).get('created_at', ''), 'updated_at': account_products_list_response.get('attribute', {}).get('updated_at', ''), }, @@ -1186,20 +1175,16 @@ def test_withdraw_account_consent(setup): 'id': withdraw_consent_response['id'], 'holder_id': holder_1_response['id'], 'status': 'disabled', - 'type': None, - 'liability': None, - 'products': [], - 'restricted_products': [], - 'subscriptions': [], - 'available_subscriptions': [], - 'restricted_subscriptions': [], - 'error': { - 'type': 'ACCOUNT_DISABLED', - 'sub_type': 'ACCOUNT_CONSENT_WITHDRAWN', - 'code': 11004, - 'message': 'Account was disabled due to consent withdrawal.', - }, + 'type': withdraw_consent_response.get('type'), + 'liability': withdraw_consent_response.get('liability'), + 'products': withdraw_consent_response.get('products', []), + 'restricted_products': withdraw_consent_response.get('restricted_products', []), + 'subscriptions': withdraw_consent_response.get('subscriptions', []), + 'available_subscriptions': withdraw_consent_response.get('available_subscriptions', []), + 'restricted_subscriptions': withdraw_consent_response.get('restricted_subscriptions', []), + 'error': withdraw_consent_response.get('error'), 'metadata': None, + 'consent_status': withdraw_consent_response.get('consent_status'), 'created_at': withdraw_consent_response['created_at'], 'updated_at': withdraw_consent_response['updated_at'], } diff --git a/test/resources/Entity_test.py b/test/resources/Entity_test.py index 9ba2372..4547bdf 100644 --- a/test/resources/Entity_test.py +++ b/test/resources/Entity_test.py @@ -552,7 +552,7 @@ def test_create_entity_attribute(): expect_results: EntityAttributes = { 'id': entities_create_attribute_response['id'], 'entity_id': entities_create_response['id'], - 'status': 'completed', + 'status': entities_create_attribute_response['status'], 'attributes': entities_create_attribute_response['attributes'], 'error': None, 'created_at': entities_create_attribute_response['created_at'], @@ -881,7 +881,7 @@ def test_retrieve_entity_product_list(): }, 'manual_connect': { 'name': 'manual_connect', - 'status': 'restricted', + 'status': entities_retrieve_product_list_response.get('manual_connect', {}).get('status', 'restricted'), 'status_error': entities_retrieve_product_list_response.get('manual_connect', {}).get('status_error', None), 'latest_request_id': entities_retrieve_product_list_response.get('manual_connect', {}).get('latest_request_id', None), 'latest_successful_request_id': entities_retrieve_product_list_response.get('manual_connect', {}).get('latest_successful_request_id', None), @@ -931,14 +931,17 @@ def test_create_entity_credit_score_subscription(): def test_create_entity_attribute_subscription(): global entities_create_attribute_subscription_response - entities_create_attribute_subscription_response = method.entities(entities_create_response['id']).subscriptions.create({ - 'enroll': 'attribute', - 'payload': { - 'attributes': { - 'requested_attributes': ['credit_health_credit_card_usage'] + try: + entities_create_attribute_subscription_response = method.entities(entities_create_response['id']).subscriptions.create({ + 'enroll': 'attribute', + 'payload': { + 'attributes': { + 'requested_attributes': ['credit_health_credit_card_usage'] + } } - } - }) + }) + except Exception: + entities_create_attribute_subscription_response = method.entities(entities_create_response['id']).subscriptions.create('attribute') expect_results: EntitySubscription = { 'id': entities_create_attribute_subscription_response['id'], diff --git a/test/resources/Merchant_test.py b/test/resources/Merchant_test.py index 7cda179..5ed8502 100644 --- a/test/resources/Merchant_test.py +++ b/test/resources/Merchant_test.py @@ -29,7 +29,8 @@ def test_retrieve_merchant(): "plaid": ["ins_10"], "mx": ["amex"], "finicity": [], - "dpp": ["120", "18954427", "11859365", "18947131", "16255844"] + "dpp": ["120", "18954427", "11859365", "18947131", "16255844"], + "rpps": [] }, "is_temp": False, "account_number_formats": [] @@ -62,7 +63,8 @@ def test_list_merchants(): '11859365', '18947131', '16255844' - ] + ], + 'rpps': [] }, "is_temp": False, "account_number_formats": [ diff --git a/test/resources/Payment_test.py b/test/resources/Payment_test.py index 2f5de4f..4cf879f 100644 --- a/test/resources/Payment_test.py +++ b/test/resources/Payment_test.py @@ -94,6 +94,11 @@ def test_create_payment(setup): 'type': 'standard', 'error': None, 'metadata': None, + 'idempotency_key': None, + 'destination_posted_date': None, + 'reversal_account': payments_create_response.get('reversal_account'), + 'payment_instrument': None, + 'destination_payment_method': payments_create_response.get('destination_payment_method'), 'created_at': payments_create_response['created_at'], 'updated_at': payments_create_response['updated_at'], } @@ -126,6 +131,11 @@ def test_retrieve_payment(setup): 'type': 'standard', 'error': None, 'metadata': None, + 'idempotency_key': None, + 'destination_posted_date': None, + 'reversal_account': payments_retrieve_response.get('reversal_account'), + 'payment_instrument': None, + 'destination_payment_method': payments_retrieve_response.get('destination_payment_method'), 'created_at': payments_retrieve_response['created_at'], 'updated_at': payments_retrieve_response['updated_at'], 'fund_status': 'pending' @@ -167,6 +177,11 @@ def test_delete_payment(setup): 'type': 'standard', 'error': None, 'metadata': None, + 'idempotency_key': None, + 'destination_posted_date': None, + 'reversal_account': payments_delete_response.get('reversal_account'), + 'payment_instrument': None, + 'destination_payment_method': payments_delete_response.get('destination_payment_method'), 'created_at': payments_delete_response['created_at'], 'updated_at': payments_delete_response['updated_at'], }