Files
components/LiteCharms.Features.MidrandBooks/Payments/Models/PayfastWebhookPayload.cs
T
2026-06-02 23:44:45 +02:00

60 lines
1.7 KiB
C#

namespace LiteCharms.Features.MidrandBooks.Payments.Models;
public sealed class PayfastWebhookPayload
{
public string? MerchantId { get; set; }
public string? MerchantKey { get; set; }
public string? Signature { get; set; }
public string? MerchantPaymentId { get; set; }
public string? PaymentId { get; set; }
public string? PaymentStatus { get; set; }
public string? ItemName { get; set; }
public string? ItemDescription { get; set; }
public string? AmountGross { get; set; }
public string? AmountFee { get; set; }
public string? AmountNet { get; set; }
public string? NameFirst { get; set; }
public string? NameLast { get; set; }
public string? EmailAddress { get; set; }
public string? CustomStr1 { get; set; }
public string? CustomInt1 { get; set; }
public string? Token { get; set; }
public IDictionary<string, string?> ToParamDictionary() => new Dictionary<string, string?>
(StringComparer.Ordinal)
{
{ "merchant_id", MerchantId },
{ "merchant_key", MerchantKey },
{ "m_payment_id", MerchantPaymentId },
{ "pf_payment_id", PaymentId },
{ "payment_status", PaymentStatus },
{ "item_name", ItemName },
{ "item_description", ItemDescription },
{ "amount_gross", AmountGross },
{ "amount_fee", AmountFee },
{ "amount_net", AmountNet },
{ "custom_str1", CustomStr1 },
{ "custom_int1", CustomInt1 },
{ "name_first", NameFirst },
{ "name_last", NameLast },
{ "email_address", EmailAddress },
{ "token", Token }
};
}