diff --git a/checkout_sdk/payments/setups/setups_client.py b/checkout_sdk/payments/setups/setups_client.py index d4591a0..c964060 100644 --- a/checkout_sdk/payments/setups/setups_client.py +++ b/checkout_sdk/payments/setups/setups_client.py @@ -46,12 +46,12 @@ def get_payment_setup(self, setup_id: str): self._sdk_authorization() ) - def confirm_payment_setup(self, setup_id: str, payment_method_option_id: str): + def confirm_payment_setup(self, setup_id: str, payment_method_name: str): """ Confirms a Payment Setup """ return self._api_client.post( self.build_path(self.__PAYMENTS_PATH, self.__SETUPS_PATH, setup_id, - self.__CONFIRM_PATH, payment_method_option_id), + self.__CONFIRM_PATH, payment_method_name), self._sdk_authorization() ) diff --git a/tests/payments/setups/payment_setups_client_test.py b/tests/payments/setups/payment_setups_client_test.py index 17fd4e7..909fd60 100644 --- a/tests/payments/setups/payment_setups_client_test.py +++ b/tests/payments/setups/payment_setups_client_test.py @@ -35,5 +35,5 @@ def test_should_get_payment_setup(self, mocker, client: PaymentSetupsClient): def test_should_confirm_payment_setup(self, mocker, client: PaymentSetupsClient): mock = mocker.patch('checkout_sdk.api_client.ApiClient.post', return_value='response') - assert client.confirm_payment_setup('setup_id', 'payment_method_option_id') == 'response' - assert_api_call(mock, 'payments/setups/setup_id/confirm/payment_method_option_id') + assert client.confirm_payment_setup('setup_id', 'card') == 'response' + assert_api_call(mock, 'payments/setups/setup_id/confirm/card') diff --git a/tests/payments/setups/payment_setups_integration_test.py b/tests/payments/setups/payment_setups_integration_test.py index 3bd26b3..1dd272d 100644 --- a/tests/payments/setups/payment_setups_integration_test.py +++ b/tests/payments/setups/payment_setups_integration_test.py @@ -137,28 +137,33 @@ def test_should_create_payment_setup_with_additional_payment_methods(default_api assert response.currency == request.currency -@pytest.mark.skip(reason="Integration test - requires valid payment method option") +@pytest.mark.skip(reason="Integration test - requires a payment setup ready to be confirmed") def test_should_confirm_payment_setup(default_api): """Test confirming a payment setup""" # Arrange create_request = create_payment_setups_request() create_response = default_api.setups.create_payment_setup(create_request) - payment_method_option_id = "opt_test_12345" + payment_method_name = "klarna" # Act response = default_api.setups.confirm_payment_setup( create_response.id, - payment_method_option_id + payment_method_name ) # Assert + # The confirm endpoint's response is the full PaymentSetup schema + # (same shape as create/update/get), not a slimmer payments-style response. assert_response(response, + 'http_metadata', 'id', - 'action_id', + 'processing_channel_id', 'amount', 'currency', - 'processed_on') + 'payment_type', + 'reference', + 'description') assert response.amount == create_request.amount assert response.currency == create_request.currency