Files
csob/Models/Payments.cs
T
JiriUhlir 09db30a3ca first
2026-06-18 11:05:46 +02:00

39 lines
1.6 KiB
C#

using System.Text.Json;
using System.Text.Json.Serialization;
namespace Csob.Models;
public sealed class PaymentIdentification
{
/// <summary>Unique instruction id assigned by the TPP (idempotency key). Max 35 chars.</summary>
public string? InstructionIdentification { get; set; }
public string? EndToEndIdentification { get; set; }
}
/// <summary>
/// Payment initiation request (<c>POST /my/payments</c>). Covers domestic (DMCT) and SEPA (ESCT)
/// payments — SEPA-only fields (creditor address, agent, ultimate parties, purpose) are optional.
/// Any additional COBS field not modelled here is preserved via <see cref="AdditionalData"/>.
/// </summary>
public sealed class PaymentInitiationRequest
{
public PaymentIdentification? PaymentIdentification { get; set; }
public PaymentTypeInformation? PaymentTypeInformation { get; set; }
public AmountContainer Amount { get; set; } = new();
public string? RequestedExecutionDate { get; set; }
public Party? UltimateDebtor { get; set; }
public AccountReference DebtorAccount { get; set; } = new();
public Agent? CreditorAgent { get; set; }
public Party? Creditor { get; set; }
public AccountReference CreditorAccount { get; set; } = new();
public Party? UltimateCreditor { get; set; }
public RemittanceInformation? RemittanceInformation { get; set; }
public Purpose? Purpose { get; set; }
/// <summary>Any COBS fields not explicitly modelled are forwarded to ČSOB unchanged.</summary>
[JsonExtensionData]
public Dictionary<string, JsonElement>? AdditionalData { get; set; }
}