From a5cc33e4e5988dc384313a34f6e3365b31d22369 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Thu, 5 Nov 2026 09:20:27 +0000 Subject: [PATCH] ## Java SDK Changes: * `gr4vy.paymentMethods.create()`: * `requestBody.union(CardPaymentMethodCreate).preferredScheme` **Added** * `gr4vy.transactions.create()`: * `request.transactionCreate.paymentMethod` **Changed** --- .speakeasy/gen.lock | 85 +++++++---- .speakeasy/gen.yaml | 2 +- .speakeasy/workflow.lock | 10 +- README.md | 4 +- RELEASES.md | 12 +- .../components/CardPaymentMethodCreate.md | 21 +-- .../CardPaymentMethodCreatePreferredScheme.md | 24 +++ .../CardWithUrlPaymentMethodCreate.md | 23 +-- ...thUrlPaymentMethodCreatePreferredScheme.md | 24 +++ ...eckoutSessionWithUrlPaymentMethodCreate.md | 17 ++- ...thUrlPaymentMethodCreatePreferredScheme.md | 24 +++ .../components/TokenPaymentMethodCreate.md | 13 +- ...TokenPaymentMethodCreatePreferredScheme.md | 24 +++ gradle.properties | 2 +- .../java/com/gr4vy/sdk/SDKConfiguration.java | 2 +- .../components/CardPaymentMethodCreate.java | 72 ++++++++- ...ardPaymentMethodCreatePreferredScheme.java | 143 ++++++++++++++++++ .../CardWithUrlPaymentMethodCreate.java | 67 +++++++- ...UrlPaymentMethodCreatePreferredScheme.java | 143 ++++++++++++++++++ ...koutSessionWithUrlPaymentMethodCreate.java | 74 ++++++++- ...UrlPaymentMethodCreatePreferredScheme.java | 143 ++++++++++++++++++ .../components/TokenPaymentMethodCreate.java | 69 ++++++++- ...kenPaymentMethodCreatePreferredScheme.java | 143 ++++++++++++++++++ 23 files changed, 1051 insertions(+), 90 deletions(-) create mode 100644 docs/models/components/CardPaymentMethodCreatePreferredScheme.md create mode 100644 docs/models/components/CardWithUrlPaymentMethodCreatePreferredScheme.md create mode 100644 docs/models/components/CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme.md create mode 100644 docs/models/components/TokenPaymentMethodCreatePreferredScheme.md create mode 100644 src/main/java/com/gr4vy/sdk/models/components/CardPaymentMethodCreatePreferredScheme.java create mode 100644 src/main/java/com/gr4vy/sdk/models/components/CardWithUrlPaymentMethodCreatePreferredScheme.java create mode 100644 src/main/java/com/gr4vy/sdk/models/components/CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme.java create mode 100644 src/main/java/com/gr4vy/sdk/models/components/TokenPaymentMethodCreatePreferredScheme.java diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index cc93f2ed..dd9ba5d8 100644 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,19 +1,19 @@ lockVersion: 2.0.0 id: 5bbaa3a9-baa0-471b-ba6a-13fd88e8c119 management: - docChecksum: aae1ebc9319aa6c44c24c02439160ed0 + docChecksum: ece5a8d17aca31190508b3f7034d0dfc docVersion: 1.0.0 speakeasyVersion: 1.806.0 generationVersion: 2.956.1 - releaseVersion: 2.19.28 - configChecksum: a4ca22fc6636a44ee435c332a286a7cc + releaseVersion: 2.19.29 + configChecksum: a944fd7bb3d7c2b1d3ba773b697237eb repoURL: https://github.com/gr4vy/gr4vy-java.git installationURL: https://github.com/gr4vy/gr4vy-java published: true persistentEdits: - generation_id: 0753513f-a28f-4f09-9128-730486582efd - pristine_commit_hash: 9eb28c90eb256cee50b35b8cbdb150e86613b608 - pristine_tree_hash: 9826f3ce24bc4f9a16f00541a7763d3e622c0deb + generation_id: 8549bbe1-f9fd-468b-8cce-0d6fbcdf0066 + pristine_commit_hash: b7d236d70c77665cd47573ef11490a7c4ee0e61f + pristine_tree_hash: 34e7180c568200fe2318906565da43e97d4c28e1 features: java: additionalDependencies: 0.1.0 @@ -279,8 +279,12 @@ trackedFiles: pristine_git_object: 66a3523543e47f679a013c143e85447b73e66cb5 docs/models/components/CardPaymentMethodCreate.md: id: 7b840bcfe9f6 - last_write_checksum: sha1:52818786b8c7562db2790784dbdb66db93c880e7 - pristine_git_object: 240f1604a2b73e3acddecb1b92d2ed70baf60b9e + last_write_checksum: sha1:2a7b2d56f9a4ebb42a04f513e5e52f9800d248ba + pristine_git_object: c5f7653aa9b2d5118858655f3f12c2e6bd1134e1 + docs/models/components/CardPaymentMethodCreatePreferredScheme.md: + id: 72ac4924f29f + last_write_checksum: sha1:c97d2f9f47b4b6449bc50f7e7c871ea15f31490d + pristine_git_object: 2ccb177b851f3efdd6d7df1f5941d05cac90df29 docs/models/components/CardScheme.md: id: 41cc326587c2 last_write_checksum: sha1:7607d129bb21364a0287b6fde659a6850b6abba8 @@ -303,8 +307,12 @@ trackedFiles: pristine_git_object: 75695ba27df88b409a76ece54dd94b317fb420f5 docs/models/components/CardWithUrlPaymentMethodCreate.md: id: 3a20f944c2c0 - last_write_checksum: sha1:a2f49563824ff9afac01dcf204a6eb9ff06440af - pristine_git_object: 3af440c48c8745ed37c46cf7c9fbb221be98594b + last_write_checksum: sha1:6aeab145f34e1685a23bc9959d460824d3d28c8b + pristine_git_object: ef25d010a57af6650444c6c56ab73021983a5ec7 + docs/models/components/CardWithUrlPaymentMethodCreatePreferredScheme.md: + id: a1441f006b59 + last_write_checksum: sha1:b7f1cc2d86a82637837a78eada26b6a7fd7e5bfc + pristine_git_object: 755449943cf1b4d9fff517ce8678e80d46716a29 docs/models/components/CartItem.md: id: 7488a245df87 last_write_checksum: sha1:df5da6bd528d188479899a46da4305699dd6e05c @@ -343,8 +351,12 @@ trackedFiles: pristine_git_object: 72a51dd53c6ce3c398ba9cfeffd7215374296f0e docs/models/components/CheckoutSessionWithUrlPaymentMethodCreate.md: id: 76b15f22211f - last_write_checksum: sha1:45246f6a1351f2c5cf099869a3e312b075389c5b - pristine_git_object: 20b9033a65de10a2777ec417c4cfa60eeecd10bb + last_write_checksum: sha1:54939b543a713a96b42b126d93008bae797a37a2 + pristine_git_object: e67f2d74ecf111c751545326b913e00f6b7c2b69 + docs/models/components/CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme.md: + id: 51cda603354d + last_write_checksum: sha1:0c79cfd4d0b54934f1336668b3735553a37110da + pristine_git_object: 22d49543acc4189871d26a8125287fbb4a282df9 docs/models/components/ClickToPayFPANPaymentMethodCreate.md: id: f69d49bd2878 last_write_checksum: sha1:2c215825a870cef30ce6d59580565be591b8eb9f @@ -1499,8 +1511,12 @@ trackedFiles: pristine_git_object: 5949d6a8639fba5f891c61a5eff830fdcbe2e1e9 docs/models/components/TokenPaymentMethodCreate.md: id: 17888efae41e - last_write_checksum: sha1:408d47f303407bf76a1d531b1bf8a12842bbd0b9 - pristine_git_object: ce01164765781161afc5da5ac9f8e74761506636 + last_write_checksum: sha1:c74462cd04fd518c287574649423da0e8472aee1 + pristine_git_object: 8bc88c3de29020575c22954a5db6da64369b6636 + docs/models/components/TokenPaymentMethodCreatePreferredScheme.md: + id: 58bafa3bd86b + last_write_checksum: sha1:f7fff029265767939724b63f65237ea7afb01ba4 + pristine_git_object: f5826bb23eaf7a47668deb7051d3a2d1b8e10306 docs/models/components/Tracking.md: id: 34646021f531 last_write_checksum: sha1:826d787192800337be4845ba18f6faf2aa331284 @@ -2891,8 +2907,8 @@ trackedFiles: pristine_git_object: 15c4e4642f204ccb312d8814155b69e153b4e19b gradle.properties: id: 2afbb999f001 - last_write_checksum: sha1:901edafca846f473cdf854a94c1815da3901a471 - pristine_git_object: 2ab3217cbedf224c66f4c1fdb16ecd74218bb081 + last_write_checksum: sha1:3d65bd4de2caa417a61ced845b9d456dae4c2d68 + pristine_git_object: 26fc948d8599e432568c80f4d5c8d8058aaa3458 gradle/wrapper/gradle-wrapper.jar: id: ec27dae6e852 last_write_checksum: sha1:f725fb1467084142d74fd7cd8eab691ab3442611 @@ -3235,8 +3251,8 @@ trackedFiles: pristine_git_object: b50475cc7f6041d63c4569256e4ff1850b20d30b src/main/java/com/gr4vy/sdk/SDKConfiguration.java: id: 73a7edeaca45 - last_write_checksum: sha1:28e753a34c4420a3611f83b1ea3dc79cdc18d485 - pristine_git_object: 1d0448249f4d6a867c0963ae8a48ec7d140b1dd5 + last_write_checksum: sha1:27ce1f3cf39c6d9e95c1f92f3a2e808ebd7dc4d5 + pristine_git_object: adeeed026783af89d99089f5c97669ef20b66fa4 src/main/java/com/gr4vy/sdk/SecuritySource.java: id: 1b6add6b9b50 last_write_checksum: sha1:2f365cc823c6243188e83f4df618c9737fcee8bd @@ -3499,8 +3515,12 @@ trackedFiles: pristine_git_object: c89f44416a4506bd9c67962794104223777d7e2e src/main/java/com/gr4vy/sdk/models/components/CardPaymentMethodCreate.java: id: 3ae89e26628b - last_write_checksum: sha1:8bd82d95ca17410f55f7bc1ff44de5c17fed8520 - pristine_git_object: 504d71e5e3fc4a1c93d98041345a01933cdca0d8 + last_write_checksum: sha1:cfc32114f338b342441dd0fdc09c92dd9b3b406c + pristine_git_object: b8ef2e94a3780086afddcbbb53e126ee0cd2da5a + src/main/java/com/gr4vy/sdk/models/components/CardPaymentMethodCreatePreferredScheme.java: + id: 479615d855b3 + last_write_checksum: sha1:983ec3e8763865ed966f8ec4f6a57e883d51d93a + pristine_git_object: bd08730cc09c2697124681ad759db96646d73054 src/main/java/com/gr4vy/sdk/models/components/CardScheme.java: id: 2131295a05b7 last_write_checksum: sha1:2e0adbba5787ee8fb370d155c00b1bf65e2c4847 @@ -3523,8 +3543,12 @@ trackedFiles: pristine_git_object: 97205d92307cbbdfaa584240a7104ca39a3e30f9 src/main/java/com/gr4vy/sdk/models/components/CardWithUrlPaymentMethodCreate.java: id: eef12496cc2d - last_write_checksum: sha1:e8387d9b12e0820f8310905a6d97addef64124f5 - pristine_git_object: 916fc1ec1156dd14308ed27405f877f8185d7794 + last_write_checksum: sha1:b63177a1637484cc578a174b959fd0cc04e743c0 + pristine_git_object: a415351f2a40d2f344e04551b3de794f4b14b32f + src/main/java/com/gr4vy/sdk/models/components/CardWithUrlPaymentMethodCreatePreferredScheme.java: + id: b745574e691f + last_write_checksum: sha1:e393741194ffe38763fc3cdc372940ed0fed3373 + pristine_git_object: e6dbb14e4487a02b1665f9d91b5c256447ab3521 src/main/java/com/gr4vy/sdk/models/components/CartItem.java: id: bb251abb2fcb last_write_checksum: sha1:e114fa4f5d2a2b5109ca7b239ddc2b9c6c952e9b @@ -3563,8 +3587,12 @@ trackedFiles: pristine_git_object: 5baebe6b674b188a7e61055622fd8b1f245c9fd1 src/main/java/com/gr4vy/sdk/models/components/CheckoutSessionWithUrlPaymentMethodCreate.java: id: e4a7e837a5d7 - last_write_checksum: sha1:e7122abba5d2fe979d721891ad6aa8db239a8bcb - pristine_git_object: f44058e8b496ecdb9f1a18b5310c5355379d0cfc + last_write_checksum: sha1:d46663234e7601c55aa5245fdf6d486e6ed58903 + pristine_git_object: 661c4edf0177c8a1e32f5d863cc148275c944ead + src/main/java/com/gr4vy/sdk/models/components/CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme.java: + id: 21171080a8cd + last_write_checksum: sha1:eef70dc39b70bee6a9337497b3bdc9330e3671b5 + pristine_git_object: 0741219bea8bc842d5b13dbaaebd4fe73bbc242a src/main/java/com/gr4vy/sdk/models/components/ClickToPayFPANPaymentMethodCreate.java: id: 1aca3d4bfeb8 last_write_checksum: sha1:b1569679ee42192359919fb2bfc2b546059b1736 @@ -4723,8 +4751,12 @@ trackedFiles: pristine_git_object: 6841d2f1796e51040788cadbb5d301e8e1638570 src/main/java/com/gr4vy/sdk/models/components/TokenPaymentMethodCreate.java: id: da3cb8a0ef9e - last_write_checksum: sha1:b56bc638ab263b757fd56dd17327cc6e8aed06e1 - pristine_git_object: bb01652754c22faae31a1012053c577c8d9720c2 + last_write_checksum: sha1:d75434e04d9c7cbd172897bf641ef607252c211f + pristine_git_object: a8ad30969e9eb3d4873bffc77cd423660fab2b69 + src/main/java/com/gr4vy/sdk/models/components/TokenPaymentMethodCreatePreferredScheme.java: + id: 8b8951b2adf8 + last_write_checksum: sha1:3bfdaf963eddbaa776843be627b3ea132b1cd979 + pristine_git_object: 9f4c6f97b59b9cc7a9a1ca28cc999e0252ee43c2 src/main/java/com/gr4vy/sdk/models/components/Tracking.java: id: f2d0603f72c9 last_write_checksum: sha1:e3a9989c645fb6b54a16628f66ceb3e2b7650a80 @@ -12499,6 +12531,7 @@ examples: application/json: {"type": "error", "code": "gateway_timeout", "status": 504, "message": "Request could not be processed"} examplesVersion: 1.0.2 generatedTests: {} +releaseNotes: "## Java SDK Changes:\n* `gr4vy.paymentMethods.create()`: \n * `requestBody.union(CardPaymentMethodCreate).preferredScheme` **Added**\n* `gr4vy.transactions.create()`: \n * `request.transactionCreate.paymentMethod` **Changed**\n" generatedFiles: - .gitattributes - USAGE.md diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index 45d0cc21..68dd6ab1 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -31,7 +31,7 @@ generation: generateNewTests: false skipResponseBodyAssertions: false java: - version: 2.19.28 + version: 2.19.29 additionalDependencies: - testImplementation:org.junit.jupiter:junit-jupiter:5.10.0 - implementation:com.auth0:java-jwt:4.6.2 diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 37d8e499..37c84026 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -9,8 +9,8 @@ sources: - 1.0.0 openapi: sourceNamespace: openapi - sourceRevisionDigest: sha256:f9f64a44331b388ab63caae6bead7e2fd02eefa5ea5b479a0b7006791c0e2e7f - sourceBlobDigest: sha256:75d00eb3f560dbdb965176d8e8e42ce20b431ce36a6ff2a90373043ac0a6b4a9 + sourceRevisionDigest: sha256:d12fff9a98d3f2890e66395d42a915220f67c41aa38417d8ac5dbc29c3b8279d + sourceBlobDigest: sha256:b8c50e0f147d450a5937a32f4da85d3968785e69e600aa978d9fc41823e14bab tags: - latest - 1.0.0 @@ -25,10 +25,10 @@ targets: java: source: openapi sourceNamespace: openapi - sourceRevisionDigest: sha256:f9f64a44331b388ab63caae6bead7e2fd02eefa5ea5b479a0b7006791c0e2e7f - sourceBlobDigest: sha256:75d00eb3f560dbdb965176d8e8e42ce20b431ce36a6ff2a90373043ac0a6b4a9 + sourceRevisionDigest: sha256:d12fff9a98d3f2890e66395d42a915220f67c41aa38417d8ac5dbc29c3b8279d + sourceBlobDigest: sha256:b8c50e0f147d450a5937a32f4da85d3968785e69e600aa978d9fc41823e14bab codeSamplesNamespace: openapi-java-code-samples - codeSamplesRevisionDigest: sha256:ce9ff630676761358a04c517edd64fc3578dfc38519c9e2dba3effd340b429b9 + codeSamplesRevisionDigest: sha256:7cbc464b5764d3d4e1af5736edb7ae26f4567fdb5fcfe11b9f6e4512471b9923 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/README.md b/README.md index 958a5515..eb4b8787 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,7 @@ The samples below show how a published SDK artifact is used: Gradle: ```groovy -implementation 'com.gr4vy:sdk:2.19.28' +implementation 'com.gr4vy:sdk:2.19.29' ``` Maven: @@ -67,7 +67,7 @@ Maven: com.gr4vy sdk - 2.19.28 + 2.19.29 ``` diff --git a/RELEASES.md b/RELEASES.md index 4885972b..01ee446d 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -2448,4 +2448,14 @@ Based on: ### Generated - [java v2.19.28] . ### Releases -- [Maven Central v2.19.28] https://central.sonatype.com/artifact/com.gr4vy/sdk/2.19.28 - . \ No newline at end of file +- [Maven Central v2.19.28] https://central.sonatype.com/artifact/com.gr4vy/sdk/2.19.28 - . + +## 2026-11-05 09:18:10 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.806.0 (2.956.1) https://github.com/speakeasy-api/speakeasy +### Generated +- [java v2.19.29] . +### Releases +- [Maven Central v2.19.29] https://central.sonatype.com/artifact/com.gr4vy/sdk/2.19.29 - . \ No newline at end of file diff --git a/docs/models/components/CardPaymentMethodCreate.md b/docs/models/components/CardPaymentMethodCreate.md index 240f1604..c5f7653a 100644 --- a/docs/models/components/CardPaymentMethodCreate.md +++ b/docs/models/components/CardPaymentMethodCreate.md @@ -3,13 +3,14 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | -| `expirationDate` | *String* | :heavy_check_mark: | The expiration date of the card, formatted `MM/YY`. | 12/30 | -| `number` | *String* | :heavy_check_mark: | The 13-19 digit number for this card. | 4111111111111111 | -| `buyerExternalIdentifier` | *JsonNullable\* | :heavy_minus_sign: | The external identifier of the buyer to attach the method to. | buyer-12345 | -| `buyerId` | *JsonNullable\* | :heavy_minus_sign: | The ID of the buyer to attach the method to. | fe26475d-ec3e-4884-9553-f7356683f7f9 | -| `externalIdentifier` | *JsonNullable\* | :heavy_minus_sign: | The merchant reference for this payment method. | payment-method-12345 | -| `cardType` | [JsonNullable\](../../models/components/CardType.md) | :heavy_minus_sign: | The type of the card used | | -| `method` | *Optional\* | :heavy_minus_sign: | Always `card` | card | -| `securityCode` | *JsonNullable\* | :heavy_minus_sign: | The 3 or 4 digit security code often found on the card. This often referred to as the CVV or CVD. | 123 | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- | +| `expirationDate` | *String* | :heavy_check_mark: | The expiration date of the card, formatted `MM/YY`. | 12/30 | +| `number` | *String* | :heavy_check_mark: | The 13-19 digit number for this card. | 4111111111111111 | +| `buyerExternalIdentifier` | *JsonNullable\* | :heavy_minus_sign: | The external identifier of the buyer to attach the method to. | buyer-12345 | +| `buyerId` | *JsonNullable\* | :heavy_minus_sign: | The ID of the buyer to attach the method to. | fe26475d-ec3e-4884-9553-f7356683f7f9 | +| `externalIdentifier` | *JsonNullable\* | :heavy_minus_sign: | The merchant reference for this payment method. | payment-method-12345 | +| `cardType` | [JsonNullable\](../../models/components/CardType.md) | :heavy_minus_sign: | The type of the card used | | +| `method` | *Optional\* | :heavy_minus_sign: | Always `card` | card | +| `securityCode` | *JsonNullable\* | :heavy_minus_sign: | The 3 or 4 digit security code often found on the card. This often referred to as the CVV or CVD. | 123 | +| `preferredScheme` | [JsonNullable\](../../models/components/CardPaymentMethodCreatePreferredScheme.md) | :heavy_minus_sign: | The preferred card scheme to use when processing a co-badged card. | visa | \ No newline at end of file diff --git a/docs/models/components/CardPaymentMethodCreatePreferredScheme.md b/docs/models/components/CardPaymentMethodCreatePreferredScheme.md new file mode 100644 index 00000000..2ccb177b --- /dev/null +++ b/docs/models/components/CardPaymentMethodCreatePreferredScheme.md @@ -0,0 +1,24 @@ +# CardPaymentMethodCreatePreferredScheme + +## Example Usage + +```java +import com.gr4vy.sdk.models.components.CardPaymentMethodCreatePreferredScheme; + +CardPaymentMethodCreatePreferredScheme value = CardPaymentMethodCreatePreferredScheme.BANCONTACT; + +// Open enum: use .of() to create instances from custom string values +CardPaymentMethodCreatePreferredScheme custom = CardPaymentMethodCreatePreferredScheme.of("custom_value"); +``` + + +## Values + +| Name | Value | +| ------------------ | ------------------ | +| `BANCONTACT` | bancontact | +| `CARTE_BANCAIRE` | carte-bancaire | +| `DANKORT` | dankort | +| `MASTERCARD` | mastercard | +| `VISA` | visa | +| `EFTPOS_AUSTRALIA` | eftpos-australia | \ No newline at end of file diff --git a/docs/models/components/CardWithUrlPaymentMethodCreate.md b/docs/models/components/CardWithUrlPaymentMethodCreate.md index 3af440c4..ef25d010 100644 --- a/docs/models/components/CardWithUrlPaymentMethodCreate.md +++ b/docs/models/components/CardWithUrlPaymentMethodCreate.md @@ -5,14 +5,15 @@ Create a transaction with raw card details ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | -| `expirationDate` | *String* | :heavy_check_mark: | The expiration date of the card, formatted `MM/YY`. | 12/30 | -| `number` | *String* | :heavy_check_mark: | The 13-19 digit number for this card. | 4111111111111111 | -| `buyerExternalIdentifier` | *JsonNullable\* | :heavy_minus_sign: | The external identifier of the buyer to attach the method to. | buyer-12345 | -| `buyerId` | *JsonNullable\* | :heavy_minus_sign: | The ID of the buyer to attach the method to. | fe26475d-ec3e-4884-9553-f7356683f7f9 | -| `externalIdentifier` | *JsonNullable\* | :heavy_minus_sign: | The merchant reference for this payment method. | payment-method-12345 | -| `cardType` | [JsonNullable\](../../models/components/CardType.md) | :heavy_minus_sign: | The type of the card used | | -| `method` | *Optional\* | :heavy_minus_sign: | Always `card` | card | -| `securityCode` | *JsonNullable\* | :heavy_minus_sign: | The 3 or 4 digit security code often found on the card. This often referred to as the CVV or CVD. | 123 | -| `redirectUrl` | *JsonNullable\* | :heavy_minus_sign: | The URL to redirect a user back to after the complete 3DS in browser. | https://example.com | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | +| `expirationDate` | *String* | :heavy_check_mark: | The expiration date of the card, formatted `MM/YY`. | 12/30 | +| `number` | *String* | :heavy_check_mark: | The 13-19 digit number for this card. | 4111111111111111 | +| `buyerExternalIdentifier` | *JsonNullable\* | :heavy_minus_sign: | The external identifier of the buyer to attach the method to. | buyer-12345 | +| `buyerId` | *JsonNullable\* | :heavy_minus_sign: | The ID of the buyer to attach the method to. | fe26475d-ec3e-4884-9553-f7356683f7f9 | +| `externalIdentifier` | *JsonNullable\* | :heavy_minus_sign: | The merchant reference for this payment method. | payment-method-12345 | +| `cardType` | [JsonNullable\](../../models/components/CardType.md) | :heavy_minus_sign: | The type of the card used | | +| `method` | *Optional\* | :heavy_minus_sign: | Always `card` | card | +| `securityCode` | *JsonNullable\* | :heavy_minus_sign: | The 3 or 4 digit security code often found on the card. This often referred to as the CVV or CVD. | 123 | +| `preferredScheme` | [JsonNullable\](../../models/components/CardWithUrlPaymentMethodCreatePreferredScheme.md) | :heavy_minus_sign: | The preferred card scheme to use when processing a co-badged card. | visa | +| `redirectUrl` | *JsonNullable\* | :heavy_minus_sign: | The URL to redirect a user back to after the complete 3DS in browser. | https://example.com | \ No newline at end of file diff --git a/docs/models/components/CardWithUrlPaymentMethodCreatePreferredScheme.md b/docs/models/components/CardWithUrlPaymentMethodCreatePreferredScheme.md new file mode 100644 index 00000000..75544994 --- /dev/null +++ b/docs/models/components/CardWithUrlPaymentMethodCreatePreferredScheme.md @@ -0,0 +1,24 @@ +# CardWithUrlPaymentMethodCreatePreferredScheme + +## Example Usage + +```java +import com.gr4vy.sdk.models.components.CardWithUrlPaymentMethodCreatePreferredScheme; + +CardWithUrlPaymentMethodCreatePreferredScheme value = CardWithUrlPaymentMethodCreatePreferredScheme.BANCONTACT; + +// Open enum: use .of() to create instances from custom string values +CardWithUrlPaymentMethodCreatePreferredScheme custom = CardWithUrlPaymentMethodCreatePreferredScheme.of("custom_value"); +``` + + +## Values + +| Name | Value | +| ------------------ | ------------------ | +| `BANCONTACT` | bancontact | +| `CARTE_BANCAIRE` | carte-bancaire | +| `DANKORT` | dankort | +| `MASTERCARD` | mastercard | +| `VISA` | visa | +| `EFTPOS_AUSTRALIA` | eftpos-australia | \ No newline at end of file diff --git a/docs/models/components/CheckoutSessionWithUrlPaymentMethodCreate.md b/docs/models/components/CheckoutSessionWithUrlPaymentMethodCreate.md index 20b9033a..e67f2d74 100644 --- a/docs/models/components/CheckoutSessionWithUrlPaymentMethodCreate.md +++ b/docs/models/components/CheckoutSessionWithUrlPaymentMethodCreate.md @@ -5,11 +5,12 @@ Create a payment with a checkout session ID (and an optional URL for 3DS). ## Fields -| Field | Type | Required | Description | Example | -| --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | -| `method` | *Optional\* | :heavy_minus_sign: | Always `checkout-session` | checkout-session | -| `id` | *String* | :heavy_check_mark: | The ID for the checkout session. | 4137b1cf-39ac-42a8-bad6-1c680d5dab6b | -| `externalIdentifier` | *JsonNullable\* | :heavy_minus_sign: | The merchant reference that can be used to match the payment method against your own records. | card-12345 | -| `buyerId` | *JsonNullable\* | :heavy_minus_sign: | The `id` of a stored buyer to use Use this instead of the `buyer_external_identifier`. | fe26475d-ec3e-4884-9553-f7356683f7f9 | -| `buyerExternalIdentifier` | *JsonNullable\* | :heavy_minus_sign: | The `external_identifier` of a stored buyer to use. Use this instead of the `buyer_id`. | buyer-12345 | -| `redirectUrl` | *JsonNullable\* | :heavy_minus_sign: | The URL to redirect a user back to after the complete 3DS in browser. | https://example.com | \ No newline at end of file +| Field | Type | Required | Description | Example | +| -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `method` | *Optional\* | :heavy_minus_sign: | Always `checkout-session` | checkout-session | +| `id` | *String* | :heavy_check_mark: | The ID for the checkout session. | 4137b1cf-39ac-42a8-bad6-1c680d5dab6b | +| `externalIdentifier` | *JsonNullable\* | :heavy_minus_sign: | The merchant reference that can be used to match the payment method against your own records. | card-12345 | +| `buyerId` | *JsonNullable\* | :heavy_minus_sign: | The `id` of a stored buyer to use Use this instead of the `buyer_external_identifier`. | fe26475d-ec3e-4884-9553-f7356683f7f9 | +| `buyerExternalIdentifier` | *JsonNullable\* | :heavy_minus_sign: | The `external_identifier` of a stored buyer to use. Use this instead of the `buyer_id`. | buyer-12345 | +| `redirectUrl` | *JsonNullable\* | :heavy_minus_sign: | The URL to redirect a user back to after the complete 3DS in browser. | https://example.com | +| `preferredScheme` | [JsonNullable\](../../models/components/CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme.md) | :heavy_minus_sign: | The preferred card scheme to use when processing a co-badged card. | visa | \ No newline at end of file diff --git a/docs/models/components/CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme.md b/docs/models/components/CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme.md new file mode 100644 index 00000000..22d49543 --- /dev/null +++ b/docs/models/components/CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme.md @@ -0,0 +1,24 @@ +# CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme + +## Example Usage + +```java +import com.gr4vy.sdk.models.components.CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme; + +CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme value = CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme.BANCONTACT; + +// Open enum: use .of() to create instances from custom string values +CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme custom = CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme.of("custom_value"); +``` + + +## Values + +| Name | Value | +| ------------------ | ------------------ | +| `BANCONTACT` | bancontact | +| `CARTE_BANCAIRE` | carte-bancaire | +| `DANKORT` | dankort | +| `MASTERCARD` | mastercard | +| `VISA` | visa | +| `EFTPOS_AUSTRALIA` | eftpos-australia | \ No newline at end of file diff --git a/docs/models/components/TokenPaymentMethodCreate.md b/docs/models/components/TokenPaymentMethodCreate.md index ce011647..8bc88c3d 100644 --- a/docs/models/components/TokenPaymentMethodCreate.md +++ b/docs/models/components/TokenPaymentMethodCreate.md @@ -5,9 +5,10 @@ Create a transaction with the ID (token) of a stored payment method (and an opti ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | -| `id` | *String* | :heavy_check_mark: | The ID for the payment method. | ef9496d8-53a5-4aad-8ca2-00eb68334389 | -| `method` | *Optional\* | :heavy_minus_sign: | Always `id`. | id | -| `securityCode` | *JsonNullable\* | :heavy_minus_sign: | The 3 or 4 digit security code often found on the card. This often referred to as the CVV or CVD. | 123 | -| `redirectUrl` | *JsonNullable\* | :heavy_minus_sign: | The URL to redirect a user back to after they approve the transaction in the browser. | https://example.com | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | +| `id` | *String* | :heavy_check_mark: | The ID for the payment method. | ef9496d8-53a5-4aad-8ca2-00eb68334389 | +| `method` | *Optional\* | :heavy_minus_sign: | Always `id`. | id | +| `securityCode` | *JsonNullable\* | :heavy_minus_sign: | The 3 or 4 digit security code often found on the card. This often referred to as the CVV or CVD. | 123 | +| `preferredScheme` | [JsonNullable\](../../models/components/TokenPaymentMethodCreatePreferredScheme.md) | :heavy_minus_sign: | The preferred card scheme to use when processing a co-badged card. | visa | +| `redirectUrl` | *JsonNullable\* | :heavy_minus_sign: | The URL to redirect a user back to after they approve the transaction in the browser. | https://example.com | \ No newline at end of file diff --git a/docs/models/components/TokenPaymentMethodCreatePreferredScheme.md b/docs/models/components/TokenPaymentMethodCreatePreferredScheme.md new file mode 100644 index 00000000..f5826bb2 --- /dev/null +++ b/docs/models/components/TokenPaymentMethodCreatePreferredScheme.md @@ -0,0 +1,24 @@ +# TokenPaymentMethodCreatePreferredScheme + +## Example Usage + +```java +import com.gr4vy.sdk.models.components.TokenPaymentMethodCreatePreferredScheme; + +TokenPaymentMethodCreatePreferredScheme value = TokenPaymentMethodCreatePreferredScheme.BANCONTACT; + +// Open enum: use .of() to create instances from custom string values +TokenPaymentMethodCreatePreferredScheme custom = TokenPaymentMethodCreatePreferredScheme.of("custom_value"); +``` + + +## Values + +| Name | Value | +| ------------------ | ------------------ | +| `BANCONTACT` | bancontact | +| `CARTE_BANCAIRE` | carte-bancaire | +| `DANKORT` | dankort | +| `MASTERCARD` | mastercard | +| `VISA` | visa | +| `EFTPOS_AUSTRALIA` | eftpos-australia | \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index 2ab3217c..26fc948d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ groupId=com.gr4vy artifactId=sdk -version=2.19.28 +version=2.19.29 org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g diff --git a/src/main/java/com/gr4vy/sdk/SDKConfiguration.java b/src/main/java/com/gr4vy/sdk/SDKConfiguration.java index 1d044824..adeeed02 100644 --- a/src/main/java/com/gr4vy/sdk/SDKConfiguration.java +++ b/src/main/java/com/gr4vy/sdk/SDKConfiguration.java @@ -22,7 +22,7 @@ public class SDKConfiguration { private static final String LANGUAGE = "java"; public static final String OPENAPI_DOC_VERSION = "1.0.0"; - public static final String SDK_VERSION = "2.19.28"; + public static final String SDK_VERSION = "2.19.29"; public static final String GEN_VERSION = "2.956.1"; private static final String BASE_PACKAGE = "com.gr4vy.sdk"; public static final String USER_AGENT = diff --git a/src/main/java/com/gr4vy/sdk/models/components/CardPaymentMethodCreate.java b/src/main/java/com/gr4vy/sdk/models/components/CardPaymentMethodCreate.java index 504d71e5..b8ef2e94 100644 --- a/src/main/java/com/gr4vy/sdk/models/components/CardPaymentMethodCreate.java +++ b/src/main/java/com/gr4vy/sdk/models/components/CardPaymentMethodCreate.java @@ -73,6 +73,13 @@ public class CardPaymentMethodCreate { @JsonProperty("security_code") private JsonNullable securityCode; + /** + * The preferred card scheme to use when processing a co-badged card. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("preferred_scheme") + private JsonNullable preferredScheme; + @JsonCreator public CardPaymentMethodCreate( @JsonProperty("expiration_date") String expirationDate, @@ -81,7 +88,8 @@ public CardPaymentMethodCreate( @JsonProperty("buyer_id") JsonNullable buyerId, @JsonProperty("external_identifier") JsonNullable externalIdentifier, @JsonProperty("card_type") JsonNullable cardType, - @JsonProperty("security_code") JsonNullable securityCode) { + @JsonProperty("security_code") JsonNullable securityCode, + @JsonProperty("preferred_scheme") JsonNullable preferredScheme) { Utils.checkNotNull(expirationDate, "expirationDate"); Utils.checkNotNull(number, "number"); Utils.checkNotNull(buyerExternalIdentifier, "buyerExternalIdentifier"); @@ -89,6 +97,7 @@ public CardPaymentMethodCreate( Utils.checkNotNull(externalIdentifier, "externalIdentifier"); Utils.checkNotNull(cardType, "cardType"); Utils.checkNotNull(securityCode, "securityCode"); + Utils.checkNotNull(preferredScheme, "preferredScheme"); this.expirationDate = expirationDate; this.number = number; this.buyerExternalIdentifier = buyerExternalIdentifier; @@ -97,6 +106,7 @@ public CardPaymentMethodCreate( this.cardType = cardType; this.method = Builder._SINGLETON_VALUE_Method.value(); this.securityCode = securityCode; + this.preferredScheme = preferredScheme; } public CardPaymentMethodCreate( @@ -104,7 +114,7 @@ public CardPaymentMethodCreate( String number) { this(expirationDate, number, JsonNullable.undefined(), JsonNullable.undefined(), JsonNullable.undefined(), JsonNullable.undefined(), - JsonNullable.undefined()); + JsonNullable.undefined(), JsonNullable.undefined()); } /** @@ -172,6 +182,15 @@ public JsonNullable securityCode() { return securityCode; } + /** + * The preferred card scheme to use when processing a co-badged card. + */ + @SuppressWarnings("unchecked") + @JsonIgnore + public JsonNullable preferredScheme() { + return (JsonNullable) preferredScheme; + } + public static Builder builder() { return new Builder(); } @@ -285,6 +304,24 @@ public CardPaymentMethodCreate withSecurityCode(JsonNullable securityCod return this; } + /** + * The preferred card scheme to use when processing a co-badged card. + */ + public CardPaymentMethodCreate withPreferredScheme(CardPaymentMethodCreatePreferredScheme preferredScheme) { + Utils.checkNotNull(preferredScheme, "preferredScheme"); + this.preferredScheme = JsonNullable.of(preferredScheme); + return this; + } + + /** + * The preferred card scheme to use when processing a co-badged card. + */ + public CardPaymentMethodCreate withPreferredScheme(JsonNullable preferredScheme) { + Utils.checkNotNull(preferredScheme, "preferredScheme"); + this.preferredScheme = preferredScheme; + return this; + } + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -302,7 +339,8 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.externalIdentifier, other.externalIdentifier) && Utils.enhancedDeepEquals(this.cardType, other.cardType) && Utils.enhancedDeepEquals(this.method, other.method) && - Utils.enhancedDeepEquals(this.securityCode, other.securityCode); + Utils.enhancedDeepEquals(this.securityCode, other.securityCode) && + Utils.enhancedDeepEquals(this.preferredScheme, other.preferredScheme); } @Override @@ -310,7 +348,7 @@ public int hashCode() { return Utils.enhancedHash( expirationDate, number, buyerExternalIdentifier, buyerId, externalIdentifier, cardType, - method, securityCode); + method, securityCode, preferredScheme); } @Override @@ -323,7 +361,8 @@ public String toString() { "externalIdentifier", externalIdentifier, "cardType", cardType, "method", method, - "securityCode", securityCode); + "securityCode", securityCode, + "preferredScheme", preferredScheme); } @SuppressWarnings("UnusedReturnValue") @@ -343,6 +382,8 @@ public final static class Builder { private JsonNullable securityCode = JsonNullable.undefined(); + private JsonNullable preferredScheme = JsonNullable.undefined(); + private Builder() { // force use of static builder() method } @@ -462,12 +503,31 @@ public Builder securityCode(JsonNullable securityCode) { return this; } + + /** + * The preferred card scheme to use when processing a co-badged card. + */ + public Builder preferredScheme(CardPaymentMethodCreatePreferredScheme preferredScheme) { + Utils.checkNotNull(preferredScheme, "preferredScheme"); + this.preferredScheme = JsonNullable.of(preferredScheme); + return this; + } + + /** + * The preferred card scheme to use when processing a co-badged card. + */ + public Builder preferredScheme(JsonNullable preferredScheme) { + Utils.checkNotNull(preferredScheme, "preferredScheme"); + this.preferredScheme = preferredScheme; + return this; + } + public CardPaymentMethodCreate build() { return new CardPaymentMethodCreate( expirationDate, number, buyerExternalIdentifier, buyerId, externalIdentifier, cardType, - securityCode); + securityCode, preferredScheme); } diff --git a/src/main/java/com/gr4vy/sdk/models/components/CardPaymentMethodCreatePreferredScheme.java b/src/main/java/com/gr4vy/sdk/models/components/CardPaymentMethodCreatePreferredScheme.java new file mode 100644 index 00000000..bd08730c --- /dev/null +++ b/src/main/java/com/gr4vy/sdk/models/components/CardPaymentMethodCreatePreferredScheme.java @@ -0,0 +1,143 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package com.gr4vy.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.lang.Override; +import java.lang.String; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +public class CardPaymentMethodCreatePreferredScheme { + + public static final CardPaymentMethodCreatePreferredScheme BANCONTACT = new CardPaymentMethodCreatePreferredScheme("bancontact"); + public static final CardPaymentMethodCreatePreferredScheme CARTE_BANCAIRE = new CardPaymentMethodCreatePreferredScheme("carte-bancaire"); + public static final CardPaymentMethodCreatePreferredScheme DANKORT = new CardPaymentMethodCreatePreferredScheme("dankort"); + public static final CardPaymentMethodCreatePreferredScheme MASTERCARD = new CardPaymentMethodCreatePreferredScheme("mastercard"); + public static final CardPaymentMethodCreatePreferredScheme VISA = new CardPaymentMethodCreatePreferredScheme("visa"); + public static final CardPaymentMethodCreatePreferredScheme EFTPOS_AUSTRALIA = new CardPaymentMethodCreatePreferredScheme("eftpos-australia"); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private CardPaymentMethodCreatePreferredScheme(String value) { + this.value = value; + } + + /** + * Returns a CardPaymentMethodCreatePreferredScheme with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as CardPaymentMethodCreatePreferredScheme + */ + @JsonCreator + public static CardPaymentMethodCreatePreferredScheme of(String value) { + synchronized (CardPaymentMethodCreatePreferredScheme.class) { + return values.computeIfAbsent(value, v -> new CardPaymentMethodCreatePreferredScheme(v)); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + CardPaymentMethodCreatePreferredScheme other = (CardPaymentMethodCreatePreferredScheme) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "CardPaymentMethodCreatePreferredScheme [value=" + value + "]"; + } + + // return an array just like an enum + public static CardPaymentMethodCreatePreferredScheme[] values() { + synchronized (CardPaymentMethodCreatePreferredScheme.class) { + return values.values().toArray(new CardPaymentMethodCreatePreferredScheme[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put("bancontact", BANCONTACT); + map.put("carte-bancaire", CARTE_BANCAIRE); + map.put("dankort", DANKORT); + map.put("mastercard", MASTERCARD); + map.put("visa", VISA); + map.put("eftpos-australia", EFTPOS_AUSTRALIA); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put("bancontact", CardPaymentMethodCreatePreferredSchemeEnum.BANCONTACT); + map.put("carte-bancaire", CardPaymentMethodCreatePreferredSchemeEnum.CARTE_BANCAIRE); + map.put("dankort", CardPaymentMethodCreatePreferredSchemeEnum.DANKORT); + map.put("mastercard", CardPaymentMethodCreatePreferredSchemeEnum.MASTERCARD); + map.put("visa", CardPaymentMethodCreatePreferredSchemeEnum.VISA); + map.put("eftpos-australia", CardPaymentMethodCreatePreferredSchemeEnum.EFTPOS_AUSTRALIA); + return map; + } + + + public enum CardPaymentMethodCreatePreferredSchemeEnum { + + BANCONTACT("bancontact"), + CARTE_BANCAIRE("carte-bancaire"), + DANKORT("dankort"), + MASTERCARD("mastercard"), + VISA("visa"), + EFTPOS_AUSTRALIA("eftpos-australia"),; + + private final String value; + + private CardPaymentMethodCreatePreferredSchemeEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} + diff --git a/src/main/java/com/gr4vy/sdk/models/components/CardWithUrlPaymentMethodCreate.java b/src/main/java/com/gr4vy/sdk/models/components/CardWithUrlPaymentMethodCreate.java index 916fc1ec..a415351f 100644 --- a/src/main/java/com/gr4vy/sdk/models/components/CardWithUrlPaymentMethodCreate.java +++ b/src/main/java/com/gr4vy/sdk/models/components/CardWithUrlPaymentMethodCreate.java @@ -77,6 +77,13 @@ public class CardWithUrlPaymentMethodCreate { @JsonProperty("security_code") private JsonNullable securityCode; + /** + * The preferred card scheme to use when processing a co-badged card. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("preferred_scheme") + private JsonNullable preferredScheme; + /** * The URL to redirect a user back to after the complete 3DS in browser. */ @@ -93,6 +100,7 @@ public CardWithUrlPaymentMethodCreate( @JsonProperty("external_identifier") JsonNullable externalIdentifier, @JsonProperty("card_type") JsonNullable cardType, @JsonProperty("security_code") JsonNullable securityCode, + @JsonProperty("preferred_scheme") JsonNullable preferredScheme, @JsonProperty("redirect_url") JsonNullable redirectUrl) { Utils.checkNotNull(expirationDate, "expirationDate"); Utils.checkNotNull(number, "number"); @@ -101,6 +109,7 @@ public CardWithUrlPaymentMethodCreate( Utils.checkNotNull(externalIdentifier, "externalIdentifier"); Utils.checkNotNull(cardType, "cardType"); Utils.checkNotNull(securityCode, "securityCode"); + Utils.checkNotNull(preferredScheme, "preferredScheme"); Utils.checkNotNull(redirectUrl, "redirectUrl"); this.expirationDate = expirationDate; this.number = number; @@ -110,6 +119,7 @@ public CardWithUrlPaymentMethodCreate( this.cardType = cardType; this.method = Builder._SINGLETON_VALUE_Method.value(); this.securityCode = securityCode; + this.preferredScheme = preferredScheme; this.redirectUrl = redirectUrl; } @@ -118,7 +128,7 @@ public CardWithUrlPaymentMethodCreate( String number) { this(expirationDate, number, JsonNullable.undefined(), JsonNullable.undefined(), JsonNullable.undefined(), JsonNullable.undefined(), - JsonNullable.undefined(), JsonNullable.undefined()); + JsonNullable.undefined(), JsonNullable.undefined(), JsonNullable.undefined()); } /** @@ -186,6 +196,15 @@ public JsonNullable securityCode() { return securityCode; } + /** + * The preferred card scheme to use when processing a co-badged card. + */ + @SuppressWarnings("unchecked") + @JsonIgnore + public JsonNullable preferredScheme() { + return (JsonNullable) preferredScheme; + } + /** * The URL to redirect a user back to after the complete 3DS in browser. */ @@ -307,6 +326,24 @@ public CardWithUrlPaymentMethodCreate withSecurityCode(JsonNullable secu return this; } + /** + * The preferred card scheme to use when processing a co-badged card. + */ + public CardWithUrlPaymentMethodCreate withPreferredScheme(CardWithUrlPaymentMethodCreatePreferredScheme preferredScheme) { + Utils.checkNotNull(preferredScheme, "preferredScheme"); + this.preferredScheme = JsonNullable.of(preferredScheme); + return this; + } + + /** + * The preferred card scheme to use when processing a co-badged card. + */ + public CardWithUrlPaymentMethodCreate withPreferredScheme(JsonNullable preferredScheme) { + Utils.checkNotNull(preferredScheme, "preferredScheme"); + this.preferredScheme = preferredScheme; + return this; + } + /** * The URL to redirect a user back to after the complete 3DS in browser. */ @@ -343,6 +380,7 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.cardType, other.cardType) && Utils.enhancedDeepEquals(this.method, other.method) && Utils.enhancedDeepEquals(this.securityCode, other.securityCode) && + Utils.enhancedDeepEquals(this.preferredScheme, other.preferredScheme) && Utils.enhancedDeepEquals(this.redirectUrl, other.redirectUrl); } @@ -351,7 +389,8 @@ public int hashCode() { return Utils.enhancedHash( expirationDate, number, buyerExternalIdentifier, buyerId, externalIdentifier, cardType, - method, securityCode, redirectUrl); + method, securityCode, preferredScheme, + redirectUrl); } @Override @@ -365,6 +404,7 @@ public String toString() { "cardType", cardType, "method", method, "securityCode", securityCode, + "preferredScheme", preferredScheme, "redirectUrl", redirectUrl); } @@ -385,6 +425,8 @@ public final static class Builder { private JsonNullable securityCode = JsonNullable.undefined(); + private JsonNullable preferredScheme = JsonNullable.undefined(); + private JsonNullable redirectUrl = JsonNullable.undefined(); private Builder() { @@ -507,6 +549,25 @@ public Builder securityCode(JsonNullable securityCode) { } + /** + * The preferred card scheme to use when processing a co-badged card. + */ + public Builder preferredScheme(CardWithUrlPaymentMethodCreatePreferredScheme preferredScheme) { + Utils.checkNotNull(preferredScheme, "preferredScheme"); + this.preferredScheme = JsonNullable.of(preferredScheme); + return this; + } + + /** + * The preferred card scheme to use when processing a co-badged card. + */ + public Builder preferredScheme(JsonNullable preferredScheme) { + Utils.checkNotNull(preferredScheme, "preferredScheme"); + this.preferredScheme = preferredScheme; + return this; + } + + /** * The URL to redirect a user back to after the complete 3DS in browser. */ @@ -530,7 +591,7 @@ public CardWithUrlPaymentMethodCreate build() { return new CardWithUrlPaymentMethodCreate( expirationDate, number, buyerExternalIdentifier, buyerId, externalIdentifier, cardType, - securityCode, redirectUrl); + securityCode, preferredScheme, redirectUrl); } diff --git a/src/main/java/com/gr4vy/sdk/models/components/CardWithUrlPaymentMethodCreatePreferredScheme.java b/src/main/java/com/gr4vy/sdk/models/components/CardWithUrlPaymentMethodCreatePreferredScheme.java new file mode 100644 index 00000000..e6dbb14e --- /dev/null +++ b/src/main/java/com/gr4vy/sdk/models/components/CardWithUrlPaymentMethodCreatePreferredScheme.java @@ -0,0 +1,143 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package com.gr4vy.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.lang.Override; +import java.lang.String; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +public class CardWithUrlPaymentMethodCreatePreferredScheme { + + public static final CardWithUrlPaymentMethodCreatePreferredScheme BANCONTACT = new CardWithUrlPaymentMethodCreatePreferredScheme("bancontact"); + public static final CardWithUrlPaymentMethodCreatePreferredScheme CARTE_BANCAIRE = new CardWithUrlPaymentMethodCreatePreferredScheme("carte-bancaire"); + public static final CardWithUrlPaymentMethodCreatePreferredScheme DANKORT = new CardWithUrlPaymentMethodCreatePreferredScheme("dankort"); + public static final CardWithUrlPaymentMethodCreatePreferredScheme MASTERCARD = new CardWithUrlPaymentMethodCreatePreferredScheme("mastercard"); + public static final CardWithUrlPaymentMethodCreatePreferredScheme VISA = new CardWithUrlPaymentMethodCreatePreferredScheme("visa"); + public static final CardWithUrlPaymentMethodCreatePreferredScheme EFTPOS_AUSTRALIA = new CardWithUrlPaymentMethodCreatePreferredScheme("eftpos-australia"); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private CardWithUrlPaymentMethodCreatePreferredScheme(String value) { + this.value = value; + } + + /** + * Returns a CardWithUrlPaymentMethodCreatePreferredScheme with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as CardWithUrlPaymentMethodCreatePreferredScheme + */ + @JsonCreator + public static CardWithUrlPaymentMethodCreatePreferredScheme of(String value) { + synchronized (CardWithUrlPaymentMethodCreatePreferredScheme.class) { + return values.computeIfAbsent(value, v -> new CardWithUrlPaymentMethodCreatePreferredScheme(v)); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + CardWithUrlPaymentMethodCreatePreferredScheme other = (CardWithUrlPaymentMethodCreatePreferredScheme) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "CardWithUrlPaymentMethodCreatePreferredScheme [value=" + value + "]"; + } + + // return an array just like an enum + public static CardWithUrlPaymentMethodCreatePreferredScheme[] values() { + synchronized (CardWithUrlPaymentMethodCreatePreferredScheme.class) { + return values.values().toArray(new CardWithUrlPaymentMethodCreatePreferredScheme[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put("bancontact", BANCONTACT); + map.put("carte-bancaire", CARTE_BANCAIRE); + map.put("dankort", DANKORT); + map.put("mastercard", MASTERCARD); + map.put("visa", VISA); + map.put("eftpos-australia", EFTPOS_AUSTRALIA); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put("bancontact", CardWithUrlPaymentMethodCreatePreferredSchemeEnum.BANCONTACT); + map.put("carte-bancaire", CardWithUrlPaymentMethodCreatePreferredSchemeEnum.CARTE_BANCAIRE); + map.put("dankort", CardWithUrlPaymentMethodCreatePreferredSchemeEnum.DANKORT); + map.put("mastercard", CardWithUrlPaymentMethodCreatePreferredSchemeEnum.MASTERCARD); + map.put("visa", CardWithUrlPaymentMethodCreatePreferredSchemeEnum.VISA); + map.put("eftpos-australia", CardWithUrlPaymentMethodCreatePreferredSchemeEnum.EFTPOS_AUSTRALIA); + return map; + } + + + public enum CardWithUrlPaymentMethodCreatePreferredSchemeEnum { + + BANCONTACT("bancontact"), + CARTE_BANCAIRE("carte-bancaire"), + DANKORT("dankort"), + MASTERCARD("mastercard"), + VISA("visa"), + EFTPOS_AUSTRALIA("eftpos-australia"),; + + private final String value; + + private CardWithUrlPaymentMethodCreatePreferredSchemeEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} + diff --git a/src/main/java/com/gr4vy/sdk/models/components/CheckoutSessionWithUrlPaymentMethodCreate.java b/src/main/java/com/gr4vy/sdk/models/components/CheckoutSessionWithUrlPaymentMethodCreate.java index f44058e8..661c4edf 100644 --- a/src/main/java/com/gr4vy/sdk/models/components/CheckoutSessionWithUrlPaymentMethodCreate.java +++ b/src/main/java/com/gr4vy/sdk/models/components/CheckoutSessionWithUrlPaymentMethodCreate.java @@ -13,6 +13,7 @@ import com.gr4vy.sdk.utils.Utils; import java.lang.Override; import java.lang.String; +import java.lang.SuppressWarnings; import java.util.Optional; import org.openapitools.jackson.nullable.JsonNullable; @@ -63,30 +64,40 @@ public class CheckoutSessionWithUrlPaymentMethodCreate { @JsonProperty("redirect_url") private JsonNullable redirectUrl; + /** + * The preferred card scheme to use when processing a co-badged card. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("preferred_scheme") + private JsonNullable preferredScheme; + @JsonCreator public CheckoutSessionWithUrlPaymentMethodCreate( @JsonProperty("id") String id, @JsonProperty("external_identifier") JsonNullable externalIdentifier, @JsonProperty("buyer_id") JsonNullable buyerId, @JsonProperty("buyer_external_identifier") JsonNullable buyerExternalIdentifier, - @JsonProperty("redirect_url") JsonNullable redirectUrl) { + @JsonProperty("redirect_url") JsonNullable redirectUrl, + @JsonProperty("preferred_scheme") JsonNullable preferredScheme) { Utils.checkNotNull(id, "id"); Utils.checkNotNull(externalIdentifier, "externalIdentifier"); Utils.checkNotNull(buyerId, "buyerId"); Utils.checkNotNull(buyerExternalIdentifier, "buyerExternalIdentifier"); Utils.checkNotNull(redirectUrl, "redirectUrl"); + Utils.checkNotNull(preferredScheme, "preferredScheme"); this.method = Builder._SINGLETON_VALUE_Method.value(); this.id = id; this.externalIdentifier = externalIdentifier; this.buyerId = buyerId; this.buyerExternalIdentifier = buyerExternalIdentifier; this.redirectUrl = redirectUrl; + this.preferredScheme = preferredScheme; } public CheckoutSessionWithUrlPaymentMethodCreate( String id) { this(id, JsonNullable.undefined(), JsonNullable.undefined(), - JsonNullable.undefined(), JsonNullable.undefined()); + JsonNullable.undefined(), JsonNullable.undefined(), JsonNullable.undefined()); } /** @@ -137,6 +148,15 @@ public JsonNullable redirectUrl() { return redirectUrl; } + /** + * The preferred card scheme to use when processing a co-badged card. + */ + @SuppressWarnings("unchecked") + @JsonIgnore + public JsonNullable preferredScheme() { + return (JsonNullable) preferredScheme; + } + public static Builder builder() { return new Builder(); } @@ -223,6 +243,24 @@ public CheckoutSessionWithUrlPaymentMethodCreate withRedirectUrl(JsonNullable preferredScheme) { + Utils.checkNotNull(preferredScheme, "preferredScheme"); + this.preferredScheme = preferredScheme; + return this; + } + @Override public boolean equals(java.lang.Object o) { if (this == o) { @@ -238,14 +276,16 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.externalIdentifier, other.externalIdentifier) && Utils.enhancedDeepEquals(this.buyerId, other.buyerId) && Utils.enhancedDeepEquals(this.buyerExternalIdentifier, other.buyerExternalIdentifier) && - Utils.enhancedDeepEquals(this.redirectUrl, other.redirectUrl); + Utils.enhancedDeepEquals(this.redirectUrl, other.redirectUrl) && + Utils.enhancedDeepEquals(this.preferredScheme, other.preferredScheme); } @Override public int hashCode() { return Utils.enhancedHash( method, id, externalIdentifier, - buyerId, buyerExternalIdentifier, redirectUrl); + buyerId, buyerExternalIdentifier, redirectUrl, + preferredScheme); } @Override @@ -256,7 +296,8 @@ public String toString() { "externalIdentifier", externalIdentifier, "buyerId", buyerId, "buyerExternalIdentifier", buyerExternalIdentifier, - "redirectUrl", redirectUrl); + "redirectUrl", redirectUrl, + "preferredScheme", preferredScheme); } @SuppressWarnings("UnusedReturnValue") @@ -272,6 +313,8 @@ public final static class Builder { private JsonNullable redirectUrl = JsonNullable.undefined(); + private JsonNullable preferredScheme = JsonNullable.undefined(); + private Builder() { // force use of static builder() method } @@ -362,11 +405,30 @@ public Builder redirectUrl(JsonNullable redirectUrl) { return this; } + + /** + * The preferred card scheme to use when processing a co-badged card. + */ + public Builder preferredScheme(CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme preferredScheme) { + Utils.checkNotNull(preferredScheme, "preferredScheme"); + this.preferredScheme = JsonNullable.of(preferredScheme); + return this; + } + + /** + * The preferred card scheme to use when processing a co-badged card. + */ + public Builder preferredScheme(JsonNullable preferredScheme) { + Utils.checkNotNull(preferredScheme, "preferredScheme"); + this.preferredScheme = preferredScheme; + return this; + } + public CheckoutSessionWithUrlPaymentMethodCreate build() { return new CheckoutSessionWithUrlPaymentMethodCreate( id, externalIdentifier, buyerId, - buyerExternalIdentifier, redirectUrl); + buyerExternalIdentifier, redirectUrl, preferredScheme); } diff --git a/src/main/java/com/gr4vy/sdk/models/components/CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme.java b/src/main/java/com/gr4vy/sdk/models/components/CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme.java new file mode 100644 index 00000000..0741219b --- /dev/null +++ b/src/main/java/com/gr4vy/sdk/models/components/CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme.java @@ -0,0 +1,143 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package com.gr4vy.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.lang.Override; +import java.lang.String; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +public class CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme { + + public static final CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme BANCONTACT = new CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme("bancontact"); + public static final CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme CARTE_BANCAIRE = new CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme("carte-bancaire"); + public static final CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme DANKORT = new CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme("dankort"); + public static final CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme MASTERCARD = new CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme("mastercard"); + public static final CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme VISA = new CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme("visa"); + public static final CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme EFTPOS_AUSTRALIA = new CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme("eftpos-australia"); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme(String value) { + this.value = value; + } + + /** + * Returns a CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme + */ + @JsonCreator + public static CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme of(String value) { + synchronized (CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme.class) { + return values.computeIfAbsent(value, v -> new CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme(v)); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme other = (CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme [value=" + value + "]"; + } + + // return an array just like an enum + public static CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme[] values() { + synchronized (CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme.class) { + return values.values().toArray(new CheckoutSessionWithUrlPaymentMethodCreatePreferredScheme[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put("bancontact", BANCONTACT); + map.put("carte-bancaire", CARTE_BANCAIRE); + map.put("dankort", DANKORT); + map.put("mastercard", MASTERCARD); + map.put("visa", VISA); + map.put("eftpos-australia", EFTPOS_AUSTRALIA); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put("bancontact", CheckoutSessionWithUrlPaymentMethodCreatePreferredSchemeEnum.BANCONTACT); + map.put("carte-bancaire", CheckoutSessionWithUrlPaymentMethodCreatePreferredSchemeEnum.CARTE_BANCAIRE); + map.put("dankort", CheckoutSessionWithUrlPaymentMethodCreatePreferredSchemeEnum.DANKORT); + map.put("mastercard", CheckoutSessionWithUrlPaymentMethodCreatePreferredSchemeEnum.MASTERCARD); + map.put("visa", CheckoutSessionWithUrlPaymentMethodCreatePreferredSchemeEnum.VISA); + map.put("eftpos-australia", CheckoutSessionWithUrlPaymentMethodCreatePreferredSchemeEnum.EFTPOS_AUSTRALIA); + return map; + } + + + public enum CheckoutSessionWithUrlPaymentMethodCreatePreferredSchemeEnum { + + BANCONTACT("bancontact"), + CARTE_BANCAIRE("carte-bancaire"), + DANKORT("dankort"), + MASTERCARD("mastercard"), + VISA("visa"), + EFTPOS_AUSTRALIA("eftpos-australia"),; + + private final String value; + + private CheckoutSessionWithUrlPaymentMethodCreatePreferredSchemeEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} + diff --git a/src/main/java/com/gr4vy/sdk/models/components/TokenPaymentMethodCreate.java b/src/main/java/com/gr4vy/sdk/models/components/TokenPaymentMethodCreate.java index bb016527..a8ad3096 100644 --- a/src/main/java/com/gr4vy/sdk/models/components/TokenPaymentMethodCreate.java +++ b/src/main/java/com/gr4vy/sdk/models/components/TokenPaymentMethodCreate.java @@ -13,6 +13,7 @@ import com.gr4vy.sdk.utils.Utils; import java.lang.Override; import java.lang.String; +import java.lang.SuppressWarnings; import java.util.Optional; import org.openapitools.jackson.nullable.JsonNullable; @@ -43,6 +44,13 @@ public class TokenPaymentMethodCreate { @JsonProperty("security_code") private JsonNullable securityCode; + /** + * The preferred card scheme to use when processing a co-badged card. + */ + @JsonInclude(Include.NON_ABSENT) + @JsonProperty("preferred_scheme") + private JsonNullable preferredScheme; + /** * The URL to redirect a user back to after they approve the transaction in the browser. */ @@ -54,19 +62,23 @@ public class TokenPaymentMethodCreate { public TokenPaymentMethodCreate( @JsonProperty("id") String id, @JsonProperty("security_code") JsonNullable securityCode, + @JsonProperty("preferred_scheme") JsonNullable preferredScheme, @JsonProperty("redirect_url") JsonNullable redirectUrl) { Utils.checkNotNull(id, "id"); Utils.checkNotNull(securityCode, "securityCode"); + Utils.checkNotNull(preferredScheme, "preferredScheme"); Utils.checkNotNull(redirectUrl, "redirectUrl"); this.id = id; this.method = Builder._SINGLETON_VALUE_Method.value(); this.securityCode = securityCode; + this.preferredScheme = preferredScheme; this.redirectUrl = redirectUrl; } public TokenPaymentMethodCreate( String id) { - this(id, JsonNullable.undefined(), JsonNullable.undefined()); + this(id, JsonNullable.undefined(), JsonNullable.undefined(), + JsonNullable.undefined()); } /** @@ -93,6 +105,15 @@ public JsonNullable securityCode() { return securityCode; } + /** + * The preferred card scheme to use when processing a co-badged card. + */ + @SuppressWarnings("unchecked") + @JsonIgnore + public JsonNullable preferredScheme() { + return (JsonNullable) preferredScheme; + } + /** * The URL to redirect a user back to after they approve the transaction in the browser. */ @@ -133,6 +154,24 @@ public TokenPaymentMethodCreate withSecurityCode(JsonNullable securityCo return this; } + /** + * The preferred card scheme to use when processing a co-badged card. + */ + public TokenPaymentMethodCreate withPreferredScheme(TokenPaymentMethodCreatePreferredScheme preferredScheme) { + Utils.checkNotNull(preferredScheme, "preferredScheme"); + this.preferredScheme = JsonNullable.of(preferredScheme); + return this; + } + + /** + * The preferred card scheme to use when processing a co-badged card. + */ + public TokenPaymentMethodCreate withPreferredScheme(JsonNullable preferredScheme) { + Utils.checkNotNull(preferredScheme, "preferredScheme"); + this.preferredScheme = preferredScheme; + return this; + } + /** * The URL to redirect a user back to after they approve the transaction in the browser. */ @@ -164,6 +203,7 @@ public boolean equals(java.lang.Object o) { Utils.enhancedDeepEquals(this.id, other.id) && Utils.enhancedDeepEquals(this.method, other.method) && Utils.enhancedDeepEquals(this.securityCode, other.securityCode) && + Utils.enhancedDeepEquals(this.preferredScheme, other.preferredScheme) && Utils.enhancedDeepEquals(this.redirectUrl, other.redirectUrl); } @@ -171,7 +211,7 @@ public boolean equals(java.lang.Object o) { public int hashCode() { return Utils.enhancedHash( id, method, securityCode, - redirectUrl); + preferredScheme, redirectUrl); } @Override @@ -180,6 +220,7 @@ public String toString() { "id", id, "method", method, "securityCode", securityCode, + "preferredScheme", preferredScheme, "redirectUrl", redirectUrl); } @@ -190,6 +231,8 @@ public final static class Builder { private JsonNullable securityCode = JsonNullable.undefined(); + private JsonNullable preferredScheme = JsonNullable.undefined(); + private JsonNullable redirectUrl = JsonNullable.undefined(); private Builder() { @@ -226,6 +269,25 @@ public Builder securityCode(JsonNullable securityCode) { } + /** + * The preferred card scheme to use when processing a co-badged card. + */ + public Builder preferredScheme(TokenPaymentMethodCreatePreferredScheme preferredScheme) { + Utils.checkNotNull(preferredScheme, "preferredScheme"); + this.preferredScheme = JsonNullable.of(preferredScheme); + return this; + } + + /** + * The preferred card scheme to use when processing a co-badged card. + */ + public Builder preferredScheme(JsonNullable preferredScheme) { + Utils.checkNotNull(preferredScheme, "preferredScheme"); + this.preferredScheme = preferredScheme; + return this; + } + + /** * The URL to redirect a user back to after they approve the transaction in the browser. */ @@ -247,7 +309,8 @@ public Builder redirectUrl(JsonNullable redirectUrl) { public TokenPaymentMethodCreate build() { return new TokenPaymentMethodCreate( - id, securityCode, redirectUrl); + id, securityCode, preferredScheme, + redirectUrl); } diff --git a/src/main/java/com/gr4vy/sdk/models/components/TokenPaymentMethodCreatePreferredScheme.java b/src/main/java/com/gr4vy/sdk/models/components/TokenPaymentMethodCreatePreferredScheme.java new file mode 100644 index 00000000..9f4c6f97 --- /dev/null +++ b/src/main/java/com/gr4vy/sdk/models/components/TokenPaymentMethodCreatePreferredScheme.java @@ -0,0 +1,143 @@ +/* + * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. + */ +package com.gr4vy.sdk.models.components; + +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonValue; +import java.lang.Override; +import java.lang.String; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; + +/** + * Wrapper for an "open" enum that can handle unknown values from API responses + * without runtime errors. Instances are immutable singletons with reference equality. + * Use {@code asEnum()} for switch expressions. + */ +public class TokenPaymentMethodCreatePreferredScheme { + + public static final TokenPaymentMethodCreatePreferredScheme BANCONTACT = new TokenPaymentMethodCreatePreferredScheme("bancontact"); + public static final TokenPaymentMethodCreatePreferredScheme CARTE_BANCAIRE = new TokenPaymentMethodCreatePreferredScheme("carte-bancaire"); + public static final TokenPaymentMethodCreatePreferredScheme DANKORT = new TokenPaymentMethodCreatePreferredScheme("dankort"); + public static final TokenPaymentMethodCreatePreferredScheme MASTERCARD = new TokenPaymentMethodCreatePreferredScheme("mastercard"); + public static final TokenPaymentMethodCreatePreferredScheme VISA = new TokenPaymentMethodCreatePreferredScheme("visa"); + public static final TokenPaymentMethodCreatePreferredScheme EFTPOS_AUSTRALIA = new TokenPaymentMethodCreatePreferredScheme("eftpos-australia"); + + // This map will grow whenever a Color gets created with a new + // unrecognized value (a potential memory leak if the user is not + // careful). Keep this field lower case to avoid clashing with + // generated member names which will always be upper cased (Java + // convention) + private static final Map values = createValuesMap(); + private static final Map enums = createEnumsMap(); + + private final String value; + + private TokenPaymentMethodCreatePreferredScheme(String value) { + this.value = value; + } + + /** + * Returns a TokenPaymentMethodCreatePreferredScheme with the given value. For a specific value the + * returned object will always be a singleton so reference equality + * is satisfied when the values are the same. + * + * @param value value to be wrapped as TokenPaymentMethodCreatePreferredScheme + */ + @JsonCreator + public static TokenPaymentMethodCreatePreferredScheme of(String value) { + synchronized (TokenPaymentMethodCreatePreferredScheme.class) { + return values.computeIfAbsent(value, v -> new TokenPaymentMethodCreatePreferredScheme(v)); + } + } + + @JsonValue + public String value() { + return value; + } + + public Optional asEnum() { + return Optional.ofNullable(enums.getOrDefault(value, null)); + } + + public boolean isKnown() { + return asEnum().isPresent(); + } + + @Override + public int hashCode() { + return Objects.hash(value); + } + + @Override + public boolean equals(java.lang.Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + TokenPaymentMethodCreatePreferredScheme other = (TokenPaymentMethodCreatePreferredScheme) obj; + return Objects.equals(value, other.value); + } + + @Override + public String toString() { + return "TokenPaymentMethodCreatePreferredScheme [value=" + value + "]"; + } + + // return an array just like an enum + public static TokenPaymentMethodCreatePreferredScheme[] values() { + synchronized (TokenPaymentMethodCreatePreferredScheme.class) { + return values.values().toArray(new TokenPaymentMethodCreatePreferredScheme[] {}); + } + } + + private static final Map createValuesMap() { + Map map = new LinkedHashMap<>(); + map.put("bancontact", BANCONTACT); + map.put("carte-bancaire", CARTE_BANCAIRE); + map.put("dankort", DANKORT); + map.put("mastercard", MASTERCARD); + map.put("visa", VISA); + map.put("eftpos-australia", EFTPOS_AUSTRALIA); + return map; + } + + private static final Map createEnumsMap() { + Map map = new HashMap<>(); + map.put("bancontact", TokenPaymentMethodCreatePreferredSchemeEnum.BANCONTACT); + map.put("carte-bancaire", TokenPaymentMethodCreatePreferredSchemeEnum.CARTE_BANCAIRE); + map.put("dankort", TokenPaymentMethodCreatePreferredSchemeEnum.DANKORT); + map.put("mastercard", TokenPaymentMethodCreatePreferredSchemeEnum.MASTERCARD); + map.put("visa", TokenPaymentMethodCreatePreferredSchemeEnum.VISA); + map.put("eftpos-australia", TokenPaymentMethodCreatePreferredSchemeEnum.EFTPOS_AUSTRALIA); + return map; + } + + + public enum TokenPaymentMethodCreatePreferredSchemeEnum { + + BANCONTACT("bancontact"), + CARTE_BANCAIRE("carte-bancaire"), + DANKORT("dankort"), + MASTERCARD("mastercard"), + VISA("visa"), + EFTPOS_AUSTRALIA("eftpos-australia"),; + + private final String value; + + private TokenPaymentMethodCreatePreferredSchemeEnum(String value) { + this.value = value; + } + + public String value() { + return value; + } + } +} +