diff --git a/openapi.json b/openapi.json index a08e3f0..7226e87 100644 --- a/openapi.json +++ b/openapi.json @@ -329,7 +329,21 @@ "description": "A sample checkout", "hosted_checkout": { "enabled": true - } + }, + "redirect_url": "https://example.com/orders/123/complete" + } + }, + "Tokenization": { + "summary": "Save a customer card", + "description": "Create a checkout to collect consent and save a card through the Payment Widget.", + "value": { + "checkout_reference": "save-card-123", + "amount": 1, + "currency": "EUR", + "merchant_code": "MCXXXXXX", + "description": "Save a card for future payments", + "customer_id": "831ff8d4cd5958ab5670", + "purpose": "SETUP_RECURRING_PAYMENT" } } } @@ -472,6 +486,22 @@ "hosted_checkout_url": "https://checkout.sumup.com/pay/8f9316a3-cda9-42a9-9771-54d534315676", "transactions": [] } + }, + "Tokenization": { + "summary": "Checkout for saving a card", + "value": { + "checkout_reference": "save-card-123", + "amount": 1, + "currency": "EUR", + "merchant_code": "MCXXXXXX", + "description": "Save a card for future payments", + "customer_id": "831ff8d4cd5958ab5670", + "purpose": "SETUP_RECURRING_PAYMENT", + "id": "7164c99b-13cb-42a1-8ba1-3c2c46a29de7", + "status": "PENDING", + "date": "2026-10-30T12:00:00+00:00", + "transactions": [] + } } } } @@ -694,17 +724,65 @@ "schema": { "$ref": "#/components/schemas/CheckoutSuccess" }, - "example": { - "checkout_reference": "f00a8f74-b05d-4605-bd73-2a901bae5802", - "amount": 10.1, - "currency": "EUR", - "merchant_code": "MH4H92C7", - "description": "Purchase", - "id": "4e425463-3e1b-431d-83fa-1e51c2925e99", - "status": "PENDING", - "date": "2020-02-29T10:56:56+00:00", - "transaction_code": "TEENSK4W2K", - "transaction_id": "410fc44a-5956-44e1-b5cc-19c6f8d727a4" + "examples": { + "Checkout": { + "value": { + "checkout_reference": "f00a8f74-b05d-4605-bd73-2a901bae5802", + "amount": 10.1, + "currency": "EUR", + "merchant_code": "MH4H92C7", + "description": "Purchase", + "id": "4e425463-3e1b-431d-83fa-1e51c2925e99", + "status": "PENDING", + "date": "2020-02-29T10:56:56+00:00", + "transaction_code": "TEENSK4W2K", + "transaction_id": "410fc44a-5956-44e1-b5cc-19c6f8d727a4" + } + }, + "PaidCheckout": { + "summary": "Paid checkout with a transaction to refund", + "value": { + "checkout_reference": "f00a8f74-b05d-4605-bd73-2a901bae5802", + "amount": 42.42, + "currency": "EUR", + "merchant_code": "MH4H92C7", + "description": "Purchase", + "id": "4e425463-3e1b-431d-83fa-1e51c2925e99", + "status": "PAID", + "date": "2020-02-29T10:56:56+00:00", + "transaction_code": "TEENSK4W2K", + "transaction_id": "410fc44a-5956-44e1-b5cc-19c6f8d727a4", + "transactions": [ + { + "id": "410fc44a-5956-44e1-b5cc-19c6f8d727a4", + "transaction_code": "TEENSK4W2K", + "amount": 42.42, + "currency": "EUR", + "status": "SUCCESSFUL", + "timestamp": "2026-10-30T12:00:00+00:00" + } + ] + } + }, + "TokenizedCheckout": { + "summary": "Checkout with a saved card", + "value": { + "checkout_reference": "save-card-123", + "amount": 1, + "currency": "EUR", + "merchant_code": "MCXXXXXX", + "description": "Save a card for future payments", + "customer_id": "831ff8d4cd5958ab5670", + "purpose": "SETUP_RECURRING_PAYMENT", + "id": "7164c99b-13cb-42a1-8ba1-3c2c46a29de7", + "status": "PAID", + "date": "2026-10-30T12:00:00+00:00", + "transactions": [], + "payment_instrument": { + "token": "6878cb7f-6515-47bf-bdd9-1408d270fdce" + } + } + } } } } @@ -923,9 +1001,8 @@ "description": "Process a checkout with a token", "value": { "payment_type": "card", - "installments": 1, - "token": "ba85dfee-c3cf-48a6-84f5-d7d761fbba50", - "customer_id": "MEDKHDTI" + "token": "6878cb7f-6515-47bf-bdd9-1408d270fdce", + "customer_id": "831ff8d4cd5958ab5670" } }, "ProcessBoleto": { @@ -2223,9 +2300,6 @@ "description": "Optional amount for partial refunds.", "content": { "application/json": { - "example": { - "amount": 5 - }, "schema": { "type": "object", "description": "Optional amount for partial refunds of transactions.", @@ -2237,6 +2311,18 @@ "example": 5 } } + }, + "examples": { + "FullRefund": { + "summary": "Full refund", + "value": {} + }, + "PartialRefund": { + "summary": "Partial refund", + "value": { + "amount": 24.42 + } + } } } } @@ -5587,6 +5673,14 @@ "requestBody": { "content": { "application/json": { + "example": { + "return_url": "https://example.com/sumup/webhook", + "total_amount": { + "currency": "EUR", + "minor_unit": 2, + "value": 1500 + } + }, "schema": { "$ref": "#/components/schemas/CreateReaderCheckoutRequest" } @@ -5960,7 +6054,7 @@ } } }, - "description": "The reader model is not supported, or the reader could not return its settings." + "description": "The reader model is not supported, the firmware version is unsupported, or the reader could not return its settings." } }, "security": [ @@ -6123,7 +6217,7 @@ } } }, - "description": "The settings are invalid, the reader is offline, the reader model is not supported, or the reader could not apply the update." + "description": "The settings are invalid, the reader is offline, the reader model is not supported, the firmware version is unsupported, or the reader could not apply the update." } }, "security": [ @@ -9988,21 +10082,14 @@ "given_name": { "type": "string", "description": "The first name(s) of the individual.", - "example": "James Herrald", + "example": "Sofia", "minLength": 1, "maxLength": 60 }, "family_name": { "type": "string", "description": "The last name(s) of the individual.", - "example": "Bond", - "minLength": 1, - "maxLength": 60 - }, - "middle_name": { - "type": "string", - "description": "Middle name(s) of the End-User. Note that in some cultures, people can have multiple middle names; all can be present, with the names being separated by space characters. Also note that in some cultures, middle names are not used.\n", - "example": "Maria Sophie", + "example": "Rossi", "minLength": 1, "maxLength": 60 }, @@ -11337,7 +11424,21 @@ "description": "A sample checkout", "hosted_checkout": { "enabled": true - } + }, + "redirect_url": "https://example.com/orders/123/complete" + } + }, + "Tokenization": { + "summary": "Save a customer card", + "description": "Create a checkout to collect consent and save a card through the Payment Widget.", + "value": { + "checkout_reference": "save-card-123", + "amount": 1, + "currency": "EUR", + "merchant_code": "MCXXXXXX", + "description": "Save a card for future payments", + "customer_id": "831ff8d4cd5958ab5670", + "purpose": "SETUP_RECURRING_PAYMENT" } } } @@ -11394,9 +11495,6 @@ "description": "Optional amount for partial refunds.", "content": { "application/json": { - "example": { - "amount": 5 - }, "schema": { "type": "object", "description": "Optional amount for partial refunds of transactions.", @@ -11408,6 +11506,18 @@ "example": 5 } } + }, + "examples": { + "FullRefund": { + "summary": "Full refund", + "value": {} + }, + "PartialRefund": { + "summary": "Partial refund", + "value": { + "amount": 24.42 + } + } } } } @@ -11549,6 +11659,22 @@ "hosted_checkout_url": "https://checkout.sumup.com/pay/8f9316a3-cda9-42a9-9771-54d534315676", "transactions": [] } + }, + "Tokenization": { + "summary": "Checkout for saving a card", + "value": { + "checkout_reference": "save-card-123", + "amount": 1, + "currency": "EUR", + "merchant_code": "MCXXXXXX", + "description": "Save a card for future payments", + "customer_id": "831ff8d4cd5958ab5670", + "purpose": "SETUP_RECURRING_PAYMENT", + "id": "7164c99b-13cb-42a1-8ba1-3c2c46a29de7", + "status": "PENDING", + "date": "2026-10-30T12:00:00+00:00", + "transactions": [] + } } } } @@ -11610,17 +11736,65 @@ "schema": { "$ref": "#/components/schemas/CheckoutSuccess" }, - "example": { - "checkout_reference": "f00a8f74-b05d-4605-bd73-2a901bae5802", - "amount": 10.1, - "currency": "EUR", - "merchant_code": "MH4H92C7", - "description": "Purchase", - "id": "4e425463-3e1b-431d-83fa-1e51c2925e99", - "status": "PENDING", - "date": "2020-02-29T10:56:56+00:00", - "transaction_code": "TEENSK4W2K", - "transaction_id": "410fc44a-5956-44e1-b5cc-19c6f8d727a4" + "examples": { + "Checkout": { + "value": { + "checkout_reference": "f00a8f74-b05d-4605-bd73-2a901bae5802", + "amount": 10.1, + "currency": "EUR", + "merchant_code": "MH4H92C7", + "description": "Purchase", + "id": "4e425463-3e1b-431d-83fa-1e51c2925e99", + "status": "PENDING", + "date": "2020-02-29T10:56:56+00:00", + "transaction_code": "TEENSK4W2K", + "transaction_id": "410fc44a-5956-44e1-b5cc-19c6f8d727a4" + } + }, + "PaidCheckout": { + "summary": "Paid checkout with a transaction to refund", + "value": { + "checkout_reference": "f00a8f74-b05d-4605-bd73-2a901bae5802", + "amount": 42.42, + "currency": "EUR", + "merchant_code": "MH4H92C7", + "description": "Purchase", + "id": "4e425463-3e1b-431d-83fa-1e51c2925e99", + "status": "PAID", + "date": "2020-02-29T10:56:56+00:00", + "transaction_code": "TEENSK4W2K", + "transaction_id": "410fc44a-5956-44e1-b5cc-19c6f8d727a4", + "transactions": [ + { + "id": "410fc44a-5956-44e1-b5cc-19c6f8d727a4", + "transaction_code": "TEENSK4W2K", + "amount": 42.42, + "currency": "EUR", + "status": "SUCCESSFUL", + "timestamp": "2026-10-30T12:00:00+00:00" + } + ] + } + }, + "TokenizedCheckout": { + "summary": "Checkout with a saved card", + "value": { + "checkout_reference": "save-card-123", + "amount": 1, + "currency": "EUR", + "merchant_code": "MCXXXXXX", + "description": "Save a card for future payments", + "customer_id": "831ff8d4cd5958ab5670", + "purpose": "SETUP_RECURRING_PAYMENT", + "id": "7164c99b-13cb-42a1-8ba1-3c2c46a29de7", + "status": "PAID", + "date": "2026-10-30T12:00:00+00:00", + "transactions": [], + "payment_instrument": { + "token": "6878cb7f-6515-47bf-bdd9-1408d270fdce" + } + } + } } } } diff --git a/src/SumUp/Models/BasePerson.g.cs b/src/SumUp/Models/BasePerson.g.cs index 779081d..b733e05 100644 --- a/src/SumUp/Models/BasePerson.g.cs +++ b/src/SumUp/Models/BasePerson.g.cs @@ -37,9 +37,6 @@ public sealed partial class BasePerson /// A list of country-specific personal identifiers. [JsonPropertyName("identifiers")] public IEnumerable? Identifiers { get; set; } - /// Middle name(s) of the End-User. Note that in some cultures, people can have multiple middle names; all can be present, with the names being separated by space characters. Also note that in some cultures, middle names are not used. - [JsonPropertyName("middle_name")] - public string? MiddleName { get; set; } /// The Person's nationality. May be an ISO3166-1 alpha-2 country code, but legacy data may not conform to this standard. [JsonPropertyName("nationality")] public string? Nationality { get; set; } diff --git a/src/SumUp/Models/Person.g.cs b/src/SumUp/Models/Person.g.cs index 44106b7..aa4470c 100644 --- a/src/SumUp/Models/Person.g.cs +++ b/src/SumUp/Models/Person.g.cs @@ -36,9 +36,6 @@ public sealed partial class Person /// A list of country-specific personal identifiers. [JsonPropertyName("identifiers")] public IEnumerable? Identifiers { get; set; } - /// Middle name(s) of the End-User. Note that in some cultures, people can have multiple middle names; all can be present, with the names being separated by space characters. Also note that in some cultures, middle names are not used. - [JsonPropertyName("middle_name")] - public string? MiddleName { get; set; } /// The Person's nationality. May be an ISO3166-1 alpha-2 country code, but legacy data may not conform to this standard. [JsonPropertyName("nationality")] public string? Nationality { get; set; }