126 lines
3.4 KiB
C#
126 lines
3.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using gehGassi.Domain.Common;
|
|
|
|
namespace gehGassi.Domain.Payment
|
|
{
|
|
/// <summary>
|
|
/// Repräsentiert eine Transaktion für Zahlungen.
|
|
/// Dies können Einzahlungen, Auszahlungen oder Rückerstattungen sein.
|
|
/// Eine Sonderform ist Gebühr. Diese geth an gehgassi
|
|
/// </summary>
|
|
public class PaymentTransaction
|
|
{
|
|
/// <summary>
|
|
/// Eindeutige Id
|
|
/// </summary>
|
|
[Key]
|
|
[Required]
|
|
public long Id { get; set; }
|
|
|
|
/// <summary>
|
|
/// Id der Transaktion bei MangoPay
|
|
/// </summary>
|
|
[Required]
|
|
[MaxLength(255)]
|
|
public string TransactionId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Typ der Transaktion
|
|
/// </summary>
|
|
[Required]
|
|
public PaymentTransactionType Type { get; set; }
|
|
|
|
/// <summary>
|
|
/// Status der Transaktion
|
|
/// </summary>
|
|
[Required]
|
|
public PaymentTransactionStatus Status { get; set; }
|
|
|
|
/// <summary>
|
|
/// Walk auf den sich die Transaktion bezieht
|
|
/// </summary>
|
|
[MaxLength(128)]
|
|
public string WalkId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Id des AppUsers der die Zahlung erhält
|
|
/// </summary>
|
|
[MaxLength(128)]
|
|
public string TargetAppUserId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Id des Wallets, auf das die Transaktion angewendet wird
|
|
/// </summary>
|
|
[MaxLength(128)]
|
|
public string TargetWalletId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Id des AppUsers der die Zahlung veranlasst
|
|
/// </summary>
|
|
[MaxLength(128)]
|
|
public string SourceAppUserId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Id des Wallets, von dem die Transaktion ausgeht
|
|
/// </summary>
|
|
[MaxLength(128)]
|
|
public string SourceWalletId { get; set; }
|
|
|
|
/// <summary>
|
|
/// Betrag in der kleinsten Einheit der Währung
|
|
/// Beispiel: 12.60 EUR werden als 1260 übertragen
|
|
/// </summary>
|
|
[Required]
|
|
public long Ammount { get; set; }
|
|
|
|
/// <summary>
|
|
/// Betrag der zusätzlich vom Guthaben-Konto verwendet werden muss in der kleinsten Einheit der Währung
|
|
/// Beispiel: 12.60 EUR werden als 1260 übertragen
|
|
/// </summary>
|
|
[Required]
|
|
public long FromCredit { get; set; }
|
|
|
|
/// <summary>
|
|
/// Währung ISO 4217 Code
|
|
/// </summary>
|
|
[Required]
|
|
[MaxLength(3)]
|
|
public string Currency { get; set; }
|
|
|
|
/// <summary>
|
|
/// Fehlermeldung nach MangoPay
|
|
/// </summary>
|
|
[MaxLength(500)]
|
|
public string ErrorMessage { get; set; }
|
|
|
|
/// <summary>
|
|
/// FehlerTyp nach MangoPay
|
|
/// </summary>
|
|
[MaxLength(255)]
|
|
public string ErrorType { get; set; }
|
|
|
|
/// <summary>
|
|
/// Fehlermeldungen nach MangoPay - Zusatzinformationen
|
|
/// </summary>
|
|
[MaxLength(1000)]
|
|
public string ErrorMessages { get; set; }
|
|
|
|
/// <summary>
|
|
/// Womit wurde bezahlt?
|
|
/// </summary>
|
|
public PayInType? PayInType { get; set; }
|
|
|
|
/// <summary>
|
|
/// Datum an dem die Transaktion erstellt wurde
|
|
/// </summary>
|
|
public DateTimeOffset Created { get; set; }
|
|
}
|
|
|
|
|
|
}
|