135 lines
3.2 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Text;
using gehGassi.Dto.Common;
namespace gehGassi.Dto.Payment
{
/// <summary>
/// Dto die Zahlung eines Walks mit einem Guthaben
/// </summary>
public class PayWalkWithCreditDto
{
/// <summary>
/// Id des App-Users
/// </summary>
[Required]
[MaxLength(128)]
public string AppUserId { get; set; }
/// <summary>
/// Id des Walks
/// </summary>
[Required]
[MaxLength(128)]
public string WalkId { get; set; }
/// <summary>
/// Betrag der Bezahlt werden soll
/// </summary>
[Required]
public decimal Ammount { get; set; }
}
/// <summary>
/// Dto die Zahlung eines Walks mit einem Guthaben
/// </summary>
public class PayWalkWithVoucherDto
{
/// <summary>
/// Id des Gutscheins
/// </summary>
[Required]
[MaxLength(128)]
public string VoucherId { get; set; }
/// <summary>
/// Manueller Gutscheincode
/// </summary>
[Required]
[MaxLength(14)]
public string Code { get; set; }
/// <summary>
/// Id des App-Users
/// </summary>
[Required]
[MaxLength(128)]
public string AppUserId { get; set; }
/// <summary>
/// Id des Walks
/// </summary>
[Required]
[MaxLength(128)]
public string WalkId { get; set; }
/// <summary>
/// Betrag der Bezahlt werden soll
/// </summary>
[Required]
public decimal Ammount { get; set; }
}
/// <summary>
/// DTO für die Einzahlung mittels Kreditkarte
/// </summary>
public class PayInDto
{
/// <summary>
/// Id des App-Users
/// </summary>
[Required]
[MaxLength(128)]
public string AppUserId { get; set; }
/// <summary>
/// Id des Walks
/// </summary>
[Required]
[MaxLength(128)]
public string WalkId { get; set; }
/// <summary>
/// Betrag der Bezahlt werden soll
/// </summary>
[Required]
public decimal Ammount { get; set; }
/// <summary>
/// Gebühren die an MangoPay gezahlt werden
/// </summary>
[Required]
public decimal Fees { get; set; }
/// <summary>
/// Zusätzlicher Betrag der vom Guthabenkonto gedeckt werden muss
/// </summary>
[Required]
public decimal FromCredit { get; set; }
/// <summary>
/// Typ der Einzahlung
/// </summary>
[Required]
public PayInTypeDto PayInType { get; set; }
}
/// <summary>
/// Rückgabewert für den Einzahlungs-Request
/// </summary>
public class PayInResponseDto
{
/// <summary>
/// ERfolgreich?
/// </summary>
public bool Success { get; set; }
/// <summary>
/// URL für die Weiterleitung beim Payment
/// </summary>
public string Url { get; set; }
}
}