/* Options: Date: 2025-10-28 00:55:57 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://duengageapi.uat.scadsoftware.com //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: PayFastWebHook.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* import com.google.gson.annotations.* import com.google.gson.reflect.* @Route(Path="/payfast/webhook/{PublicAccessGuid}", Verbs="POST") open class PayFastWebHook { @DataMember(Name="m_payment_id") @SerializedName("m_payment_id") open var MPaymentId:String? = null @DataMember(Name="pf_payment_id") @SerializedName("pf_payment_id") open var PfPaymentId:String? = null @DataMember(Name="payment_status") @SerializedName("payment_status") open var PaymentStatus:String? = null @DataMember(Name="item_name") @SerializedName("item_name") open var ItemName:String? = null @DataMember(Name="item_description") @SerializedName("item_description") open var ItemDescription:String? = null @DataMember(Name="amount_gross") @SerializedName("amount_gross") open var AmountGross:Double? = null @DataMember(Name="amount_fee") @SerializedName("amount_fee") open var AmountFee:Double? = null @DataMember(Name="amount_net") @SerializedName("amount_net") open var AmountNet:Double? = null @DataMember(Name="custom_str1") @SerializedName("custom_str1") open var CustomStr1:String? = null @DataMember(Name="custom_str2") @SerializedName("custom_str2") open var CustomStr2:String? = null @DataMember(Name="custom_str3") @SerializedName("custom_str3") open var CustomStr3:String? = null @DataMember(Name="custom_str4") @SerializedName("custom_str4") open var CustomStr4:String? = null @DataMember(Name="custom_str5") @SerializedName("custom_str5") open var CustomStr5:String? = null @DataMember(Name="custom_int1") @SerializedName("custom_int1") open var CustomInt1:Int? = null @DataMember(Name="custom_int2") @SerializedName("custom_int2") open var CustomInt2:Int? = null @DataMember(Name="custom_int3") @SerializedName("custom_int3") open var CustomInt3:Int? = null @DataMember(Name="custom_int4") @SerializedName("custom_int4") open var CustomInt4:Int? = null @DataMember(Name="custom_int5") @SerializedName("custom_int5") open var CustomInt5:Int? = null @DataMember(Name="name_first") @SerializedName("name_first") open var NameFirst:String? = null @DataMember(Name="name_last") @SerializedName("name_last") open var NameLast:String? = null @DataMember(Name="email_address") @SerializedName("email_address") open var EmailAddress:String? = null @DataMember(Name="merchant_id") @SerializedName("merchant_id") open var MerchantId:String? = null @DataMember(Name="signature") @SerializedName("signature") open var Signature:String? = null @DataMember(Name="token") @SerializedName("token") open var Token:String? = null @DataMember(Name="billing_date") @SerializedName("billing_date") open var BillingDate:Date? = null open var PublicAccessGuid:UUID? = null open var Sandbox:Boolean? = null }