diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0a8072d1..99550732 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,7 +19,7 @@ jobs: timeout-minutes: 10 name: lint runs-on: ${{ github.repository == 'stainless-sdks/lithic-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} - if: github.event_name == 'push' || github.event.pull_request.head.repo.fork + if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata') steps: - uses: actions/checkout@v6 @@ -38,7 +38,7 @@ jobs: run: ./scripts/lint build: - if: github.event_name == 'push' || github.event.pull_request.head.repo.fork + if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata') timeout-minutes: 10 name: build permissions: @@ -107,7 +107,7 @@ jobs: timeout-minutes: 10 name: examples runs-on: ${{ github.repository == 'stainless-sdks/lithic-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} - if: github.repository == 'lithic-com/lithic-python' && (github.event_name == 'push' || github.event.pull_request.head.repo.fork) + if: github.repository == 'lithic-com/lithic-python' && (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata') steps: - uses: actions/checkout@v6 diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 486a203f..4bab9967 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.120.0" + ".": "0.121.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index b44dee87..e2ff9910 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 189 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-17c04dd1b0508b380c21e3acc3d4cd1e86b590f81d14fa26d1973b236f660e38.yml -openapi_spec_hash: f8ddee07358d2c938450a6889fbf7940 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-27d13d3d5226c710b07f9fc954fa53a8e6923e74d90d3f587d96399c1baf4de3.yml +openapi_spec_hash: 99a60cbd91f32b25617a9536fadebf07 config_hash: edbdfefeb0d3d927c2f9fe3402793215 diff --git a/CHANGELOG.md b/CHANGELOG.md index 7430bae7..73391c51 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,25 @@ # Changelog +## 0.121.0 (2026-03-31) + +Full Changelog: [v0.120.0...v0.121.0](https://github.com/lithic-com/lithic-python/compare/v0.120.0...v0.121.0) + +### Features + +* **api:** add decline count attributes to auth_rules conditions ([c511d14](https://github.com/lithic-com/lithic-python/commit/c511d14d11ca9c7d37fb549cb36ca3cba4661224)) +* **api:** add override_company_name parameter to payment create method ([babec29](https://github.com/lithic-com/lithic-python/commit/babec2956fc1cea2f2a7568f7229be0973f763f6)) +* **internal:** implement indices array format for query and form serialization ([bef46fb](https://github.com/lithic-com/lithic-python/commit/bef46fbe5eacffefedb37a7677753e877da3c922)) + + +### Chores + +* **ci:** skip lint on metadata-only changes ([7d73b7b](https://github.com/lithic-com/lithic-python/commit/7d73b7b0775f2e4f9fe6cd78f5bbf528b93804ab)) + + +### Documentation + +* **api:** update nature_of_business and qr_code_url parameter descriptions ([7514c59](https://github.com/lithic-com/lithic-python/commit/7514c5966cd9b4a84d221aadffe3ef02c7fa8814)) + ## 0.120.0 (2026-03-23) Full Changelog: [v0.119.0...v0.120.0](https://github.com/lithic-com/lithic-python/compare/v0.119.0...v0.120.0) diff --git a/pyproject.toml b/pyproject.toml index 1a227b5a..3eb30e09 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "lithic" -version = "0.120.0" +version = "0.121.0" description = "The official Python library for the lithic API" dynamic = ["readme"] license = "Apache-2.0" diff --git a/src/lithic/_qs.py b/src/lithic/_qs.py index ada6fd3f..de8c99bc 100644 --- a/src/lithic/_qs.py +++ b/src/lithic/_qs.py @@ -101,7 +101,10 @@ def _stringify_item( items.extend(self._stringify_item(key, item, opts)) return items elif array_format == "indices": - raise NotImplementedError("The array indices format is not supported yet") + items = [] + for i, item in enumerate(value): + items.extend(self._stringify_item(f"{key}[{i}]", item, opts)) + return items elif array_format == "brackets": items = [] key = key + "[]" diff --git a/src/lithic/_version.py b/src/lithic/_version.py index 63c609e4..c5edd576 100644 --- a/src/lithic/_version.py +++ b/src/lithic/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "lithic" -__version__ = "0.120.0" # x-release-please-version +__version__ = "0.121.0" # x-release-please-version diff --git a/src/lithic/resources/card_bulk_orders.py b/src/lithic/resources/card_bulk_orders.py index 40c9d132..7d4db098 100644 --- a/src/lithic/resources/card_bulk_orders.py +++ b/src/lithic/resources/card_bulk_orders.py @@ -47,7 +47,7 @@ def create( *, customer_product_id: str, shipping_address: object, - shipping_method: Literal["BULK_EXPEDITED"], + shipping_method: Literal["BULK_EXPEDITED", "BULK_PRIORITY", "BULK_2_DAY", "BULK_EXPRESS"], # 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, @@ -55,14 +55,13 @@ def create( extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> CardBulkOrder: - """Create a new bulk order for physical card shipments **[BETA]**. + """Create a new bulk order for physical card shipments. - Cards can be - added to the order via the POST /v1/cards endpoint by specifying the - bulk_order_token. Lock the order via PATCH - /v1/card_bulk_orders/{bulk_order_token} to prepare for shipment. Please work - with your Customer Success Manager and card personalization bureau to ensure - bulk shipping is supported for your program. + Cards can be added to the + order via the POST /v1/cards endpoint by specifying the bulk_order_token. Lock + the order via PATCH /v1/card_bulk_orders/{bulk_order_token} to prepare for + shipment. Please work with your Customer Success Manager and card + personalization bureau to ensure bulk shipping is supported for your program. Args: customer_product_id: Customer-specified product configuration for physical card manufacturing. This @@ -70,7 +69,8 @@ def create( shipping_address: Shipping address for all cards in this bulk order - shipping_method: Shipping method for all cards in this bulk order + shipping_method: Shipping method for all cards in this bulk order. BULK_PRIORITY, BULK_2_DAY, and + BULK_EXPRESS are only available with Perfect Plastic Printing extra_headers: Send extra headers @@ -108,7 +108,7 @@ def retrieve( timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> CardBulkOrder: """ - Retrieve a specific bulk order by token **[BETA]** + Retrieve a specific bulk order by token Args: extra_headers: Send extra headers @@ -141,10 +141,10 @@ def update( extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> CardBulkOrder: - """Update a bulk order **[BETA]**. + """Update a bulk order. - Primarily used to lock the order, preventing - additional cards from being added + Primarily used to lock the order, preventing additional + cards from being added Args: status: Status to update the bulk order to. Use LOCKED to finalize the order @@ -184,7 +184,7 @@ def list( timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> SyncCursorPage[CardBulkOrder]: """ - List bulk orders for physical card shipments **[BETA]** + List bulk orders for physical card shipments Args: begin: Date string in RFC 3339 format. Only entries created after the specified time @@ -257,7 +257,7 @@ async def create( *, customer_product_id: str, shipping_address: object, - shipping_method: Literal["BULK_EXPEDITED"], + shipping_method: Literal["BULK_EXPEDITED", "BULK_PRIORITY", "BULK_2_DAY", "BULK_EXPRESS"], # 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, @@ -265,14 +265,13 @@ async def create( extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> CardBulkOrder: - """Create a new bulk order for physical card shipments **[BETA]**. + """Create a new bulk order for physical card shipments. - Cards can be - added to the order via the POST /v1/cards endpoint by specifying the - bulk_order_token. Lock the order via PATCH - /v1/card_bulk_orders/{bulk_order_token} to prepare for shipment. Please work - with your Customer Success Manager and card personalization bureau to ensure - bulk shipping is supported for your program. + Cards can be added to the + order via the POST /v1/cards endpoint by specifying the bulk_order_token. Lock + the order via PATCH /v1/card_bulk_orders/{bulk_order_token} to prepare for + shipment. Please work with your Customer Success Manager and card + personalization bureau to ensure bulk shipping is supported for your program. Args: customer_product_id: Customer-specified product configuration for physical card manufacturing. This @@ -280,7 +279,8 @@ async def create( shipping_address: Shipping address for all cards in this bulk order - shipping_method: Shipping method for all cards in this bulk order + shipping_method: Shipping method for all cards in this bulk order. BULK_PRIORITY, BULK_2_DAY, and + BULK_EXPRESS are only available with Perfect Plastic Printing extra_headers: Send extra headers @@ -318,7 +318,7 @@ async def retrieve( timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> CardBulkOrder: """ - Retrieve a specific bulk order by token **[BETA]** + Retrieve a specific bulk order by token Args: extra_headers: Send extra headers @@ -351,10 +351,10 @@ async def update( extra_body: Body | None = None, timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> CardBulkOrder: - """Update a bulk order **[BETA]**. + """Update a bulk order. - Primarily used to lock the order, preventing - additional cards from being added + Primarily used to lock the order, preventing additional + cards from being added Args: status: Status to update the bulk order to. Use LOCKED to finalize the order @@ -396,7 +396,7 @@ def list( timeout: float | httpx.Timeout | None | NotGiven = not_given, ) -> AsyncPaginator[CardBulkOrder, AsyncCursorPage[CardBulkOrder]]: """ - List bulk orders for physical card shipments **[BETA]** + List bulk orders for physical card shipments Args: begin: Date string in RFC 3339 format. Only entries created after the specified time diff --git a/src/lithic/resources/cards/cards.py b/src/lithic/resources/cards/cards.py index e627f240..8b4e7959 100644 --- a/src/lithic/resources/cards/cards.py +++ b/src/lithic/resources/cards/cards.py @@ -124,7 +124,7 @@ def create( | Omit = omit, shipping_address: ShippingAddress | Omit = omit, shipping_method: Literal[ - "2_DAY", "BULK_EXPEDITED", "EXPEDITED", "EXPRESS", "PRIORITY", "STANDARD", "STANDARD_WITH_TRACKING" + "2_DAY", "BULK", "EXPEDITED", "EXPRESS", "PRIORITY", "STANDARD", "STANDARD_WITH_TRACKING" ] | Omit = omit, spend_limit: int | Omit = omit, @@ -254,7 +254,8 @@ def create( tracking - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight or similar international option, with tracking - - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping + - `BULK` - Card will be shipped as part of a bulk fulfillment order. The + shipping method and timeline are inherited from the parent bulk order. spend_limit: Amount (in cents) to limit approved authorizations (e.g. 100000 would be a $1,000 limit). Transaction requests above the spend limit will be declined. Note @@ -595,7 +596,7 @@ def convert_physical( carrier: Carrier | Omit = omit, product_id: str | Omit = omit, shipping_method: Literal[ - "2_DAY", "BULK_EXPEDITED", "EXPEDITED", "EXPRESS", "PRIORITY", "STANDARD", "STANDARD_WITH_TRACKING" + "2_DAY", "BULK", "EXPEDITED", "EXPRESS", "PRIORITY", "STANDARD", "STANDARD_WITH_TRACKING" ] | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. @@ -641,7 +642,8 @@ def convert_physical( tracking - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight or similar international option, with tracking - - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping + - `BULK` - Card will be shipped as part of a bulk fulfillment order. The + shipping method and timeline are inherited from the parent bulk order. extra_headers: Send extra headers @@ -940,7 +942,7 @@ def reissue( product_id: str | Omit = omit, shipping_address: ShippingAddress | Omit = omit, shipping_method: Literal[ - "2_DAY", "BULK_EXPEDITED", "EXPEDITED", "EXPRESS", "PRIORITY", "STANDARD", "STANDARD_WITH_TRACKING" + "2_DAY", "BULK", "EXPEDITED", "EXPRESS", "PRIORITY", "STANDARD", "STANDARD_WITH_TRACKING" ] | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. @@ -981,7 +983,8 @@ def reissue( tracking - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight or similar international option, with tracking - - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping + - `BULK` - Card will be shipped as part of a bulk fulfillment order. The + shipping method and timeline are inherited from the parent bulk order. extra_headers: Send extra headers @@ -1020,7 +1023,7 @@ def renew( exp_year: str | Omit = omit, product_id: str | Omit = omit, shipping_method: Literal[ - "2_DAY", "BULK_EXPEDITED", "EXPEDITED", "EXPRESS", "PRIORITY", "STANDARD", "STANDARD_WITH_TRACKING" + "2_DAY", "BULK", "EXPEDITED", "EXPRESS", "PRIORITY", "STANDARD", "STANDARD_WITH_TRACKING" ] | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. @@ -1071,7 +1074,8 @@ def renew( tracking - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight or similar international option, with tracking - - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping + - `BULK` - Card will be shipped as part of a bulk fulfillment order. The + shipping method and timeline are inherited from the parent bulk order. extra_headers: Send extra headers @@ -1306,7 +1310,7 @@ async def create( | Omit = omit, shipping_address: ShippingAddress | Omit = omit, shipping_method: Literal[ - "2_DAY", "BULK_EXPEDITED", "EXPEDITED", "EXPRESS", "PRIORITY", "STANDARD", "STANDARD_WITH_TRACKING" + "2_DAY", "BULK", "EXPEDITED", "EXPRESS", "PRIORITY", "STANDARD", "STANDARD_WITH_TRACKING" ] | Omit = omit, spend_limit: int | Omit = omit, @@ -1436,7 +1440,8 @@ async def create( tracking - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight or similar international option, with tracking - - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping + - `BULK` - Card will be shipped as part of a bulk fulfillment order. The + shipping method and timeline are inherited from the parent bulk order. spend_limit: Amount (in cents) to limit approved authorizations (e.g. 100000 would be a $1,000 limit). Transaction requests above the spend limit will be declined. Note @@ -1777,7 +1782,7 @@ async def convert_physical( carrier: Carrier | Omit = omit, product_id: str | Omit = omit, shipping_method: Literal[ - "2_DAY", "BULK_EXPEDITED", "EXPEDITED", "EXPRESS", "PRIORITY", "STANDARD", "STANDARD_WITH_TRACKING" + "2_DAY", "BULK", "EXPEDITED", "EXPRESS", "PRIORITY", "STANDARD", "STANDARD_WITH_TRACKING" ] | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. @@ -1823,7 +1828,8 @@ async def convert_physical( tracking - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight or similar international option, with tracking - - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping + - `BULK` - Card will be shipped as part of a bulk fulfillment order. The + shipping method and timeline are inherited from the parent bulk order. extra_headers: Send extra headers @@ -2122,7 +2128,7 @@ async def reissue( product_id: str | Omit = omit, shipping_address: ShippingAddress | Omit = omit, shipping_method: Literal[ - "2_DAY", "BULK_EXPEDITED", "EXPEDITED", "EXPRESS", "PRIORITY", "STANDARD", "STANDARD_WITH_TRACKING" + "2_DAY", "BULK", "EXPEDITED", "EXPRESS", "PRIORITY", "STANDARD", "STANDARD_WITH_TRACKING" ] | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. @@ -2163,7 +2169,8 @@ async def reissue( tracking - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight or similar international option, with tracking - - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping + - `BULK` - Card will be shipped as part of a bulk fulfillment order. The + shipping method and timeline are inherited from the parent bulk order. extra_headers: Send extra headers @@ -2202,7 +2209,7 @@ async def renew( exp_year: str | Omit = omit, product_id: str | Omit = omit, shipping_method: Literal[ - "2_DAY", "BULK_EXPEDITED", "EXPEDITED", "EXPRESS", "PRIORITY", "STANDARD", "STANDARD_WITH_TRACKING" + "2_DAY", "BULK", "EXPEDITED", "EXPRESS", "PRIORITY", "STANDARD", "STANDARD_WITH_TRACKING" ] | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. @@ -2253,7 +2260,8 @@ async def renew( tracking - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight or similar international option, with tracking - - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping + - `BULK` - Card will be shipped as part of a bulk fulfillment order. The + shipping method and timeline are inherited from the parent bulk order. extra_headers: Send extra headers diff --git a/src/lithic/types/auth_rules/conditional_authorization_action_parameters.py b/src/lithic/types/auth_rules/conditional_authorization_action_parameters.py index 6606f238..e2a4fb93 100644 --- a/src/lithic/types/auth_rules/conditional_authorization_action_parameters.py +++ b/src/lithic/types/auth_rules/conditional_authorization_action_parameters.py @@ -25,6 +25,9 @@ class Condition(BaseModel): "CARD_TRANSACTION_COUNT_15M", "CARD_TRANSACTION_COUNT_1H", "CARD_TRANSACTION_COUNT_24H", + "CARD_DECLINE_COUNT_15M", + "CARD_DECLINE_COUNT_1H", + "CARD_DECLINE_COUNT_24H", "CARD_STATE", "PIN_ENTERED", "PIN_STATUS", @@ -75,6 +78,12 @@ class Condition(BaseModel): trailing hour up and until the authorization. - `CARD_TRANSACTION_COUNT_24H`: The number of transactions on the card in the trailing 24 hours up and until the authorization. + - `CARD_DECLINE_COUNT_15M`: The number of declined transactions on the card in + the trailing 15 minutes before the authorization. + - `CARD_DECLINE_COUNT_1H`: The number of declined transactions on the card in + the trailing hour up and until the authorization. + - `CARD_DECLINE_COUNT_24H`: The number of declined transactions on the card in + the trailing 24 hours up and until the authorization. - `CARD_STATE`: The current state of the card associated with the transaction. Valid values are `CLOSED`, `OPEN`, `PAUSED`, `PENDING_ACTIVATION`, `PENDING_FULFILLMENT`. diff --git a/src/lithic/types/auth_rules/conditional_authorization_action_parameters_param.py b/src/lithic/types/auth_rules/conditional_authorization_action_parameters_param.py index a04adbc4..11a1c220 100644 --- a/src/lithic/types/auth_rules/conditional_authorization_action_parameters_param.py +++ b/src/lithic/types/auth_rules/conditional_authorization_action_parameters_param.py @@ -28,6 +28,9 @@ class Condition(TypedDict, total=False): "CARD_TRANSACTION_COUNT_15M", "CARD_TRANSACTION_COUNT_1H", "CARD_TRANSACTION_COUNT_24H", + "CARD_DECLINE_COUNT_15M", + "CARD_DECLINE_COUNT_1H", + "CARD_DECLINE_COUNT_24H", "CARD_STATE", "PIN_ENTERED", "PIN_STATUS", @@ -79,6 +82,12 @@ class Condition(TypedDict, total=False): trailing hour up and until the authorization. - `CARD_TRANSACTION_COUNT_24H`: The number of transactions on the card in the trailing 24 hours up and until the authorization. + - `CARD_DECLINE_COUNT_15M`: The number of declined transactions on the card in + the trailing 15 minutes before the authorization. + - `CARD_DECLINE_COUNT_1H`: The number of declined transactions on the card in + the trailing hour up and until the authorization. + - `CARD_DECLINE_COUNT_24H`: The number of declined transactions on the card in + the trailing 24 hours up and until the authorization. - `CARD_STATE`: The current state of the card associated with the transaction. Valid values are `CLOSED`, `OPEN`, `PAUSED`, `PENDING_ACTIVATION`, `PENDING_FULFILLMENT`. diff --git a/src/lithic/types/card_bulk_order.py b/src/lithic/types/card_bulk_order.py index c8ad3abc..1ee94d12 100644 --- a/src/lithic/types/card_bulk_order.py +++ b/src/lithic/types/card_bulk_order.py @@ -30,8 +30,12 @@ class CardBulkOrder(BaseModel): shipping_address: object """Shipping address for all cards in this bulk order""" - shipping_method: Literal["BULK_EXPEDITED"] - """Shipping method for all cards in this bulk order""" + shipping_method: Literal["BULK_EXPEDITED", "BULK_PRIORITY", "BULK_2_DAY", "BULK_EXPRESS"] + """Shipping method for all cards in this bulk order. + + BULK_PRIORITY, BULK_2_DAY, and BULK_EXPRESS are only available with Perfect + Plastic Printing + """ status: Literal["OPEN", "LOCKED"] """Status of the bulk order. diff --git a/src/lithic/types/card_bulk_order_create_params.py b/src/lithic/types/card_bulk_order_create_params.py index 641747b6..cfb313a7 100644 --- a/src/lithic/types/card_bulk_order_create_params.py +++ b/src/lithic/types/card_bulk_order_create_params.py @@ -17,5 +17,9 @@ class CardBulkOrderCreateParams(TypedDict, total=False): shipping_address: Required[object] """Shipping address for all cards in this bulk order""" - shipping_method: Required[Literal["BULK_EXPEDITED"]] - """Shipping method for all cards in this bulk order""" + shipping_method: Required[Literal["BULK_EXPEDITED", "BULK_PRIORITY", "BULK_2_DAY", "BULK_EXPRESS"]] + """Shipping method for all cards in this bulk order. + + BULK_PRIORITY, BULK_2_DAY, and BULK_EXPRESS are only available with Perfect + Plastic Printing + """ diff --git a/src/lithic/types/card_convert_physical_params.py b/src/lithic/types/card_convert_physical_params.py index 03911cf0..d2aad1ce 100644 --- a/src/lithic/types/card_convert_physical_params.py +++ b/src/lithic/types/card_convert_physical_params.py @@ -24,9 +24,7 @@ class CardConvertPhysicalParams(TypedDict, total=False): to cards of type `PHYSICAL`. This must be configured with Lithic before use. """ - shipping_method: Literal[ - "2_DAY", "BULK_EXPEDITED", "EXPEDITED", "EXPRESS", "PRIORITY", "STANDARD", "STANDARD_WITH_TRACKING" - ] + shipping_method: Literal["2_DAY", "BULK", "EXPEDITED", "EXPRESS", "PRIORITY", "STANDARD", "STANDARD_WITH_TRACKING"] """Shipping method for the card. Only applies to cards of type PHYSICAL. Use of options besides `STANDARD` @@ -43,5 +41,6 @@ class CardConvertPhysicalParams(TypedDict, total=False): tracking - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight or similar international option, with tracking - - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping + - `BULK` - Card will be shipped as part of a bulk fulfillment order. The + shipping method and timeline are inherited from the parent bulk order. """ diff --git a/src/lithic/types/card_create_params.py b/src/lithic/types/card_create_params.py index 30e313de..bb1c737f 100644 --- a/src/lithic/types/card_create_params.py +++ b/src/lithic/types/card_create_params.py @@ -165,9 +165,7 @@ class CardCreateParams(TypedDict, total=False): shipping_address: ShippingAddress - shipping_method: Literal[ - "2_DAY", "BULK_EXPEDITED", "EXPEDITED", "EXPRESS", "PRIORITY", "STANDARD", "STANDARD_WITH_TRACKING" - ] + shipping_method: Literal["2_DAY", "BULK", "EXPEDITED", "EXPRESS", "PRIORITY", "STANDARD", "STANDARD_WITH_TRACKING"] """Shipping method for the card. Only applies to cards of type PHYSICAL. Use of options besides `STANDARD` @@ -184,7 +182,8 @@ class CardCreateParams(TypedDict, total=False): tracking - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight or similar international option, with tracking - - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping + - `BULK` - Card will be shipped as part of a bulk fulfillment order. The + shipping method and timeline are inherited from the parent bulk order. """ spend_limit: int diff --git a/src/lithic/types/card_reissue_params.py b/src/lithic/types/card_reissue_params.py index 828ff228..45de922d 100644 --- a/src/lithic/types/card_reissue_params.py +++ b/src/lithic/types/card_reissue_params.py @@ -24,9 +24,7 @@ class CardReissueParams(TypedDict, total=False): shipping_address: ShippingAddress """If omitted, the previous shipping address will be used.""" - shipping_method: Literal[ - "2_DAY", "BULK_EXPEDITED", "EXPEDITED", "EXPRESS", "PRIORITY", "STANDARD", "STANDARD_WITH_TRACKING" - ] + shipping_method: Literal["2_DAY", "BULK", "EXPEDITED", "EXPRESS", "PRIORITY", "STANDARD", "STANDARD_WITH_TRACKING"] """Shipping method for the card. Only applies to cards of type PHYSICAL. Use of options besides `STANDARD` @@ -43,5 +41,6 @@ class CardReissueParams(TypedDict, total=False): tracking - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight or similar international option, with tracking - - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping + - `BULK` - Card will be shipped as part of a bulk fulfillment order. The + shipping method and timeline are inherited from the parent bulk order. """ diff --git a/src/lithic/types/card_renew_params.py b/src/lithic/types/card_renew_params.py index e6fcffe2..7f5ac0d8 100644 --- a/src/lithic/types/card_renew_params.py +++ b/src/lithic/types/card_renew_params.py @@ -38,9 +38,7 @@ class CardRenewParams(TypedDict, total=False): to cards of type `PHYSICAL`. This must be configured with Lithic before use. """ - shipping_method: Literal[ - "2_DAY", "BULK_EXPEDITED", "EXPEDITED", "EXPRESS", "PRIORITY", "STANDARD", "STANDARD_WITH_TRACKING" - ] + shipping_method: Literal["2_DAY", "BULK", "EXPEDITED", "EXPRESS", "PRIORITY", "STANDARD", "STANDARD_WITH_TRACKING"] """Shipping method for the card. Only applies to cards of type PHYSICAL. Use of options besides `STANDARD` @@ -57,5 +55,6 @@ class CardRenewParams(TypedDict, total=False): tracking - `EXPEDITED` - FedEx or UPS depending on card manufacturer, Standard Overnight or similar international option, with tracking - - `BULK_EXPEDITED` - Bulk shipment with Expedited shipping + - `BULK` - Card will be shipped as part of a bulk fulfillment order. The + shipping method and timeline are inherited from the parent bulk order. """ diff --git a/src/lithic/types/payment_create_params.py b/src/lithic/types/payment_create_params.py index c4f01ed9..7a29cc83 100644 --- a/src/lithic/types/payment_create_params.py +++ b/src/lithic/types/payment_create_params.py @@ -43,6 +43,12 @@ class MethodAttributes(TypedDict, total=False): addenda: Optional[str] + override_company_name: Optional[str] + """Value to override the configured company name with. + + Can only be used if allowed to override + """ + class Hold(TypedDict, total=False): """Optional hold to settle when this payment is initiated.""" diff --git a/tests/api_resources/test_payments.py b/tests/api_resources/test_payments.py index 864c5031..40083d6f 100644 --- a/tests/api_resources/test_payments.py +++ b/tests/api_resources/test_payments.py @@ -50,6 +50,7 @@ def test_method_create_with_all_params(self, client: Lithic) -> None: "sec_code": "CCD", "ach_hold_period": 0, "addenda": "addenda", + "override_company_name": "override_company_name", }, type="COLLECTION", token="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", @@ -473,6 +474,7 @@ async def test_method_create_with_all_params(self, async_client: AsyncLithic) -> "sec_code": "CCD", "ach_hold_period": 0, "addenda": "addenda", + "override_company_name": "override_company_name", }, type="COLLECTION", token="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",