From 10687b72a97c4eebea4cd57a871c8f78b242faf1 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Thu, 9 Jul 2026 07:45:38 +0000 Subject: [PATCH 1/2] ## Python SDK Changes: * `gr4vy.transactions.create()`: * `request.connection_options.klarna_klarna` **Added** * `gr4vy.transactions.update()`: * `request.connection_options.klarna_klarna` **Added** * `gr4vy.payment_links.create()`: * `request.connection_options.klarna_klarna` **Added** --- .speakeasy/gen.lock | 53 ++++++++++++----- .speakeasy/gen.yaml | 2 +- .speakeasy/workflow.lock | 10 ++-- RELEASES.md | 12 +++- docs/models/interval.md | 22 +++++++ docs/models/klarnaoptions.md | 10 ++++ docs/models/klarnasubscriptionoptions.md | 11 ++++ docs/models/transactionconnectionoptions.md | 1 + pyproject.toml | 2 +- src/gr4vy/_version.py | 4 +- src/gr4vy/models/__init__.py | 16 +++++ src/gr4vy/models/klarnaoptions.py | 59 +++++++++++++++++++ src/gr4vy/models/klarnasubscriptionoptions.py | 43 ++++++++++++++ .../models/transactionconnectionoptions.py | 10 ++++ 14 files changed, 229 insertions(+), 26 deletions(-) create mode 100644 docs/models/interval.md create mode 100644 docs/models/klarnaoptions.md create mode 100644 docs/models/klarnasubscriptionoptions.md create mode 100644 src/gr4vy/models/klarnaoptions.py create mode 100644 src/gr4vy/models/klarnasubscriptionoptions.py diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 6234d3f9..8aa5a5a5 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,19 +1,19 @@ lockVersion: 2.0.0 id: 833c6a67-4a4a-4ef1-ba24-165a29264e4a management: - docChecksum: 86d79e1171f120174654454c3bbc2326 + docChecksum: e50568793ccb24574e41b90df8390c03 docVersion: 1.0.0 speakeasyVersion: 1.789.0 generationVersion: 2.916.2 - releaseVersion: 2.2.7 - configChecksum: 83333125383361b9c961bf3a8a83e8a9 + releaseVersion: 2.2.8 + configChecksum: 362a8b83d63259b2151197974ee1ccd4 repoURL: https://github.com/gr4vy/gr4vy-python.git installationURL: https://github.com/gr4vy/gr4vy-python.git published: true persistentEdits: - generation_id: 6210940f-da03-4f42-9832-bf77a8a8b876 - pristine_commit_hash: 8e3d98b6cc8ecb92f98b0d37cb719d43c66fc08b - pristine_tree_hash: f7a00b3d427285a4ec4a2ab49f5cbae8acecc5ab + generation_id: de80141e-10c7-478e-9d10-2f15279f010f + pristine_commit_hash: b1f2d1cadd34f82421ac7d8e47e36c9c1ee90956 + pristine_tree_hash: 8dace81262d528533ee539dc2306abe2e1d84427 features: python: additionalDependencies: 1.1.0 @@ -1218,10 +1218,22 @@ trackedFiles: id: 9c173b87f41f last_write_checksum: sha1:b18306d210f81e87a1f52246c9309cad50e42f59 pristine_git_object: 9f45bddd19fde8601a56013dda9f0b06e9aab8cb + docs/models/interval.md: + id: 11a74d2c19c0 + last_write_checksum: sha1:c5b018b15dafec2f236478b6b8f34a224b213640 + pristine_git_object: ff4ca6265d1a7fe2a7ccb2029624dbf9438133a9 docs/models/item.md: id: 40dd7473ab87 last_write_checksum: sha1:ae18a739bb77a539dad4a0648e012a855231b11b pristine_git_object: 4e4f290188a0cc940d3632e6e8ee2b4c5c504299 + docs/models/klarnaoptions.md: + id: 9f273fad3fef + last_write_checksum: sha1:89e72d46bb40d1a450713e318fddc22494728084 + pristine_git_object: 8a4998b4b92f2f458e73081a10d1d916e4c5d62d + docs/models/klarnasubscriptionoptions.md: + id: 382292839a06 + last_write_checksum: sha1:0b7062b6c28eaab38c9980596a1a44495ad96dd5 + pristine_git_object: 570a7284fb436d4c49d11cb6fb39ef9d1b7f458d docs/models/latitudeoptions.md: id: fd99f59418af last_write_checksum: sha1:adf0b3c730e5e18fca39fd34f9c8c09065429b52 @@ -2340,8 +2352,8 @@ trackedFiles: pristine_git_object: 131873812def4a46bc198dead12e97f441548a3b docs/models/transactionconnectionoptions.md: id: 4c92c21f3107 - last_write_checksum: sha1:70017f9c715296d439bc5e9c1feb674e31f41c56 - pristine_git_object: 8861cae4d70ae1e7a9d44e4643a82eb29b6ade9e + last_write_checksum: sha1:d298e7e3614e66a140feb11d0a331511214ffcbc + pristine_git_object: 14e4620724eb5efb613fbfc672d26e02bc0c7c28 docs/models/transactioncreate.md: id: 2eccca1e0d3d last_write_checksum: sha1:3c6c23bb374cca24e76ca4621a72bce248421444 @@ -2752,8 +2764,8 @@ trackedFiles: pristine_git_object: cb9c15d314c1930557401074329ed7a737147919 pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:15870cefd2e5ac26ab580a355ece7ac551d26d76 - pristine_git_object: a7394b45005ddd20edb677ea21a959c2e75b21b4 + last_write_checksum: sha1:8ec77793fdd1a41170d8cd47632d7405a2c690f0 + pristine_git_object: af972401f822d4b7e3a8221b90263b15b49448e2 scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:63a92abbd1de3323613f0d4c1ae4412076577710 @@ -2780,8 +2792,8 @@ trackedFiles: pristine_git_object: f8ef109bb6a9dbe37d0a7092606176a0738986fd src/gr4vy/_version.py: id: 1b5ad1da47aa - last_write_checksum: sha1:07dc4435cef1f8847954d371975164e71c9a4edf - pristine_git_object: a5cb9575e52617cb1b105613c57e35cf75728070 + last_write_checksum: sha1:0867b955457209d067dfee8ab59ef4b9e4210e99 + pristine_git_object: 3e4e832abbffa7fec03f65d63fdaa7c1dc945821 src/gr4vy/account_updater.py: id: 6dc8f39e2fb9 last_write_checksum: sha1:fabc79a59dd06fb927ce2d834fbafbcad5836a4b @@ -2940,8 +2952,8 @@ trackedFiles: pristine_git_object: a8fe4dbb14fe921bca872721f3f9ff22fcdc60a2 src/gr4vy/models/__init__.py: id: 427cc7fddfe2 - last_write_checksum: sha1:e9f7f6bf01a92c87d0c43e942be78a1415309e16 - pristine_git_object: e71d2ab34ddc56422f0b08fc723d0f931ef7d117 + last_write_checksum: sha1:1fa1f0963f73e9b813348b63a23eb6401e0741f9 + pristine_git_object: 3d49b901c93a1a4afc0121fc53da7128074c0fdf src/gr4vy/models/accountsreceivablesreportspec.py: id: cc6a9368f988 last_write_checksum: sha1:1ce9432ce7ae682a7fff1e0fe1ddc7f82dc937e7 @@ -3778,6 +3790,14 @@ trackedFiles: id: 0776cadaeda1 last_write_checksum: sha1:2dd6df292228b2428a2e7702ca7fe8a90c040697 pristine_git_object: a6c5a920c605d137efbb42668b99cc9ecd615dc6 + src/gr4vy/models/klarnaoptions.py: + id: 27733b856cdc + last_write_checksum: sha1:50f806c854a417d348236742a681a13a359e7fe5 + pristine_git_object: ac6a05fbe9989c137f9902f12e7f87b4f3a6398a + src/gr4vy/models/klarnasubscriptionoptions.py: + id: 45a11c950029 + last_write_checksum: sha1:f00de3d2e79d1878694efd167b2cac6fe610ad35 + pristine_git_object: ac16e5d01a3a5d8f3d6ec96f025a61d3aab6e8ad src/gr4vy/models/latitudeoptions.py: id: 75043d25ef29 last_write_checksum: sha1:1efc78cb9354999f2ab4ea2eccea478bfb84a7c4 @@ -4576,8 +4596,8 @@ trackedFiles: pristine_git_object: d86a8513e92c48013bbf8a2c95ce4fbe4cc559f6 src/gr4vy/models/transactionconnectionoptions.py: id: e12dfa576d74 - last_write_checksum: sha1:e199ff3e48e4408af6e34ba733a634a1066e115b - pristine_git_object: 6435fa8453ce2a127df0721ef74df77a7ec7ad5f + last_write_checksum: sha1:80459ba2e37e957adf78e67a0b2af37ca347072b + pristine_git_object: 2be49f045d4f6279696e1e16b967a369637aacbb src/gr4vy/models/transactioncreate.py: id: 640e0433670e last_write_checksum: sha1:3a00fb8cda9c16222dc884c87dea12ea68547745 @@ -9046,6 +9066,7 @@ examples: application/json: {"type": "error", "code": "gateway_timeout", "status": 504, "message": "Request could not be processed"} examplesVersion: 1.0.2 generatedTests: {} +releaseNotes: "## Python SDK Changes:\n* `gr4vy.transactions.create()`: \n * `request.connection_options.klarna_klarna` **Added**\n* `gr4vy.transactions.update()`: \n * `request.connection_options.klarna_klarna` **Added**\n* `gr4vy.payment_links.create()`: \n * `request.connection_options.klarna_klarna` **Added**\n" generatedFiles: - .gitattributes - .vscode/settings.json diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 22e209a8..61c69ad6 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -29,7 +29,7 @@ generation: generateNewTests: false skipResponseBodyAssertions: false python: - version: 2.2.7 + version: 2.2.8 additionalDependencies: dev: freezegun: ^1.5.1 diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 9e8fe4b6..df643f8b 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -2,8 +2,8 @@ speakeasyVersion: 1.789.0 sources: openapi: sourceNamespace: openapi - sourceRevisionDigest: sha256:60d837ada64cd2bfc77ca978cce770dfdfc54fc0433a893e90b60ba189b67686 - sourceBlobDigest: sha256:9126b82e358452527e4b1731bb00c7174cb83369eec9a8a06e8b9d76342890d9 + sourceRevisionDigest: sha256:380e5b5bc84a1eeef60063a38bf5a76baffd8d54c2cf0521e79d1e707514424d + sourceBlobDigest: sha256:8c9bdbe9bb8d5d45f46f25c0d921a051091dc58a2c473aa2d321690782484ee6 tags: - latest - 1.0.0 @@ -11,10 +11,10 @@ targets: python: source: openapi sourceNamespace: openapi - sourceRevisionDigest: sha256:60d837ada64cd2bfc77ca978cce770dfdfc54fc0433a893e90b60ba189b67686 - sourceBlobDigest: sha256:9126b82e358452527e4b1731bb00c7174cb83369eec9a8a06e8b9d76342890d9 + sourceRevisionDigest: sha256:380e5b5bc84a1eeef60063a38bf5a76baffd8d54c2cf0521e79d1e707514424d + sourceBlobDigest: sha256:8c9bdbe9bb8d5d45f46f25c0d921a051091dc58a2c473aa2d321690782484ee6 codeSamplesNamespace: openapi-python-code-samples - codeSamplesRevisionDigest: sha256:ed61bcd1e06e7110ffeecba83402d014c8c9f03720a1fe89b4b9c9b68cade1ac + codeSamplesRevisionDigest: sha256:4da56fca6ad8e267257aa689f1607f00980d7c819ee0d6c2bbbc02e96cbf8dc1 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/RELEASES.md b/RELEASES.md index b2dbff01..f6042e8d 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -2208,4 +2208,14 @@ Based on: ### Generated - [python v2.2.7] . ### Releases -- [PyPI v2.2.7] https://pypi.org/project/gr4vy/2.2.7 - . \ No newline at end of file +- [PyPI v2.2.7] https://pypi.org/project/gr4vy/2.2.7 - . + +## 2026-07-09 07:43:31 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.789.0 (2.916.2) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v2.2.8] . +### Releases +- [PyPI v2.2.8] https://pypi.org/project/gr4vy/2.2.8 - . \ No newline at end of file diff --git a/docs/models/interval.md b/docs/models/interval.md new file mode 100644 index 00000000..ff4ca626 --- /dev/null +++ b/docs/models/interval.md @@ -0,0 +1,22 @@ +# Interval + +The cadence unit for the subscription plan. + +## Example Usage + +```python +from gr4vy.models import Interval + +# Open enum: unrecognized values are captured as UnrecognizedStr +value: Interval = "DAY" +``` + + +## Values + +This is an open enum. Unrecognized values will not fail type checks. + +- `"DAY"` +- `"WEEK"` +- `"MONTH"` +- `"YEAR"` diff --git a/docs/models/klarnaoptions.md b/docs/models/klarnaoptions.md new file mode 100644 index 00000000..8a4998b4 --- /dev/null +++ b/docs/models/klarnaoptions.md @@ -0,0 +1,10 @@ +# KlarnaOptions + + +## Fields + +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `subscription` | [OptionalNullable[models.KlarnaSubscriptionOptions]](../models/klarnasubscriptionoptions.md) | :heavy_minus_sign: | Provides subscription information to Klarna. | | +| `token_only_mode` | *OptionalNullable[bool]* | :heavy_minus_sign: | When set to `true`, this will authorize the transaction with Klarna for the purposes of tokenizing the payment method with the transaction details. No funds will be captured and the authorization will be automatically voided. This is useful for up-sell scenarios where you want to tokenize a Klarna payment method for future use. | true | +| `authorization_token` | *OptionalNullable[str]* | :heavy_minus_sign: | An authorization token returned by the Klarna Express Checkout JS SDK after the buyer completes payment in the embedded widget. When provided, the connector skips the HPP redirect and places the Klarna order directly using this token. | ... | \ No newline at end of file diff --git a/docs/models/klarnasubscriptionoptions.md b/docs/models/klarnasubscriptionoptions.md new file mode 100644 index 00000000..570a7284 --- /dev/null +++ b/docs/models/klarnasubscriptionoptions.md @@ -0,0 +1,11 @@ +# KlarnaSubscriptionOptions + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ | +| `name` | *str* | :heavy_check_mark: | The name of the subscription product. The recommended format includes a subscription id and double curly brackets. | Premium Membership {{{{12394832}}}} | +| `interval` | [models.Interval](../models/interval.md) | :heavy_check_mark: | The cadence unit for the subscription plan. | **Example 1:** DAY
**Example 2:** WEEK
**Example 3:** MONTH
**Example 4:** YEAR | +| `interval_count` | *int* | :heavy_check_mark: | The number corresponding to the interval unit. | **Example 1:** 1
**Example 2:** 2
**Example 3:** 3 | +| `reference` | *str* | :heavy_check_mark: | Reference to a SKU in the transaction's cart items to link subscription to. | a0366204-2365-45fd-af60-23d0a59fdea9 | \ No newline at end of file diff --git a/docs/models/transactionconnectionoptions.md b/docs/models/transactionconnectionoptions.md index 8861cae4..14e46207 100644 --- a/docs/models/transactionconnectionoptions.md +++ b/docs/models/transactionconnectionoptions.md @@ -36,6 +36,7 @@ | `dlocal_pix` | [OptionalNullable[models.DlocalPIXOptions]](../models/dlocalpixoptions.md) | :heavy_minus_sign: | Custom options to be passed to the `dlocal-pix` connector. | | `dlocal_gcash` | [OptionalNullable[models.DlocalOptions]](../models/dlocaloptions.md) | :heavy_minus_sign: | Custom options to be passed to the `dlocal-gcash` connector. | | `ecommpay_card` | [OptionalNullable[models.EcommpayOptions]](../models/ecommpayoptions.md) | :heavy_minus_sign: | Custom options to be passed to the `ecommpay-card` connector. | +| `klarna_klarna` | [OptionalNullable[models.KlarnaOptions]](../models/klarnaoptions.md) | :heavy_minus_sign: | Custom options to be passed to the `klarna-klarna` connector. | | `fiserv_card` | [OptionalNullable[models.FiservOptions]](../models/fiservoptions.md) | :heavy_minus_sign: | Custom options to be passed to the `fiserv-card` connector. | | `forter_anti_fraud` | [OptionalNullable[models.ForterAntiFraudOptions]](../models/forterantifraudoptions.md) | :heavy_minus_sign: | Custom options to be passed to the `forter-anti-fraud` connector. | | `gem_gem` | [OptionalNullable[models.LatitudeOptions]](../models/latitudeoptions.md) | :heavy_minus_sign: | Custom options to be passed to the `gem-gem` connector. | diff --git a/pyproject.toml b/pyproject.toml index a7394b45..af972401 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "gr4vy" -version = "2.2.7" +version = "2.2.8" description = "Python Client SDK Generated by Speakeasy." authors = [{ name = "Gr4vy" },] readme = "README-PYPI.md" diff --git a/src/gr4vy/_version.py b/src/gr4vy/_version.py index a5cb9575..3e4e832a 100644 --- a/src/gr4vy/_version.py +++ b/src/gr4vy/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "gr4vy" -__version__: str = "2.2.7" +__version__: str = "2.2.8" __openapi_doc_version__: str = "1.0.0" __gen_version__: str = "2.916.2" -__user_agent__: str = "speakeasy-sdk/python 2.2.7 2.916.2 1.0.0 gr4vy" +__user_agent__: str = "speakeasy-sdk/python 2.2.8 2.916.2 1.0.0 gr4vy" try: if __package__ is not None: diff --git a/src/gr4vy/models/__init__.py b/src/gr4vy/models/__init__.py index e71d2ab3..3d49b901 100644 --- a/src/gr4vy/models/__init__.py +++ b/src/gr4vy/models/__init__.py @@ -712,6 +712,12 @@ from .guestbuyer import GuestBuyer, GuestBuyerTypedDict from .instrumenttype import InstrumentType from .integrationclient import IntegrationClient + from .klarnaoptions import KlarnaOptions, KlarnaOptionsTypedDict + from .klarnasubscriptionoptions import ( + Interval, + KlarnaSubscriptionOptions, + KlarnaSubscriptionOptionsTypedDict, + ) from .latitudeoptions import LatitudeOptions, LatitudeOptionsTypedDict from .list_all_report_executionsop import ( ListAllReportExecutionsGlobals, @@ -2036,8 +2042,13 @@ "InstrumentType", "IntegrationClient", "Intent", + "Interval", "Item", "ItemTypedDict", + "KlarnaOptions", + "KlarnaOptionsTypedDict", + "KlarnaSubscriptionOptions", + "KlarnaSubscriptionOptionsTypedDict", "LatitudeOptions", "LatitudeOptionsTypedDict", "ListAPIKeyPairsRequest", @@ -3199,6 +3210,11 @@ "GuestBuyerTypedDict": ".guestbuyer", "InstrumentType": ".instrumenttype", "IntegrationClient": ".integrationclient", + "KlarnaOptions": ".klarnaoptions", + "KlarnaOptionsTypedDict": ".klarnaoptions", + "Interval": ".klarnasubscriptionoptions", + "KlarnaSubscriptionOptions": ".klarnasubscriptionoptions", + "KlarnaSubscriptionOptionsTypedDict": ".klarnasubscriptionoptions", "LatitudeOptions": ".latitudeoptions", "LatitudeOptionsTypedDict": ".latitudeoptions", "ListAllReportExecutionsGlobals": ".list_all_report_executionsop", diff --git a/src/gr4vy/models/klarnaoptions.py b/src/gr4vy/models/klarnaoptions.py new file mode 100644 index 00000000..ac6a05fb --- /dev/null +++ b/src/gr4vy/models/klarnaoptions.py @@ -0,0 +1,59 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from .klarnasubscriptionoptions import ( + KlarnaSubscriptionOptions, + KlarnaSubscriptionOptionsTypedDict, +) +from gr4vy.types import BaseModel, Nullable, OptionalNullable, UNSET, UNSET_SENTINEL +from pydantic import model_serializer +from typing_extensions import NotRequired, TypedDict + + +class KlarnaOptionsTypedDict(TypedDict): + subscription: NotRequired[Nullable[KlarnaSubscriptionOptionsTypedDict]] + r"""Provides subscription information to Klarna.""" + token_only_mode: NotRequired[Nullable[bool]] + r"""When set to `true`, this will authorize the transaction with Klarna for the purposes of tokenizing the payment method with the transaction details. No funds will be captured and the authorization will be automatically voided. This is useful for up-sell scenarios where you want to tokenize a Klarna payment method for future use.""" + authorization_token: NotRequired[Nullable[str]] + r"""An authorization token returned by the Klarna Express Checkout JS SDK after the buyer completes payment in the embedded widget. When provided, the connector skips the HPP redirect and places the Klarna order directly using this token.""" + + +class KlarnaOptions(BaseModel): + subscription: OptionalNullable[KlarnaSubscriptionOptions] = UNSET + r"""Provides subscription information to Klarna.""" + + token_only_mode: OptionalNullable[bool] = UNSET + r"""When set to `true`, this will authorize the transaction with Klarna for the purposes of tokenizing the payment method with the transaction details. No funds will be captured and the authorization will be automatically voided. This is useful for up-sell scenarios where you want to tokenize a Klarna payment method for future use.""" + + authorization_token: OptionalNullable[str] = UNSET + r"""An authorization token returned by the Klarna Express Checkout JS SDK after the buyer completes payment in the embedded widget. When provided, the connector skips the HPP redirect and places the Klarna order directly using this token.""" + + @model_serializer(mode="wrap") + def serialize_model(self, handler): + optional_fields = set( + ["subscription", "token_only_mode", "authorization_token"] + ) + nullable_fields = set( + ["subscription", "token_only_mode", "authorization_token"] + ) + serialized = handler(self) + m = {} + + for n, f in type(self).model_fields.items(): + k = f.alias or n + val = serialized.get(k, serialized.get(n)) + is_nullable_and_explicitly_set = ( + k in nullable_fields + and (self.__pydantic_fields_set__.intersection({n})) # pylint: disable=no-member + ) + + if val != UNSET_SENTINEL: + if ( + val is not None + or k not in optional_fields + or is_nullable_and_explicitly_set + ): + m[k] = val + + return m diff --git a/src/gr4vy/models/klarnasubscriptionoptions.py b/src/gr4vy/models/klarnasubscriptionoptions.py new file mode 100644 index 00000000..ac16e5d0 --- /dev/null +++ b/src/gr4vy/models/klarnasubscriptionoptions.py @@ -0,0 +1,43 @@ +"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.""" + +from __future__ import annotations +from gr4vy.types import BaseModel, UnrecognizedStr +from typing import Literal, Union +from typing_extensions import TypedDict + + +Interval = Union[ + Literal[ + "DAY", + "WEEK", + "MONTH", + "YEAR", + ], + UnrecognizedStr, +] +r"""The cadence unit for the subscription plan.""" + + +class KlarnaSubscriptionOptionsTypedDict(TypedDict): + name: str + r"""The name of the subscription product. The recommended format includes a subscription id and double curly brackets.""" + interval: Interval + r"""The cadence unit for the subscription plan.""" + interval_count: int + r"""The number corresponding to the interval unit.""" + reference: str + r"""Reference to a SKU in the transaction's cart items to link subscription to.""" + + +class KlarnaSubscriptionOptions(BaseModel): + name: str + r"""The name of the subscription product. The recommended format includes a subscription id and double curly brackets.""" + + interval: Interval + r"""The cadence unit for the subscription plan.""" + + interval_count: int + r"""The number corresponding to the interval unit.""" + + reference: str + r"""Reference to a SKU in the transaction's cart items to link subscription to.""" diff --git a/src/gr4vy/models/transactionconnectionoptions.py b/src/gr4vy/models/transactionconnectionoptions.py index 6435fa84..2be49f04 100644 --- a/src/gr4vy/models/transactionconnectionoptions.py +++ b/src/gr4vy/models/transactionconnectionoptions.py @@ -25,6 +25,7 @@ ) from .givingblockoptions import GivingBlockOptions, GivingBlockOptionsTypedDict from .gocardlessoptions import GoCardlessOptions, GoCardlessOptionsTypedDict +from .klarnaoptions import KlarnaOptions, KlarnaOptionsTypedDict from .latitudeoptions import LatitudeOptions, LatitudeOptionsTypedDict from .mattildatapioptions import MattildaTapiOptions, MattildaTapiOptionsTypedDict from .mockcardoptions import MockCardOptions, MockCardOptionsTypedDict @@ -115,6 +116,8 @@ class TransactionConnectionOptionsTypedDict(TypedDict): r"""Custom options to be passed to the `dlocal-gcash` connector.""" ecommpay_card: NotRequired[Nullable[EcommpayOptionsTypedDict]] r"""Custom options to be passed to the `ecommpay-card` connector.""" + klarna_klarna: NotRequired[Nullable[KlarnaOptionsTypedDict]] + r"""Custom options to be passed to the `klarna-klarna` connector.""" fiserv_card: NotRequired[Nullable[FiservOptionsTypedDict]] r"""Custom options to be passed to the `fiserv-card` connector.""" forter_anti_fraud: NotRequired[Nullable[ForterAntiFraudOptionsTypedDict]] @@ -336,6 +339,11 @@ class TransactionConnectionOptions(BaseModel): ] = UNSET r"""Custom options to be passed to the `ecommpay-card` connector.""" + klarna_klarna: Annotated[ + OptionalNullable[KlarnaOptions], pydantic.Field(alias="klarna-klarna") + ] = UNSET + r"""Custom options to be passed to the `klarna-klarna` connector.""" + fiserv_card: Annotated[ OptionalNullable[FiservOptions], pydantic.Field(alias="fiserv-card") ] = UNSET @@ -532,6 +540,7 @@ def serialize_model(self, handler): "dlocal-pix", "dlocal-gcash", "ecommpay-card", + "klarna-klarna", "fiserv-card", "forter-anti-fraud", "gem-gem", @@ -598,6 +607,7 @@ def serialize_model(self, handler): "dlocal-pix", "dlocal-gcash", "ecommpay-card", + "klarna-klarna", "fiserv-card", "forter-anti-fraud", "gem-gem", From f7993a56a85a0b348d558e748577582cfabff8ec Mon Sep 17 00:00:00 2001 From: "speakeasy-github[bot]" <128539517+speakeasy-github[bot]@users.noreply.github.com> Date: Thu, 9 Jul 2026 07:45:53 +0000 Subject: [PATCH 2/2] empty commit to trigger [run-tests] workflow