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",