diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index e536c947..b329e9fa 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: 9d31c3d51d203555e18d73f1140670d9 + docChecksum: 5a02cc3b209ade5cc09d56e6c34c76ed docVersion: 1.0.0 speakeasyVersion: 1.700.2 generationVersion: 2.801.2 - releaseVersion: 1.10.20 - configChecksum: b449262bd59ddb2a704d386aa9bf57ea + releaseVersion: 1.10.21 + configChecksum: 9f893066e001cdf30742bb0360312320 repoURL: https://github.com/gr4vy/gr4vy-python.git installationURL: https://github.com/gr4vy/gr4vy-python.git published: true persistentEdits: - generation_id: ada6db13-cc10-428f-9236-bf75e99d5931 - pristine_commit_hash: 8bf49141e72f18eeccc082174a261edb33693402 - pristine_tree_hash: 065a5b5bca3500cf535279a2bedfeb2213fed80b + generation_id: 18b71f9c-8043-48f4-969a-684736df3410 + pristine_commit_hash: 84961c71832855d259e50cf4593750cbcdb093f9 + pristine_tree_hash: 761fe773db4e6d0440ca4f00719bc78d3755e2ab features: python: additionalDependencies: 1.0.0 @@ -1714,6 +1714,10 @@ trackedFiles: id: 77014f6aa487 last_write_checksum: sha1:83a664e74b7f9dbd6d223a22f61cdcc07e0f629f pristine_git_object: 99031b7ff8f2fbb2801f3274b4ec3277fada5df0 + docs/models/response200voidtransaction.md: + id: 2dfa9c780768 + last_write_checksum: sha1:09b1917ececb32330fe6cf45e2fedb7715a173ed + pristine_git_object: 0d0d1729a75a3f3d7a05d328ad985b48bdb07d0c docs/models/responsecapturetransaction.md: id: 8807a6792409 last_write_checksum: sha1:0e1b7d0e660b38202183d4ef99829cd14cbd89c6 @@ -1722,10 +1726,6 @@ trackedFiles: id: e0a6143f9ed8 last_write_checksum: sha1:d209a1481225b0e71933e72104e50cae1508ff14 pristine_git_object: faf7e5ef2f78fcaa30e1f52e74ff7a0c37306c65 - docs/models/responsevoidtransaction.md: - id: cf7a96f4222b - last_write_checksum: sha1:2d798bb02ba56fb74e762fbb987c4c5206e65673 - pristine_git_object: ddd695885fdb468bb73d882f23146b058397bb9b docs/models/resumepaymentmethodnetworktokenglobals.md: id: feff7a23633d last_write_checksum: sha1:3ed9081b36a6e60cade924689e1aa387d24346b6 @@ -2140,8 +2140,8 @@ trackedFiles: pristine_git_object: 5b90b2b6409a71b5008e3e309b283b9c425714c5 docs/models/voidtransactionrequest.md: id: 6dbd9b3d0f6a - last_write_checksum: sha1:f6910dceb876afde0433dc74cde00b2e5a47e501 - pristine_git_object: c5b36d6804580f89e488e3bca0bb47532dfc8c34 + last_write_checksum: sha1:8a068cb02f34227a64090a0e1f372d373a00ae88 + pristine_git_object: 0045fac65b51da771b940ba3ac61f3ce98b814bb docs/models/walletpaymentoptioncontext.md: id: 9dc6641a560f last_write_checksum: sha1:582d14699a2b889e66ae68ffdafc5f357fb5b9b7 @@ -2288,8 +2288,8 @@ trackedFiles: pristine_git_object: 1c164f363de02939f9ce80cf4dc53933c585e5b2 docs/sdks/transactions/README.md: id: 85592abe3c6b - last_write_checksum: sha1:66590ca9fedf49f8e3045f66bd7753cb1eaf7c50 - pristine_git_object: 7d14fefea6a059f0edaa55b47d36d243f10edacd + last_write_checksum: sha1:29eb450e2f00a9221a6471ebd26dee8273106033 + pristine_git_object: 19aaa453f7c21969bf810e95064bedfe7b4e3fed docs/sdks/transactionsrefunds/README.md: id: c6a0400f5020 last_write_checksum: sha1:9f066fc497802c0814246b158c659f494f74b520 @@ -2312,8 +2312,8 @@ trackedFiles: pristine_git_object: e8cd3e85682cd3d489cf3c5be75a0563d0c9f4bf pyproject.toml: id: 5d07e7d72637 - last_write_checksum: sha1:f0c6f9774d48d6e8e6d87e4ac0f0962c2ea8c859 - pristine_git_object: 6d0e75d90a664c6cdc476615ad59e81a90350641 + last_write_checksum: sha1:1cde98ea9fbf1ea8a85b546ac0850321c5297255 + pristine_git_object: 50d86b33fe1bd06760b69cde5bc17c8902257748 scripts/prepare_readme.py: id: e0c5957a6035 last_write_checksum: sha1:63a92abbd1de3323613f0d4c1ae4412076577710 @@ -2340,8 +2340,8 @@ trackedFiles: pristine_git_object: 83a0d00f9b5b1a6d837643a32bfd0f82cd4f98ce src/gr4vy/_version.py: id: 1b5ad1da47aa - last_write_checksum: sha1:30c53d848dea424fd0d31e20fe2deaf8affdaca5 - pristine_git_object: 576db1b51f4138b5d04216e4acb83f659b04c00a + last_write_checksum: sha1:1373af1d92e5f10945e2155ac521edadac2f4e65 + pristine_git_object: 82b2671e8f44bb99089096b6dac839e65341a8ad src/gr4vy/account_updater.py: id: 6dc8f39e2fb9 last_write_checksum: sha1:fabc79a59dd06fb927ce2d834fbafbcad5836a4b @@ -2492,8 +2492,8 @@ trackedFiles: pristine_git_object: 2d392799bbe0b66682b15c14348917eccbcd684e src/gr4vy/models/__init__.py: id: 427cc7fddfe2 - last_write_checksum: sha1:8fbc6691d6806dbbfc1dd7683f7557de3289c0f0 - pristine_git_object: 70f64a71a5db648bdb60ce93481db2d409ffda6a + last_write_checksum: sha1:fa078159ace73d3248541727dd6b0a3b6d6ca0c5 + pristine_git_object: 066ffecd489f6baae1a8af71f863eeba429376f1 src/gr4vy/models/accountsreceivablesreportspec.py: id: cc6a9368f988 last_write_checksum: sha1:dcf155a79da77b3ca554d2cf60138dd4fbae33bd @@ -3976,8 +3976,8 @@ trackedFiles: pristine_git_object: 9182d982dc7e288b81fac63faa831566c11007a2 src/gr4vy/models/void_transactionop.py: id: 3d94c56a17e7 - last_write_checksum: sha1:3e1814b03eab3f02d25330e3f4685b5808f1246a - pristine_git_object: 4ab8c5556b07e10167f0fc2e02bae8e63abdf1a4 + last_write_checksum: sha1:6e1713bce774e9dac6e7b9926b720b192194f684 + pristine_git_object: aed703cd491148cb80f86c3e08fe28eba094e714 src/gr4vy/models/voidablefield.py: id: ff39fc25f809 last_write_checksum: sha1:0229d15ecc602de71faf9fc4ef242369ee67291a @@ -4076,8 +4076,8 @@ trackedFiles: pristine_git_object: 0fdc029c1b56125e39db86d75bc3dcc7ecffdeef src/gr4vy/transactions.py: id: 88da8fa0ed7f - last_write_checksum: sha1:f90cf5054a01a4a6924756f09821259dd602082e - pristine_git_object: 270adaea1935d2bb05cb2e7d3dc23021fdae4da9 + last_write_checksum: sha1:d5cb5f20f6406a7e907fc355c4979ee96916d687 + pristine_git_object: e07d70fa9453a7f45e126638d0934cb20abda9ed src/gr4vy/transactions_refunds.py: id: ee2cc8522919 last_write_checksum: sha1:2e652c610c1c919026d04c9485fc63dfe29e5887 @@ -7757,6 +7757,9 @@ 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: + * `gr4vy.transactions.void()`: `request.idempotency_key` **Added** generatedFiles: - .gitattributes - .vscode/settings.json diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 5d774776..62f30b80 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -27,7 +27,7 @@ generation: generateNewTests: false skipResponseBodyAssertions: false python: - version: 1.10.20 + version: 1.10.21 additionalDependencies: dev: freezegun: ^1.5.1 diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index d11d37d5..f25b68a2 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -2,20 +2,20 @@ speakeasyVersion: 1.700.2 sources: openapi: sourceNamespace: openapi - sourceRevisionDigest: sha256:44838f2fc974ffd4d2f3e2fc982923173c55baec797f8778d21bc6d309129d9c - sourceBlobDigest: sha256:b025496a0a87a8f3792e48d96a950665e67e7ce5ea0d2d62ab07ae40af022e98 + sourceRevisionDigest: sha256:09735c7344bbfe2c88071de3fd0c322db9e39150172f22cd635e4ca1e1ba79c3 + sourceBlobDigest: sha256:ce670cf308aed9548eac9c9cc345f7771875fd97b1de8b95e8ed28314767d00c tags: - latest - - speakeasy-sdk-regen-1770039606 + - speakeasy-sdk-regen-1770143813 - 1.0.0 targets: python: source: openapi sourceNamespace: openapi - sourceRevisionDigest: sha256:44838f2fc974ffd4d2f3e2fc982923173c55baec797f8778d21bc6d309129d9c - sourceBlobDigest: sha256:b025496a0a87a8f3792e48d96a950665e67e7ce5ea0d2d62ab07ae40af022e98 + sourceRevisionDigest: sha256:09735c7344bbfe2c88071de3fd0c322db9e39150172f22cd635e4ca1e1ba79c3 + sourceBlobDigest: sha256:ce670cf308aed9548eac9c9cc345f7771875fd97b1de8b95e8ed28314767d00c codeSamplesNamespace: openapi-python-code-samples - codeSamplesRevisionDigest: sha256:b8ce459bbfd05a0d13a21b44f5fb464527e1f629ede73e79a731aa7dbc7d7ee7 + codeSamplesRevisionDigest: sha256:1976b43d4f3faf56c9f163e751fec235ae14a5144da22fae555b14b787a908f4 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/RELEASES.md b/RELEASES.md index 1e67c726..36ccc9f8 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1418,4 +1418,14 @@ Based on: ### Generated - [python v1.10.20] . ### Releases -- [PyPI v1.10.20] https://pypi.org/project/gr4vy/1.10.20 - . \ No newline at end of file +- [PyPI v1.10.20] https://pypi.org/project/gr4vy/1.10.20 - . + +## 2026-02-03 18:36:33 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.700.2 (2.801.2) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v1.10.21] . +### Releases +- [PyPI v1.10.21] https://pypi.org/project/gr4vy/1.10.21 - . \ No newline at end of file diff --git a/docs/models/responsevoidtransaction.md b/docs/models/response200voidtransaction.md similarity index 88% rename from docs/models/responsevoidtransaction.md rename to docs/models/response200voidtransaction.md index ddd69588..0d0d1729 100644 --- a/docs/models/responsevoidtransaction.md +++ b/docs/models/response200voidtransaction.md @@ -1,4 +1,4 @@ -# ResponseVoidTransaction +# Response200VoidTransaction Successful Response diff --git a/docs/models/voidtransactionrequest.md b/docs/models/voidtransactionrequest.md index c5b36d68..0045fac6 100644 --- a/docs/models/voidtransactionrequest.md +++ b/docs/models/voidtransactionrequest.md @@ -3,8 +3,9 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | -| `transaction_id` | *str* | :heavy_check_mark: | The ID of the transaction | 7099948d-7286-47e4-aad8-b68f7eb44591 | -| `prefer` | List[*str*] | :heavy_minus_sign: | The preferred resource type in the response. | | -| `merchant_account_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the merchant account to use for this request. | default | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `transaction_id` | *str* | :heavy_check_mark: | The ID of the transaction | 7099948d-7286-47e4-aad8-b68f7eb44591 | +| `prefer` | List[*str*] | :heavy_minus_sign: | The preferred resource type in the response. | | +| `merchant_account_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the merchant account to use for this request. | default | +| `idempotency_key` | *OptionalNullable[str]* | :heavy_minus_sign: | A unique key that identifies this request. Providing this header will make this an idempotent request. We recommend using V4 UUIDs, or another random string with enough entropy to avoid collisions. | request-12345 | \ No newline at end of file diff --git a/docs/sdks/transactions/README.md b/docs/sdks/transactions/README.md index 7d14fefe..19aaa453 100644 --- a/docs/sdks/transactions/README.md +++ b/docs/sdks/transactions/README.md @@ -432,16 +432,17 @@ with Gr4vy( ### Parameters -| Parameter | Type | Required | Description | Example | -| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | -| `transaction_id` | *str* | :heavy_check_mark: | The ID of the transaction | 7099948d-7286-47e4-aad8-b68f7eb44591 | -| `prefer` | List[*str*] | :heavy_minus_sign: | The preferred resource type in the response. | | -| `merchant_account_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the merchant account to use for this request. | default | -| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | +| Parameter | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `transaction_id` | *str* | :heavy_check_mark: | The ID of the transaction | 7099948d-7286-47e4-aad8-b68f7eb44591 | +| `prefer` | List[*str*] | :heavy_minus_sign: | The preferred resource type in the response. | | +| `merchant_account_id` | *Optional[str]* | :heavy_minus_sign: | The ID of the merchant account to use for this request. | default | +| `idempotency_key` | *OptionalNullable[str]* | :heavy_minus_sign: | A unique key that identifies this request. Providing this header will make this an idempotent request. We recommend using V4 UUIDs, or another random string with enough entropy to avoid collisions. | request-12345 | +| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. | | ### Response -**[models.ResponseVoidTransaction](../../models/responsevoidtransaction.md)** +**[models.Response200VoidTransaction](../../models/response200voidtransaction.md)** ### Errors diff --git a/pyproject.toml b/pyproject.toml index 6d0e75d9..50d86b33 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "gr4vy" -version = "1.10.20" +version = "1.10.21" 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 576db1b5..82b2671e 100644 --- a/src/gr4vy/_version.py +++ b/src/gr4vy/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "gr4vy" -__version__: str = "1.10.20" +__version__: str = "1.10.21" __openapi_doc_version__: str = "1.0.0" __gen_version__: str = "2.801.2" -__user_agent__: str = "speakeasy-sdk/python 1.10.20 2.801.2 1.0.0 gr4vy" +__user_agent__: str = "speakeasy-sdk/python 1.10.21 2.801.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 70f64a71..066ffecd 100644 --- a/src/gr4vy/models/__init__.py +++ b/src/gr4vy/models/__init__.py @@ -1227,8 +1227,8 @@ ) from .verifycredentials import VerifyCredentials, VerifyCredentialsTypedDict from .void_transactionop import ( - ResponseVoidTransaction, - ResponseVoidTransactionTypedDict, + Response200VoidTransaction, + Response200VoidTransactionTypedDict, VoidTransactionGlobals, VoidTransactionGlobalsTypedDict, VoidTransactionRequest, @@ -2012,12 +2012,12 @@ "RequiredFields1TypedDict", "RequiredFields2", "RequiredFields2TypedDict", + "Response200VoidTransaction", + "Response200VoidTransactionTypedDict", "ResponseCaptureTransaction", "ResponseCaptureTransactionTypedDict", "ResponseData", "ResponseDataTypedDict", - "ResponseVoidTransaction", - "ResponseVoidTransactionTypedDict", "ResumePaymentMethodNetworkTokenGlobals", "ResumePaymentMethodNetworkTokenGlobalsTypedDict", "ResumePaymentMethodNetworkTokenRequest", @@ -3165,8 +3165,8 @@ "VerifyPaymentServiceCredentialsRequestTypedDict": ".verify_payment_service_credentialsop", "VerifyCredentials": ".verifycredentials", "VerifyCredentialsTypedDict": ".verifycredentials", - "ResponseVoidTransaction": ".void_transactionop", - "ResponseVoidTransactionTypedDict": ".void_transactionop", + "Response200VoidTransaction": ".void_transactionop", + "Response200VoidTransactionTypedDict": ".void_transactionop", "VoidTransactionGlobals": ".void_transactionop", "VoidTransactionGlobalsTypedDict": ".void_transactionop", "VoidTransactionRequest": ".void_transactionop", diff --git a/src/gr4vy/models/void_transactionop.py b/src/gr4vy/models/void_transactionop.py index 4ab8c555..aed703cd 100644 --- a/src/gr4vy/models/void_transactionop.py +++ b/src/gr4vy/models/void_transactionop.py @@ -48,6 +48,8 @@ class VoidTransactionRequestTypedDict(TypedDict): r"""The preferred resource type in the response.""" merchant_account_id: NotRequired[str] r"""The ID of the merchant account to use for this request.""" + idempotency_key: NotRequired[Nullable[str]] + r"""A unique key that identifies this request. Providing this header will make this an idempotent request. We recommend using V4 UUIDs, or another random string with enough entropy to avoid collisions.""" class VoidTransactionRequest(BaseModel): @@ -69,10 +71,17 @@ class VoidTransactionRequest(BaseModel): ] = None r"""The ID of the merchant account to use for this request.""" + idempotency_key: Annotated[ + OptionalNullable[str], + pydantic.Field(alias="idempotency-key"), + FieldMetadata(header=HeaderMetadata(style="simple", explode=False)), + ] = UNSET + r"""A unique key that identifies this request. Providing this header will make this an idempotent request. We recommend using V4 UUIDs, or another random string with enough entropy to avoid collisions.""" + @model_serializer(mode="wrap") def serialize_model(self, handler): - optional_fields = set(["prefer", "merchant_account_id"]) - nullable_fields = set(["prefer"]) + optional_fields = set(["prefer", "merchant_account_id", "idempotency-key"]) + nullable_fields = set(["prefer", "idempotency-key"]) serialized = handler(self) m = {} @@ -95,14 +104,14 @@ def serialize_model(self, handler): return m -ResponseVoidTransactionTypedDict = TypeAliasType( - "ResponseVoidTransactionTypedDict", +Response200VoidTransactionTypedDict = TypeAliasType( + "Response200VoidTransactionTypedDict", Union[TransactionVoidTypedDict, TransactionTypedDict], ) r"""Successful Response""" -ResponseVoidTransaction = TypeAliasType( - "ResponseVoidTransaction", Union[TransactionVoid, Transaction] +Response200VoidTransaction = TypeAliasType( + "Response200VoidTransaction", Union[TransactionVoid, Transaction] ) r"""Successful Response""" diff --git a/src/gr4vy/transactions.py b/src/gr4vy/transactions.py index 270adaea..e07d70fa 100644 --- a/src/gr4vy/transactions.py +++ b/src/gr4vy/transactions.py @@ -2389,11 +2389,12 @@ def void( transaction_id: str, prefer: OptionalNullable[List[str]] = UNSET, merchant_account_id: Optional[str] = None, + idempotency_key: OptionalNullable[str] = UNSET, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.ResponseVoidTransaction: + ) -> models.Response200VoidTransaction: r"""Void transaction Voids a previously authorized transaction. If the transaction was not yet successfully authorized, or was already captured, the void will not be processed. This operation releases the hold on the buyer's funds. Captured transactions can be refunded instead. @@ -2401,6 +2402,7 @@ def void( :param transaction_id: The ID of the transaction :param prefer: The preferred resource type in the response. :param merchant_account_id: The ID of the merchant account to use for this request. + :param idempotency_key: A unique key that identifies this request. Providing this header will make this an idempotent request. We recommend using V4 UUIDs, or another random string with enough entropy to avoid collisions. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -2420,6 +2422,7 @@ def void( transaction_id=transaction_id, prefer=prefer, merchant_account_id=merchant_account_id, + idempotency_key=idempotency_key, ) req = self._build_request( @@ -2482,7 +2485,7 @@ def void( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.ResponseVoidTransaction, http_res) + return unmarshal_json_response(models.Response200VoidTransaction, http_res) if utils.match_response(http_res, "400", "application/json"): response_data = unmarshal_json_response(errors.Error400Data, http_res) raise errors.Error400(response_data, http_res) @@ -2536,11 +2539,12 @@ async def void_async( transaction_id: str, prefer: OptionalNullable[List[str]] = UNSET, merchant_account_id: Optional[str] = None, + idempotency_key: OptionalNullable[str] = UNSET, retries: OptionalNullable[utils.RetryConfig] = UNSET, server_url: Optional[str] = None, timeout_ms: Optional[int] = None, http_headers: Optional[Mapping[str, str]] = None, - ) -> models.ResponseVoidTransaction: + ) -> models.Response200VoidTransaction: r"""Void transaction Voids a previously authorized transaction. If the transaction was not yet successfully authorized, or was already captured, the void will not be processed. This operation releases the hold on the buyer's funds. Captured transactions can be refunded instead. @@ -2548,6 +2552,7 @@ async def void_async( :param transaction_id: The ID of the transaction :param prefer: The preferred resource type in the response. :param merchant_account_id: The ID of the merchant account to use for this request. + :param idempotency_key: A unique key that identifies this request. Providing this header will make this an idempotent request. We recommend using V4 UUIDs, or another random string with enough entropy to avoid collisions. :param retries: Override the default retry configuration for this method :param server_url: Override the default server URL for this method :param timeout_ms: Override the default request timeout configuration for this method in milliseconds @@ -2567,6 +2572,7 @@ async def void_async( transaction_id=transaction_id, prefer=prefer, merchant_account_id=merchant_account_id, + idempotency_key=idempotency_key, ) req = self._build_request_async( @@ -2629,7 +2635,7 @@ async def void_async( response_data: Any = None if utils.match_response(http_res, "200", "application/json"): - return unmarshal_json_response(models.ResponseVoidTransaction, http_res) + return unmarshal_json_response(models.Response200VoidTransaction, http_res) if utils.match_response(http_res, "400", "application/json"): response_data = unmarshal_json_response(errors.Error400Data, http_res) raise errors.Error400(response_data, http_res)