Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions checkout_sdk/payments/setups/setups_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -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()
)
4 changes: 2 additions & 2 deletions tests/payments/setups/payment_setups_client_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -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')
15 changes: 10 additions & 5 deletions tests/payments/setups/payment_setups_integration_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Loading