From 2875b0d69a367da5c5837ff303fd56dac0d50470 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 11 Mar 2025 14:05:57 +0000 Subject: [PATCH 1/4] feat(api): api update (#1011) --- .stats.yml | 4 +- api.md | 14 - src/increase/_client.py | 31 -- src/increase/resources/__init__.py | 14 - ...real_time_payments_request_for_payments.py | 479 ------------------ src/increase/types/__init__.py | 9 - .../real_time_payments_request_for_payment.py | 245 --------- ...ments_request_for_payment_create_params.py | 62 --- ...ayments_request_for_payment_list_params.py | 64 --- ...real_time_payments_request_for_payments.py | 344 ------------- 10 files changed, 2 insertions(+), 1264 deletions(-) delete mode 100644 src/increase/resources/real_time_payments_request_for_payments.py delete mode 100644 src/increase/types/real_time_payments_request_for_payment.py delete mode 100644 src/increase/types/real_time_payments_request_for_payment_create_params.py delete mode 100644 src/increase/types/real_time_payments_request_for_payment_list_params.py delete mode 100644 tests/api_resources/test_real_time_payments_request_for_payments.py diff --git a/.stats.yml b/.stats.yml index 0d44f79e9..415878013 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,2 +1,2 @@ -configured_endpoints: 201 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-9321195a045645c8811a82a028c4dfa4d365efbe1dfe47107a4a5b23679609cd.yml +configured_endpoints: 198 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-6283b1811e024111b7521ae87507e4a47c25c01083f6171958712bd60df23af2.yml diff --git a/api.md b/api.md index 40206ddf6..de6730c73 100644 --- a/api.md +++ b/api.md @@ -734,20 +734,6 @@ Methods: - client.intrafi_exclusions.list(\*\*params) -> SyncPage[IntrafiExclusion] - client.intrafi_exclusions.archive(intrafi_exclusion_id) -> IntrafiExclusion -# RealTimePaymentsRequestForPayments - -Types: - -```python -from increase.types import RealTimePaymentsRequestForPayment -``` - -Methods: - -- client.real_time_payments_request_for_payments.create(\*\*params) -> RealTimePaymentsRequestForPayment -- client.real_time_payments_request_for_payments.retrieve(request_for_payment_id) -> RealTimePaymentsRequestForPayment -- client.real_time_payments_request_for_payments.list(\*\*params) -> SyncPage[RealTimePaymentsRequestForPayment] - # Webhooks Methods: diff --git a/src/increase/_client.py b/src/increase/_client.py index 492fe8abd..a04fa6531 100644 --- a/src/increase/_client.py +++ b/src/increase/_client.py @@ -78,7 +78,6 @@ inbound_wire_drawdown_requests, proof_of_authorization_requests, inbound_real_time_payments_transfers, - real_time_payments_request_for_payments, proof_of_authorization_request_submissions, ) from ._streaming import Stream as Stream, AsyncStream as AsyncStream @@ -163,9 +162,6 @@ class Increase(SyncAPIClient): intrafi_account_enrollments: intrafi_account_enrollments.IntrafiAccountEnrollmentsResource intrafi_balances: intrafi_balances.IntrafiBalancesResource intrafi_exclusions: intrafi_exclusions.IntrafiExclusionsResource - real_time_payments_request_for_payments: ( - real_time_payments_request_for_payments.RealTimePaymentsRequestForPaymentsResource - ) simulations: simulations.SimulationsResource webhooks: webhooks.Webhooks with_raw_response: IncreaseWithRawResponse @@ -317,9 +313,6 @@ def __init__( self.intrafi_account_enrollments = intrafi_account_enrollments.IntrafiAccountEnrollmentsResource(self) self.intrafi_balances = intrafi_balances.IntrafiBalancesResource(self) self.intrafi_exclusions = intrafi_exclusions.IntrafiExclusionsResource(self) - self.real_time_payments_request_for_payments = ( - real_time_payments_request_for_payments.RealTimePaymentsRequestForPaymentsResource(self) - ) self.simulations = simulations.SimulationsResource(self) self.webhooks = webhooks.Webhooks(self) self.with_raw_response = IncreaseWithRawResponse(self) @@ -536,9 +529,6 @@ class AsyncIncrease(AsyncAPIClient): intrafi_account_enrollments: intrafi_account_enrollments.AsyncIntrafiAccountEnrollmentsResource intrafi_balances: intrafi_balances.AsyncIntrafiBalancesResource intrafi_exclusions: intrafi_exclusions.AsyncIntrafiExclusionsResource - real_time_payments_request_for_payments: ( - real_time_payments_request_for_payments.AsyncRealTimePaymentsRequestForPaymentsResource - ) simulations: simulations.AsyncSimulationsResource webhooks: webhooks.AsyncWebhooks with_raw_response: AsyncIncreaseWithRawResponse @@ -692,9 +682,6 @@ def __init__( self.intrafi_account_enrollments = intrafi_account_enrollments.AsyncIntrafiAccountEnrollmentsResource(self) self.intrafi_balances = intrafi_balances.AsyncIntrafiBalancesResource(self) self.intrafi_exclusions = intrafi_exclusions.AsyncIntrafiExclusionsResource(self) - self.real_time_payments_request_for_payments = ( - real_time_payments_request_for_payments.AsyncRealTimePaymentsRequestForPaymentsResource(self) - ) self.simulations = simulations.AsyncSimulationsResource(self) self.webhooks = webhooks.AsyncWebhooks(self) self.with_raw_response = AsyncIncreaseWithRawResponse(self) @@ -964,11 +951,6 @@ def __init__(self, client: Increase) -> None: ) self.intrafi_balances = intrafi_balances.IntrafiBalancesResourceWithRawResponse(client.intrafi_balances) self.intrafi_exclusions = intrafi_exclusions.IntrafiExclusionsResourceWithRawResponse(client.intrafi_exclusions) - self.real_time_payments_request_for_payments = ( - real_time_payments_request_for_payments.RealTimePaymentsRequestForPaymentsResourceWithRawResponse( - client.real_time_payments_request_for_payments - ) - ) self.simulations = simulations.SimulationsResourceWithRawResponse(client.simulations) @@ -1096,11 +1078,6 @@ def __init__(self, client: AsyncIncrease) -> None: self.intrafi_exclusions = intrafi_exclusions.AsyncIntrafiExclusionsResourceWithRawResponse( client.intrafi_exclusions ) - self.real_time_payments_request_for_payments = ( - real_time_payments_request_for_payments.AsyncRealTimePaymentsRequestForPaymentsResourceWithRawResponse( - client.real_time_payments_request_for_payments - ) - ) self.simulations = simulations.AsyncSimulationsResourceWithRawResponse(client.simulations) @@ -1228,11 +1205,6 @@ def __init__(self, client: Increase) -> None: self.intrafi_exclusions = intrafi_exclusions.IntrafiExclusionsResourceWithStreamingResponse( client.intrafi_exclusions ) - self.real_time_payments_request_for_payments = ( - real_time_payments_request_for_payments.RealTimePaymentsRequestForPaymentsResourceWithStreamingResponse( - client.real_time_payments_request_for_payments - ) - ) self.simulations = simulations.SimulationsResourceWithStreamingResponse(client.simulations) @@ -1364,9 +1336,6 @@ def __init__(self, client: AsyncIncrease) -> None: self.intrafi_exclusions = intrafi_exclusions.AsyncIntrafiExclusionsResourceWithStreamingResponse( client.intrafi_exclusions ) - self.real_time_payments_request_for_payments = real_time_payments_request_for_payments.AsyncRealTimePaymentsRequestForPaymentsResourceWithStreamingResponse( - client.real_time_payments_request_for_payments - ) self.simulations = simulations.AsyncSimulationsResourceWithStreamingResponse(client.simulations) diff --git a/src/increase/resources/__init__.py b/src/increase/resources/__init__.py index 00101a697..f6da14554 100644 --- a/src/increase/resources/__init__.py +++ b/src/increase/resources/__init__.py @@ -417,14 +417,6 @@ InboundRealTimePaymentsTransfersResourceWithStreamingResponse, AsyncInboundRealTimePaymentsTransfersResourceWithStreamingResponse, ) -from .real_time_payments_request_for_payments import ( - RealTimePaymentsRequestForPaymentsResource, - AsyncRealTimePaymentsRequestForPaymentsResource, - RealTimePaymentsRequestForPaymentsResourceWithRawResponse, - AsyncRealTimePaymentsRequestForPaymentsResourceWithRawResponse, - RealTimePaymentsRequestForPaymentsResourceWithStreamingResponse, - AsyncRealTimePaymentsRequestForPaymentsResourceWithStreamingResponse, -) from .proof_of_authorization_request_submissions import ( ProofOfAuthorizationRequestSubmissionsResource, AsyncProofOfAuthorizationRequestSubmissionsResource, @@ -749,12 +741,6 @@ "AsyncIntrafiExclusionsResourceWithRawResponse", "IntrafiExclusionsResourceWithStreamingResponse", "AsyncIntrafiExclusionsResourceWithStreamingResponse", - "RealTimePaymentsRequestForPaymentsResource", - "AsyncRealTimePaymentsRequestForPaymentsResource", - "RealTimePaymentsRequestForPaymentsResourceWithRawResponse", - "AsyncRealTimePaymentsRequestForPaymentsResourceWithRawResponse", - "RealTimePaymentsRequestForPaymentsResourceWithStreamingResponse", - "AsyncRealTimePaymentsRequestForPaymentsResourceWithStreamingResponse", "SimulationsResource", "AsyncSimulationsResource", "SimulationsResourceWithRawResponse", diff --git a/src/increase/resources/real_time_payments_request_for_payments.py b/src/increase/resources/real_time_payments_request_for_payments.py deleted file mode 100644 index 15bcc1835..000000000 --- a/src/increase/resources/real_time_payments_request_for_payments.py +++ /dev/null @@ -1,479 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from typing import Union -from datetime import date - -import httpx - -from ..types import ( - real_time_payments_request_for_payment_list_params, - real_time_payments_request_for_payment_create_params, -) -from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven -from .._utils import ( - maybe_transform, - async_maybe_transform, -) -from .._compat import cached_property -from .._resource import SyncAPIResource, AsyncAPIResource -from .._response import ( - to_raw_response_wrapper, - to_streamed_response_wrapper, - async_to_raw_response_wrapper, - async_to_streamed_response_wrapper, -) -from ..pagination import SyncPage, AsyncPage -from .._base_client import AsyncPaginator, make_request_options -from ..types.real_time_payments_request_for_payment import RealTimePaymentsRequestForPayment - -__all__ = ["RealTimePaymentsRequestForPaymentsResource", "AsyncRealTimePaymentsRequestForPaymentsResource"] - - -class RealTimePaymentsRequestForPaymentsResource(SyncAPIResource): - @cached_property - def with_raw_response(self) -> RealTimePaymentsRequestForPaymentsResourceWithRawResponse: - """ - This property can be used as a prefix for any HTTP method call to return - the raw response object instead of the parsed content. - - For more information, see https://www.github.com/Increase/increase-python#accessing-raw-response-data-eg-headers - """ - return RealTimePaymentsRequestForPaymentsResourceWithRawResponse(self) - - @cached_property - def with_streaming_response(self) -> RealTimePaymentsRequestForPaymentsResourceWithStreamingResponse: - """ - An alternative to `.with_raw_response` that doesn't eagerly read the response body. - - For more information, see https://www.github.com/Increase/increase-python#with_streaming_response - """ - return RealTimePaymentsRequestForPaymentsResourceWithStreamingResponse(self) - - def create( - self, - *, - amount: int, - debtor: real_time_payments_request_for_payment_create_params.Debtor, - destination_account_number_id: str, - expires_at: Union[str, date], - remittance_information: str, - source_account_number: str, - source_routing_number: str, - # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. - # The extra values given here take precedence over values defined on the client or passed to this method. - extra_headers: Headers | None = None, - extra_query: Query | None = None, - extra_body: Body | None = None, - timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - idempotency_key: str | None = None, - ) -> RealTimePaymentsRequestForPayment: - """ - Create a Real-Time Payments Request for Payment - - Args: - amount: The requested amount in USD cents. Must be positive. - - debtor: Details of the person being requested to pay. - - destination_account_number_id: The identifier of the Account Number where the funds will land. - - expires_at: The expiration time for this request, in UTC. The requestee will not be able to - pay after this date. - - remittance_information: Unstructured information that will show on the requestee's bank statement. - - source_account_number: The account number the funds will be requested from. - - source_routing_number: The requestee's American Bankers' Association (ABA) Routing Transit Number - (RTN). - - extra_headers: Send extra headers - - extra_query: Add additional query parameters to the request - - extra_body: Add additional JSON properties to the request - - timeout: Override the client-level default timeout for this request, in seconds - - idempotency_key: Specify a custom idempotency key for this request - """ - return self._post( - "/real_time_payments_request_for_payments", - body=maybe_transform( - { - "amount": amount, - "debtor": debtor, - "destination_account_number_id": destination_account_number_id, - "expires_at": expires_at, - "remittance_information": remittance_information, - "source_account_number": source_account_number, - "source_routing_number": source_routing_number, - }, - real_time_payments_request_for_payment_create_params.RealTimePaymentsRequestForPaymentCreateParams, - ), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - idempotency_key=idempotency_key, - ), - cast_to=RealTimePaymentsRequestForPayment, - ) - - def retrieve( - self, - request_for_payment_id: str, - *, - # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. - # The extra values given here take precedence over values defined on the client or passed to this method. - extra_headers: Headers | None = None, - extra_query: Query | None = None, - extra_body: Body | None = None, - timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> RealTimePaymentsRequestForPayment: - """ - Retrieve a Real-Time Payments Request for Payment - - Args: - request_for_payment_id: The identifier of the Real-Time Payments Request for Payment. - - extra_headers: Send extra headers - - extra_query: Add additional query parameters to the request - - extra_body: Add additional JSON properties to the request - - timeout: Override the client-level default timeout for this request, in seconds - """ - if not request_for_payment_id: - raise ValueError( - f"Expected a non-empty value for `request_for_payment_id` but received {request_for_payment_id!r}" - ) - return self._get( - f"/real_time_payments_request_for_payments/{request_for_payment_id}", - options=make_request_options( - extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout - ), - cast_to=RealTimePaymentsRequestForPayment, - ) - - def list( - self, - *, - account_id: str | NotGiven = NOT_GIVEN, - created_at: real_time_payments_request_for_payment_list_params.CreatedAt | NotGiven = NOT_GIVEN, - cursor: str | NotGiven = NOT_GIVEN, - idempotency_key: str | NotGiven = NOT_GIVEN, - limit: int | NotGiven = NOT_GIVEN, - # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. - # The extra values given here take precedence over values defined on the client or passed to this method. - extra_headers: Headers | None = None, - extra_query: Query | None = None, - extra_body: Body | None = None, - timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> SyncPage[RealTimePaymentsRequestForPayment]: - """ - List Real-Time Payments Request for Payments - - Args: - account_id: Filter Real-Time Payments Request for Payments to those destined to the - specified Account. - - cursor: Return the page of entries after this one. - - idempotency_key: Filter records to the one with the specified `idempotency_key` you chose for - that object. This value is unique across Increase and is used to ensure that a - request is only processed once. Learn more about - [idempotency](https://increase.com/documentation/idempotency-keys). - - limit: Limit the size of the list that is returned. The default (and maximum) is 100 - objects. - - extra_headers: Send extra headers - - extra_query: Add additional query parameters to the request - - extra_body: Add additional JSON properties to the request - - timeout: Override the client-level default timeout for this request, in seconds - """ - return self._get_api_list( - "/real_time_payments_request_for_payments", - page=SyncPage[RealTimePaymentsRequestForPayment], - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - query=maybe_transform( - { - "account_id": account_id, - "created_at": created_at, - "cursor": cursor, - "idempotency_key": idempotency_key, - "limit": limit, - }, - real_time_payments_request_for_payment_list_params.RealTimePaymentsRequestForPaymentListParams, - ), - ), - model=RealTimePaymentsRequestForPayment, - ) - - -class AsyncRealTimePaymentsRequestForPaymentsResource(AsyncAPIResource): - @cached_property - def with_raw_response(self) -> AsyncRealTimePaymentsRequestForPaymentsResourceWithRawResponse: - """ - This property can be used as a prefix for any HTTP method call to return - the raw response object instead of the parsed content. - - For more information, see https://www.github.com/Increase/increase-python#accessing-raw-response-data-eg-headers - """ - return AsyncRealTimePaymentsRequestForPaymentsResourceWithRawResponse(self) - - @cached_property - def with_streaming_response(self) -> AsyncRealTimePaymentsRequestForPaymentsResourceWithStreamingResponse: - """ - An alternative to `.with_raw_response` that doesn't eagerly read the response body. - - For more information, see https://www.github.com/Increase/increase-python#with_streaming_response - """ - return AsyncRealTimePaymentsRequestForPaymentsResourceWithStreamingResponse(self) - - async def create( - self, - *, - amount: int, - debtor: real_time_payments_request_for_payment_create_params.Debtor, - destination_account_number_id: str, - expires_at: Union[str, date], - remittance_information: str, - source_account_number: str, - source_routing_number: str, - # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. - # The extra values given here take precedence over values defined on the client or passed to this method. - extra_headers: Headers | None = None, - extra_query: Query | None = None, - extra_body: Body | None = None, - timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - idempotency_key: str | None = None, - ) -> RealTimePaymentsRequestForPayment: - """ - Create a Real-Time Payments Request for Payment - - Args: - amount: The requested amount in USD cents. Must be positive. - - debtor: Details of the person being requested to pay. - - destination_account_number_id: The identifier of the Account Number where the funds will land. - - expires_at: The expiration time for this request, in UTC. The requestee will not be able to - pay after this date. - - remittance_information: Unstructured information that will show on the requestee's bank statement. - - source_account_number: The account number the funds will be requested from. - - source_routing_number: The requestee's American Bankers' Association (ABA) Routing Transit Number - (RTN). - - extra_headers: Send extra headers - - extra_query: Add additional query parameters to the request - - extra_body: Add additional JSON properties to the request - - timeout: Override the client-level default timeout for this request, in seconds - - idempotency_key: Specify a custom idempotency key for this request - """ - return await self._post( - "/real_time_payments_request_for_payments", - body=await async_maybe_transform( - { - "amount": amount, - "debtor": debtor, - "destination_account_number_id": destination_account_number_id, - "expires_at": expires_at, - "remittance_information": remittance_information, - "source_account_number": source_account_number, - "source_routing_number": source_routing_number, - }, - real_time_payments_request_for_payment_create_params.RealTimePaymentsRequestForPaymentCreateParams, - ), - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - idempotency_key=idempotency_key, - ), - cast_to=RealTimePaymentsRequestForPayment, - ) - - async def retrieve( - self, - request_for_payment_id: str, - *, - # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. - # The extra values given here take precedence over values defined on the client or passed to this method. - extra_headers: Headers | None = None, - extra_query: Query | None = None, - extra_body: Body | None = None, - timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> RealTimePaymentsRequestForPayment: - """ - Retrieve a Real-Time Payments Request for Payment - - Args: - request_for_payment_id: The identifier of the Real-Time Payments Request for Payment. - - extra_headers: Send extra headers - - extra_query: Add additional query parameters to the request - - extra_body: Add additional JSON properties to the request - - timeout: Override the client-level default timeout for this request, in seconds - """ - if not request_for_payment_id: - raise ValueError( - f"Expected a non-empty value for `request_for_payment_id` but received {request_for_payment_id!r}" - ) - return await self._get( - f"/real_time_payments_request_for_payments/{request_for_payment_id}", - options=make_request_options( - extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout - ), - cast_to=RealTimePaymentsRequestForPayment, - ) - - def list( - self, - *, - account_id: str | NotGiven = NOT_GIVEN, - created_at: real_time_payments_request_for_payment_list_params.CreatedAt | NotGiven = NOT_GIVEN, - cursor: str | NotGiven = NOT_GIVEN, - idempotency_key: str | NotGiven = NOT_GIVEN, - limit: int | NotGiven = NOT_GIVEN, - # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. - # The extra values given here take precedence over values defined on the client or passed to this method. - extra_headers: Headers | None = None, - extra_query: Query | None = None, - extra_body: Body | None = None, - timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN, - ) -> AsyncPaginator[RealTimePaymentsRequestForPayment, AsyncPage[RealTimePaymentsRequestForPayment]]: - """ - List Real-Time Payments Request for Payments - - Args: - account_id: Filter Real-Time Payments Request for Payments to those destined to the - specified Account. - - cursor: Return the page of entries after this one. - - idempotency_key: Filter records to the one with the specified `idempotency_key` you chose for - that object. This value is unique across Increase and is used to ensure that a - request is only processed once. Learn more about - [idempotency](https://increase.com/documentation/idempotency-keys). - - limit: Limit the size of the list that is returned. The default (and maximum) is 100 - objects. - - extra_headers: Send extra headers - - extra_query: Add additional query parameters to the request - - extra_body: Add additional JSON properties to the request - - timeout: Override the client-level default timeout for this request, in seconds - """ - return self._get_api_list( - "/real_time_payments_request_for_payments", - page=AsyncPage[RealTimePaymentsRequestForPayment], - options=make_request_options( - extra_headers=extra_headers, - extra_query=extra_query, - extra_body=extra_body, - timeout=timeout, - query=maybe_transform( - { - "account_id": account_id, - "created_at": created_at, - "cursor": cursor, - "idempotency_key": idempotency_key, - "limit": limit, - }, - real_time_payments_request_for_payment_list_params.RealTimePaymentsRequestForPaymentListParams, - ), - ), - model=RealTimePaymentsRequestForPayment, - ) - - -class RealTimePaymentsRequestForPaymentsResourceWithRawResponse: - def __init__(self, real_time_payments_request_for_payments: RealTimePaymentsRequestForPaymentsResource) -> None: - self._real_time_payments_request_for_payments = real_time_payments_request_for_payments - - self.create = to_raw_response_wrapper( - real_time_payments_request_for_payments.create, - ) - self.retrieve = to_raw_response_wrapper( - real_time_payments_request_for_payments.retrieve, - ) - self.list = to_raw_response_wrapper( - real_time_payments_request_for_payments.list, - ) - - -class AsyncRealTimePaymentsRequestForPaymentsResourceWithRawResponse: - def __init__( - self, real_time_payments_request_for_payments: AsyncRealTimePaymentsRequestForPaymentsResource - ) -> None: - self._real_time_payments_request_for_payments = real_time_payments_request_for_payments - - self.create = async_to_raw_response_wrapper( - real_time_payments_request_for_payments.create, - ) - self.retrieve = async_to_raw_response_wrapper( - real_time_payments_request_for_payments.retrieve, - ) - self.list = async_to_raw_response_wrapper( - real_time_payments_request_for_payments.list, - ) - - -class RealTimePaymentsRequestForPaymentsResourceWithStreamingResponse: - def __init__(self, real_time_payments_request_for_payments: RealTimePaymentsRequestForPaymentsResource) -> None: - self._real_time_payments_request_for_payments = real_time_payments_request_for_payments - - self.create = to_streamed_response_wrapper( - real_time_payments_request_for_payments.create, - ) - self.retrieve = to_streamed_response_wrapper( - real_time_payments_request_for_payments.retrieve, - ) - self.list = to_streamed_response_wrapper( - real_time_payments_request_for_payments.list, - ) - - -class AsyncRealTimePaymentsRequestForPaymentsResourceWithStreamingResponse: - def __init__( - self, real_time_payments_request_for_payments: AsyncRealTimePaymentsRequestForPaymentsResource - ) -> None: - self._real_time_payments_request_for_payments = real_time_payments_request_for_payments - - self.create = async_to_streamed_response_wrapper( - real_time_payments_request_for_payments.create, - ) - self.retrieve = async_to_streamed_response_wrapper( - real_time_payments_request_for_payments.retrieve, - ) - self.list = async_to_streamed_response_wrapper( - real_time_payments_request_for_payments.list, - ) diff --git a/src/increase/types/__init__.py b/src/increase/types/__init__.py index da9db5702..71a969901 100644 --- a/src/increase/types/__init__.py +++ b/src/increase/types/__init__.py @@ -151,9 +151,6 @@ from .intrafi_account_enrollment_list_params import ( IntrafiAccountEnrollmentListParams as IntrafiAccountEnrollmentListParams, ) -from .real_time_payments_request_for_payment import ( - RealTimePaymentsRequestForPayment as RealTimePaymentsRequestForPayment, -) from .real_time_payments_transfer_list_params import ( RealTimePaymentsTransferListParams as RealTimePaymentsTransferListParams, ) @@ -181,12 +178,6 @@ from .inbound_real_time_payments_transfer_list_params import ( InboundRealTimePaymentsTransferListParams as InboundRealTimePaymentsTransferListParams, ) -from .real_time_payments_request_for_payment_list_params import ( - RealTimePaymentsRequestForPaymentListParams as RealTimePaymentsRequestForPaymentListParams, -) -from .real_time_payments_request_for_payment_create_params import ( - RealTimePaymentsRequestForPaymentCreateParams as RealTimePaymentsRequestForPaymentCreateParams, -) from .proof_of_authorization_request_submission_list_params import ( ProofOfAuthorizationRequestSubmissionListParams as ProofOfAuthorizationRequestSubmissionListParams, ) diff --git a/src/increase/types/real_time_payments_request_for_payment.py b/src/increase/types/real_time_payments_request_for_payment.py deleted file mode 100644 index a9dff0165..000000000 --- a/src/increase/types/real_time_payments_request_for_payment.py +++ /dev/null @@ -1,245 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from typing import Optional -from datetime import date, datetime -from typing_extensions import Literal - -from .._models import BaseModel - -__all__ = ["RealTimePaymentsRequestForPayment", "Refusal", "Rejection", "Submission"] - - -class Refusal(BaseModel): - refusal_reason_code: Literal[ - "account_blocked", - "transaction_forbidden", - "transaction_type_not_supported", - "unexpected_amount", - "amount_exceeds_bank_limits", - "invalid_debtor_address", - "invalid_creditor_address", - "creditor_identifier_incorrect", - "requested_by_customer", - "order_rejected", - "end_customer_deceased", - "customer_has_opted_out", - "other", - ] - """ - The reason the request for payment was refused as provided by the recipient bank - or the customer. - - - `account_blocked` - The destination account is currently blocked from - receiving transactions. Corresponds to the Real-Time Payments reason code - `AC06`. - - `transaction_forbidden` - Real-Time Payments transfers are not allowed to the - destination account. Corresponds to the Real-Time Payments reason code `AG01`. - - `transaction_type_not_supported` - Real-Time Payments transfers are not - enabled for the destination account. Corresponds to the Real-Time Payments - reason code `AG03`. - - `unexpected_amount` - The amount of the transfer is different than expected by - the recipient. Corresponds to the Real-Time Payments reason code `AM09`. - - `amount_exceeds_bank_limits` - The amount is higher than the recipient is - authorized to send or receive. Corresponds to the Real-Time Payments reason - code `AM14`. - - `invalid_debtor_address` - The debtor's address is required, but missing or - invalid. Corresponds to the Real-Time Payments reason code `BE07`. - - `invalid_creditor_address` - The creditor's address is required, but missing - or invalid. Corresponds to the Real-Time Payments reason code `BE04`. - - `creditor_identifier_incorrect` - Creditor identifier incorrect. Corresponds - to the Real-Time Payments reason code `CH11`. - - `requested_by_customer` - The customer refused the request. Corresponds to the - Real-Time Payments reason code `CUST`. - - `order_rejected` - The order was rejected. Corresponds to the Real-Time - Payments reason code `DS04`. - - `end_customer_deceased` - The destination account holder is deceased. - Corresponds to the Real-Time Payments reason code `MD07`. - - `customer_has_opted_out` - The customer has opted out of receiving requests - for payments from this creditor. Corresponds to the Real-Time Payments reason - code `SL12`. - - `other` - Some other error or issue has occurred. - """ - - -class Rejection(BaseModel): - reject_reason_code: Literal[ - "account_closed", - "account_blocked", - "invalid_creditor_account_type", - "invalid_creditor_account_number", - "invalid_creditor_financial_institution_identifier", - "end_customer_deceased", - "narrative", - "transaction_forbidden", - "transaction_type_not_supported", - "unexpected_amount", - "amount_exceeds_bank_limits", - "invalid_creditor_address", - "unknown_end_customer", - "invalid_debtor_address", - "timeout", - "unsupported_message_for_recipient", - "recipient_connection_not_available", - "real_time_payments_suspended", - "instructed_agent_signed_off", - "processing_error", - "other", - ] - """ - The reason the request for payment was rejected as provided by the recipient - bank or the Real-Time Payments network. - - - `account_closed` - The destination account is closed. Corresponds to the - Real-Time Payments reason code `AC04`. - - `account_blocked` - The destination account is currently blocked from - receiving transactions. Corresponds to the Real-Time Payments reason code - `AC06`. - - `invalid_creditor_account_type` - The destination account is ineligible to - receive Real-Time Payments transfers. Corresponds to the Real-Time Payments - reason code `AC14`. - - `invalid_creditor_account_number` - The destination account does not exist. - Corresponds to the Real-Time Payments reason code `AC03`. - - `invalid_creditor_financial_institution_identifier` - The destination routing - number is invalid. Corresponds to the Real-Time Payments reason code `RC04`. - - `end_customer_deceased` - The destination account holder is deceased. - Corresponds to the Real-Time Payments reason code `MD07`. - - `narrative` - The reason is provided as narrative information in the - additional information field. - - `transaction_forbidden` - Real-Time Payments transfers are not allowed to the - destination account. Corresponds to the Real-Time Payments reason code `AG01`. - - `transaction_type_not_supported` - Real-Time Payments transfers are not - enabled for the destination account. Corresponds to the Real-Time Payments - reason code `AG03`. - - `unexpected_amount` - The amount of the transfer is different than expected by - the recipient. Corresponds to the Real-Time Payments reason code `AM09`. - - `amount_exceeds_bank_limits` - The amount is higher than the recipient is - authorized to send or receive. Corresponds to the Real-Time Payments reason - code `AM14`. - - `invalid_creditor_address` - The creditor's address is required, but missing - or invalid. Corresponds to the Real-Time Payments reason code `BE04`. - - `unknown_end_customer` - The specified creditor is unknown. Corresponds to the - Real-Time Payments reason code `BE06`. - - `invalid_debtor_address` - The debtor's address is required, but missing or - invalid. Corresponds to the Real-Time Payments reason code `BE07`. - - `timeout` - There was a timeout processing the transfer. Corresponds to the - Real-Time Payments reason code `DS24`. - - `unsupported_message_for_recipient` - Real-Time Payments transfers are not - enabled for the destination account. Corresponds to the Real-Time Payments - reason code `NOAT`. - - `recipient_connection_not_available` - The destination financial institution - is currently not connected to Real-Time Payments. Corresponds to the Real-Time - Payments reason code `9912`. - - `real_time_payments_suspended` - Real-Time Payments is currently unavailable. - Corresponds to the Real-Time Payments reason code `9948`. - - `instructed_agent_signed_off` - The destination financial institution is - currently signed off of Real-Time Payments. Corresponds to the Real-Time - Payments reason code `9910`. - - `processing_error` - The transfer was rejected due to an internal Increase - issue. We have been notified. - - `other` - Some other error or issue has occurred. - """ - - -class Submission(BaseModel): - payment_information_identification: str - """The Real-Time Payments payment information identification of the request.""" - - -class RealTimePaymentsRequestForPayment(BaseModel): - id: str - """The Real-Time Payments Request for Payment's identifier.""" - - amount: int - """The transfer amount in USD cents.""" - - created_at: datetime - """ - The [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) date and time at which - the request for payment was created. - """ - - currency: Literal["CAD", "CHF", "EUR", "GBP", "JPY", "USD"] - """ - The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code for the transfer's - currency. For real-time payments transfers this is always equal to `USD`. - - - `CAD` - Canadian Dollar (CAD) - - `CHF` - Swiss Franc (CHF) - - `EUR` - Euro (EUR) - - `GBP` - British Pound (GBP) - - `JPY` - Japanese Yen (JPY) - - `USD` - US Dollar (USD) - """ - - debtor_name: str - """The name of the recipient the sender is requesting a transfer from.""" - - destination_account_number_id: str - """The Account Number in which a successful transfer will arrive.""" - - expires_at: date - """The expiration time for this request, in UTC. - - The requestee will not be able to pay after this date. - """ - - fulfillment_transaction_id: Optional[str] = None - """The transaction that fulfilled this request.""" - - idempotency_key: Optional[str] = None - """The idempotency key you chose for this object. - - This value is unique across Increase and is used to ensure that a request is - only processed once. Learn more about - [idempotency](https://increase.com/documentation/idempotency-keys). - """ - - refusal: Optional[Refusal] = None - """ - If the request for payment is refused by the destination financial institution - or the receiving customer, this will contain supplemental details. - """ - - rejection: Optional[Rejection] = None - """ - If the request for payment is rejected by Real-Time Payments or the destination - financial institution, this will contain supplemental details. - """ - - remittance_information: str - """Unstructured information that will show on the recipient's bank statement.""" - - source_account_number: str - """The account number the request is sent to.""" - - source_routing_number: str - """ - The receiver's American Bankers' Association (ABA) Routing Transit Number (RTN). - """ - - status: Literal["pending_submission", "pending_response", "rejected", "accepted", "refused", "fulfilled"] - """The lifecycle status of the request for payment. - - - `pending_submission` - The request for payment is queued to be submitted to - Real-Time Payments. - - `pending_response` - The request for payment has been submitted and is pending - a response from Real-Time Payments. - - `rejected` - The request for payment was rejected by the network or the - recipient. - - `accepted` - The request for payment was accepted by the recipient but has not - yet been paid. - - `refused` - The request for payment was refused by the recipient. - - `fulfilled` - The request for payment was fulfilled by the receiver. - """ - - submission: Optional[Submission] = None - """ - After the request for payment is submitted to Real-Time Payments, this will - contain supplemental details. - """ - - type: Literal["real_time_payments_request_for_payment"] - """A constant representing the object's type. - - For this resource it will always be `real_time_payments_request_for_payment`. - """ diff --git a/src/increase/types/real_time_payments_request_for_payment_create_params.py b/src/increase/types/real_time_payments_request_for_payment_create_params.py deleted file mode 100644 index f179faa09..000000000 --- a/src/increase/types/real_time_payments_request_for_payment_create_params.py +++ /dev/null @@ -1,62 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from typing import Union -from datetime import date -from typing_extensions import Required, Annotated, TypedDict - -from .._utils import PropertyInfo - -__all__ = ["RealTimePaymentsRequestForPaymentCreateParams", "Debtor", "DebtorAddress"] - - -class RealTimePaymentsRequestForPaymentCreateParams(TypedDict, total=False): - amount: Required[int] - """The requested amount in USD cents. Must be positive.""" - - debtor: Required[Debtor] - """Details of the person being requested to pay.""" - - destination_account_number_id: Required[str] - """The identifier of the Account Number where the funds will land.""" - - expires_at: Required[Annotated[Union[str, date], PropertyInfo(format="iso8601")]] - """The expiration time for this request, in UTC. - - The requestee will not be able to pay after this date. - """ - - remittance_information: Required[str] - """Unstructured information that will show on the requestee's bank statement.""" - - source_account_number: Required[str] - """The account number the funds will be requested from.""" - - source_routing_number: Required[str] - """ - The requestee's American Bankers' Association (ABA) Routing Transit Number - (RTN). - """ - - -class DebtorAddress(TypedDict, total=False): - country: Required[str] - """The ISO 3166, Alpha-2 country code.""" - - city: str - """The town or city.""" - - post_code: str - """The postal code or zip.""" - - street_name: str - """The street name without the street number.""" - - -class Debtor(TypedDict, total=False): - address: Required[DebtorAddress] - """Address of the debtor.""" - - name: Required[str] - """The name of the debtor.""" diff --git a/src/increase/types/real_time_payments_request_for_payment_list_params.py b/src/increase/types/real_time_payments_request_for_payment_list_params.py deleted file mode 100644 index 51749cf2a..000000000 --- a/src/increase/types/real_time_payments_request_for_payment_list_params.py +++ /dev/null @@ -1,64 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -from typing import Union -from datetime import datetime -from typing_extensions import Annotated, TypedDict - -from .._utils import PropertyInfo - -__all__ = ["RealTimePaymentsRequestForPaymentListParams", "CreatedAt"] - - -class RealTimePaymentsRequestForPaymentListParams(TypedDict, total=False): - account_id: str - """ - Filter Real-Time Payments Request for Payments to those destined to the - specified Account. - """ - - created_at: CreatedAt - - cursor: str - """Return the page of entries after this one.""" - - idempotency_key: str - """ - Filter records to the one with the specified `idempotency_key` you chose for - that object. This value is unique across Increase and is used to ensure that a - request is only processed once. Learn more about - [idempotency](https://increase.com/documentation/idempotency-keys). - """ - - limit: int - """Limit the size of the list that is returned. - - The default (and maximum) is 100 objects. - """ - - -class CreatedAt(TypedDict, total=False): - after: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")] - """ - Return results after this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) - timestamp. - """ - - before: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")] - """ - Return results before this [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) - timestamp. - """ - - on_or_after: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")] - """ - Return results on or after this - [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp. - """ - - on_or_before: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")] - """ - Return results on or before this - [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) timestamp. - """ diff --git a/tests/api_resources/test_real_time_payments_request_for_payments.py b/tests/api_resources/test_real_time_payments_request_for_payments.py deleted file mode 100644 index b429eecf6..000000000 --- a/tests/api_resources/test_real_time_payments_request_for_payments.py +++ /dev/null @@ -1,344 +0,0 @@ -# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. - -from __future__ import annotations - -import os -from typing import Any, cast - -import pytest - -from increase import Increase, AsyncIncrease -from tests.utils import assert_matches_type -from increase.types import ( - RealTimePaymentsRequestForPayment, -) -from increase._utils import parse_date, parse_datetime -from increase.pagination import SyncPage, AsyncPage - -base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010") - - -class TestRealTimePaymentsRequestForPayments: - parametrize = pytest.mark.parametrize("client", [False, True], indirect=True, ids=["loose", "strict"]) - - @parametrize - def test_method_create(self, client: Increase) -> None: - real_time_payments_request_for_payment = client.real_time_payments_request_for_payments.create( - amount=100, - debtor={ - "address": {"country": "US"}, - "name": "Ian Crease", - }, - destination_account_number_id="account_number_v18nkfqm6afpsrvy82b2", - expires_at=parse_date("2026-12-31"), - remittance_information="Invoice 29582", - source_account_number="987654321", - source_routing_number="101050001", - ) - assert_matches_type( - RealTimePaymentsRequestForPayment, real_time_payments_request_for_payment, path=["response"] - ) - - @parametrize - def test_raw_response_create(self, client: Increase) -> None: - response = client.real_time_payments_request_for_payments.with_raw_response.create( - amount=100, - debtor={ - "address": {"country": "US"}, - "name": "Ian Crease", - }, - destination_account_number_id="account_number_v18nkfqm6afpsrvy82b2", - expires_at=parse_date("2026-12-31"), - remittance_information="Invoice 29582", - source_account_number="987654321", - source_routing_number="101050001", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - real_time_payments_request_for_payment = response.parse() - assert_matches_type( - RealTimePaymentsRequestForPayment, real_time_payments_request_for_payment, path=["response"] - ) - - @parametrize - def test_streaming_response_create(self, client: Increase) -> None: - with client.real_time_payments_request_for_payments.with_streaming_response.create( - amount=100, - debtor={ - "address": {"country": "US"}, - "name": "Ian Crease", - }, - destination_account_number_id="account_number_v18nkfqm6afpsrvy82b2", - expires_at=parse_date("2026-12-31"), - remittance_information="Invoice 29582", - source_account_number="987654321", - source_routing_number="101050001", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - real_time_payments_request_for_payment = response.parse() - assert_matches_type( - RealTimePaymentsRequestForPayment, real_time_payments_request_for_payment, path=["response"] - ) - - assert cast(Any, response.is_closed) is True - - @parametrize - def test_method_retrieve(self, client: Increase) -> None: - real_time_payments_request_for_payment = client.real_time_payments_request_for_payments.retrieve( - "request_for_payment_id", - ) - assert_matches_type( - RealTimePaymentsRequestForPayment, real_time_payments_request_for_payment, path=["response"] - ) - - @parametrize - def test_raw_response_retrieve(self, client: Increase) -> None: - response = client.real_time_payments_request_for_payments.with_raw_response.retrieve( - "request_for_payment_id", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - real_time_payments_request_for_payment = response.parse() - assert_matches_type( - RealTimePaymentsRequestForPayment, real_time_payments_request_for_payment, path=["response"] - ) - - @parametrize - def test_streaming_response_retrieve(self, client: Increase) -> None: - with client.real_time_payments_request_for_payments.with_streaming_response.retrieve( - "request_for_payment_id", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - real_time_payments_request_for_payment = response.parse() - assert_matches_type( - RealTimePaymentsRequestForPayment, real_time_payments_request_for_payment, path=["response"] - ) - - assert cast(Any, response.is_closed) is True - - @parametrize - def test_path_params_retrieve(self, client: Increase) -> None: - with pytest.raises( - ValueError, match=r"Expected a non-empty value for `request_for_payment_id` but received ''" - ): - client.real_time_payments_request_for_payments.with_raw_response.retrieve( - "", - ) - - @parametrize - def test_method_list(self, client: Increase) -> None: - real_time_payments_request_for_payment = client.real_time_payments_request_for_payments.list() - assert_matches_type( - SyncPage[RealTimePaymentsRequestForPayment], real_time_payments_request_for_payment, path=["response"] - ) - - @parametrize - def test_method_list_with_all_params(self, client: Increase) -> None: - real_time_payments_request_for_payment = client.real_time_payments_request_for_payments.list( - account_id="account_id", - created_at={ - "after": parse_datetime("2019-12-27T18:11:19.117Z"), - "before": parse_datetime("2019-12-27T18:11:19.117Z"), - "on_or_after": parse_datetime("2019-12-27T18:11:19.117Z"), - "on_or_before": parse_datetime("2019-12-27T18:11:19.117Z"), - }, - cursor="cursor", - idempotency_key="x", - limit=1, - ) - assert_matches_type( - SyncPage[RealTimePaymentsRequestForPayment], real_time_payments_request_for_payment, path=["response"] - ) - - @parametrize - def test_raw_response_list(self, client: Increase) -> None: - response = client.real_time_payments_request_for_payments.with_raw_response.list() - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - real_time_payments_request_for_payment = response.parse() - assert_matches_type( - SyncPage[RealTimePaymentsRequestForPayment], real_time_payments_request_for_payment, path=["response"] - ) - - @parametrize - def test_streaming_response_list(self, client: Increase) -> None: - with client.real_time_payments_request_for_payments.with_streaming_response.list() as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - real_time_payments_request_for_payment = response.parse() - assert_matches_type( - SyncPage[RealTimePaymentsRequestForPayment], real_time_payments_request_for_payment, path=["response"] - ) - - assert cast(Any, response.is_closed) is True - - -class TestAsyncRealTimePaymentsRequestForPayments: - parametrize = pytest.mark.parametrize("async_client", [False, True], indirect=True, ids=["loose", "strict"]) - - @parametrize - async def test_method_create(self, async_client: AsyncIncrease) -> None: - real_time_payments_request_for_payment = await async_client.real_time_payments_request_for_payments.create( - amount=100, - debtor={ - "address": {"country": "US"}, - "name": "Ian Crease", - }, - destination_account_number_id="account_number_v18nkfqm6afpsrvy82b2", - expires_at=parse_date("2026-12-31"), - remittance_information="Invoice 29582", - source_account_number="987654321", - source_routing_number="101050001", - ) - assert_matches_type( - RealTimePaymentsRequestForPayment, real_time_payments_request_for_payment, path=["response"] - ) - - @parametrize - async def test_raw_response_create(self, async_client: AsyncIncrease) -> None: - response = await async_client.real_time_payments_request_for_payments.with_raw_response.create( - amount=100, - debtor={ - "address": {"country": "US"}, - "name": "Ian Crease", - }, - destination_account_number_id="account_number_v18nkfqm6afpsrvy82b2", - expires_at=parse_date("2026-12-31"), - remittance_information="Invoice 29582", - source_account_number="987654321", - source_routing_number="101050001", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - real_time_payments_request_for_payment = await response.parse() - assert_matches_type( - RealTimePaymentsRequestForPayment, real_time_payments_request_for_payment, path=["response"] - ) - - @parametrize - async def test_streaming_response_create(self, async_client: AsyncIncrease) -> None: - async with async_client.real_time_payments_request_for_payments.with_streaming_response.create( - amount=100, - debtor={ - "address": {"country": "US"}, - "name": "Ian Crease", - }, - destination_account_number_id="account_number_v18nkfqm6afpsrvy82b2", - expires_at=parse_date("2026-12-31"), - remittance_information="Invoice 29582", - source_account_number="987654321", - source_routing_number="101050001", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - real_time_payments_request_for_payment = await response.parse() - assert_matches_type( - RealTimePaymentsRequestForPayment, real_time_payments_request_for_payment, path=["response"] - ) - - assert cast(Any, response.is_closed) is True - - @parametrize - async def test_method_retrieve(self, async_client: AsyncIncrease) -> None: - real_time_payments_request_for_payment = await async_client.real_time_payments_request_for_payments.retrieve( - "request_for_payment_id", - ) - assert_matches_type( - RealTimePaymentsRequestForPayment, real_time_payments_request_for_payment, path=["response"] - ) - - @parametrize - async def test_raw_response_retrieve(self, async_client: AsyncIncrease) -> None: - response = await async_client.real_time_payments_request_for_payments.with_raw_response.retrieve( - "request_for_payment_id", - ) - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - real_time_payments_request_for_payment = await response.parse() - assert_matches_type( - RealTimePaymentsRequestForPayment, real_time_payments_request_for_payment, path=["response"] - ) - - @parametrize - async def test_streaming_response_retrieve(self, async_client: AsyncIncrease) -> None: - async with async_client.real_time_payments_request_for_payments.with_streaming_response.retrieve( - "request_for_payment_id", - ) as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - real_time_payments_request_for_payment = await response.parse() - assert_matches_type( - RealTimePaymentsRequestForPayment, real_time_payments_request_for_payment, path=["response"] - ) - - assert cast(Any, response.is_closed) is True - - @parametrize - async def test_path_params_retrieve(self, async_client: AsyncIncrease) -> None: - with pytest.raises( - ValueError, match=r"Expected a non-empty value for `request_for_payment_id` but received ''" - ): - await async_client.real_time_payments_request_for_payments.with_raw_response.retrieve( - "", - ) - - @parametrize - async def test_method_list(self, async_client: AsyncIncrease) -> None: - real_time_payments_request_for_payment = await async_client.real_time_payments_request_for_payments.list() - assert_matches_type( - AsyncPage[RealTimePaymentsRequestForPayment], real_time_payments_request_for_payment, path=["response"] - ) - - @parametrize - async def test_method_list_with_all_params(self, async_client: AsyncIncrease) -> None: - real_time_payments_request_for_payment = await async_client.real_time_payments_request_for_payments.list( - account_id="account_id", - created_at={ - "after": parse_datetime("2019-12-27T18:11:19.117Z"), - "before": parse_datetime("2019-12-27T18:11:19.117Z"), - "on_or_after": parse_datetime("2019-12-27T18:11:19.117Z"), - "on_or_before": parse_datetime("2019-12-27T18:11:19.117Z"), - }, - cursor="cursor", - idempotency_key="x", - limit=1, - ) - assert_matches_type( - AsyncPage[RealTimePaymentsRequestForPayment], real_time_payments_request_for_payment, path=["response"] - ) - - @parametrize - async def test_raw_response_list(self, async_client: AsyncIncrease) -> None: - response = await async_client.real_time_payments_request_for_payments.with_raw_response.list() - - assert response.is_closed is True - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - real_time_payments_request_for_payment = await response.parse() - assert_matches_type( - AsyncPage[RealTimePaymentsRequestForPayment], real_time_payments_request_for_payment, path=["response"] - ) - - @parametrize - async def test_streaming_response_list(self, async_client: AsyncIncrease) -> None: - async with async_client.real_time_payments_request_for_payments.with_streaming_response.list() as response: - assert not response.is_closed - assert response.http_request.headers.get("X-Stainless-Lang") == "python" - - real_time_payments_request_for_payment = await response.parse() - assert_matches_type( - AsyncPage[RealTimePaymentsRequestForPayment], real_time_payments_request_for_payment, path=["response"] - ) - - assert cast(Any, response.is_closed) is True From d8c8c282ae8703404bad5e773c8558526be89762 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 11 Mar 2025 01:07:43 +0000 Subject: [PATCH 2/4] test: add DEFER_PYDANTIC_BUILD=false flag to tests (#1013) --- scripts/test | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/test b/scripts/test index 4fa5698b8..2b8784567 100755 --- a/scripts/test +++ b/scripts/test @@ -52,6 +52,8 @@ else echo fi +export DEFER_PYDANTIC_BUILD=false + echo "==> Running tests" rye run pytest "$@" From 1f6d141d1089bfe9364e25bbeb9014e300555c72 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 11 Mar 2025 04:51:55 +0000 Subject: [PATCH 3/4] feat(api): api update (#1014) --- .stats.yml | 2 +- src/increase/types/check_transfer_create_params.py | 8 ++++++++ tests/api_resources/test_check_transfers.py | 2 ++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/.stats.yml b/.stats.yml index 415878013..a08326a76 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,2 +1,2 @@ configured_endpoints: 198 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-6283b1811e024111b7521ae87507e4a47c25c01083f6171958712bd60df23af2.yml +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-82672744c336fb928794ae216fe177d65ad3b762159a39fb972612d991f01c81.yml diff --git a/src/increase/types/check_transfer_create_params.py b/src/increase/types/check_transfer_create_params.py index dc62de0c1..2e44ed237 100644 --- a/src/increase/types/check_transfer_create_params.py +++ b/src/increase/types/check_transfer_create_params.py @@ -100,6 +100,14 @@ class PhysicalCheck(TypedDict, total=False): recipient_name: Required[str] """The name that will be printed on the check in the 'To:' field.""" + check_number: str + """The check number Increase should print on the check. + + This should not contain leading zeroes and must be unique across the + `source_account_number`. If this is omitted, Increase will generate a check + number for you. + """ + note: str """The descriptor that will be printed on the letter included with the check.""" diff --git a/tests/api_resources/test_check_transfers.py b/tests/api_resources/test_check_transfers.py index 26b4e4407..2d1da7a4f 100644 --- a/tests/api_resources/test_check_transfers.py +++ b/tests/api_resources/test_check_transfers.py @@ -48,6 +48,7 @@ def test_method_create_with_all_params(self, client: Increase) -> None: }, "memo": "Check payment", "recipient_name": "Ian Crease", + "check_number": "x", "note": "x", "return_address": { "city": "x", @@ -326,6 +327,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncIncrease) }, "memo": "Check payment", "recipient_name": "Ian Crease", + "check_number": "x", "note": "x", "return_address": { "city": "x", From 9bd9e28e87cd36936b8cca105c70d68570d3e076 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 11 Mar 2025 14:07:14 +0000 Subject: [PATCH 4/4] release: 0.204.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 9 +++++++++ pyproject.toml | 2 +- src/increase/_version.py | 2 +- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index cd23ac9ab..544c63271 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.203.0" + ".": "0.204.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 020f0311b..6b9792ef9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## 0.204.0 (2025-03-11) + +Full Changelog: [v0.203.0...v0.204.0](https://github.com/Increase/increase-python/compare/v0.203.0...v0.204.0) + +### Features + +* **api:** api update ([#1011](https://github.com/Increase/increase-python/issues/1011)) ([2875b0d](https://github.com/Increase/increase-python/commit/2875b0d69a367da5c5837ff303fd56dac0d50470)) +* **api:** api update ([#1014](https://github.com/Increase/increase-python/issues/1014)) ([1f6d141](https://github.com/Increase/increase-python/commit/1f6d141d1089bfe9364e25bbeb9014e300555c72)) + ## 0.203.0 (2025-03-04) Full Changelog: [v0.202.0...v0.203.0](https://github.com/Increase/increase-python/compare/v0.202.0...v0.203.0) diff --git a/pyproject.toml b/pyproject.toml index 9a6066869..b3136dd19 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "increase" -version = "0.203.0" +version = "0.204.0" description = "The official Python library for the increase API" dynamic = ["readme"] license = "Apache-2.0" diff --git a/src/increase/_version.py b/src/increase/_version.py index e432941ce..ff67b2c83 100644 --- a/src/increase/_version.py +++ b/src/increase/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "increase" -__version__ = "0.203.0" # x-release-please-version +__version__ = "0.204.0" # x-release-please-version