public static ResultUrlRequest Parse(CallbackRequest callback) { Ensure.ArgumentNotNull(callback, nameof(callback)); var resultUrl = new ResultUrlRequest(); resultUrl.Uri = callback.Uri; resultUrl.OrderId = callback.GetOrDefault("pg_order_id", string.Empty); resultUrl.PaymentId = callback.Get("pg_payment_id"); resultUrl.Amount = callback.Get<double>("pg_amount"); resultUrl.Currency = callback.Get<PlatronPaymentCurrency>("pg_currency"); resultUrl.NetAmount = callback.Get<double>("pg_net_amount"); resultUrl.PsAmount = callback.Get<double>("pg_ps_amount"); resultUrl.PsFullAmount = callback.Get<double>("pg_ps_full_amount"); resultUrl.PsCurrency = callback.Get<PlatronPaymentCurrency>("pg_ps_currency"); resultUrl.Overpayment = callback.GetOrDefault<double>("pg_overpayment", 0); resultUrl.PaymentSystem = callback.Get("pg_payment_system"); resultUrl.PaymentDate = callback.GetDate("pg_payment_date"); resultUrl.CanReject = callback.GetOrDefault("pg_can_reject", PaymentRejectType.Unrevokable); if (callback.Contains("pg_card_brand")) { resultUrl.CardBrand = callback.GetOrDefault("pg_card_brand", string.Empty); resultUrl.CardPan = callback.GetOrDefault("pg_card_pan", string.Empty); resultUrl.CardHash = callback.GetOrDefault("pg_card_hash", string.Empty); resultUrl.AuthCode = callback.GetOrDefault("pg_auth_code", string.Empty); resultUrl.Captured = callback.GetOrDefault("pg_captured", CardClearingBehaviourType.WaitForPlatronWillSend); } resultUrl.UserPhone = callback.GetOrDefault("pg_user_phone", string.Empty); resultUrl.NeedPhoneNotification = callback.GetBool("pg_need_phone_notification", x => x == "1"); resultUrl.UserContactEmail = callback.GetOrDefault("pg_user_contact_email", string.Empty); resultUrl.NeedEmailNotification = callback.GetBoolOrDefault("pg_need_email_notification", x => x == "1", false); resultUrl.RecurringProfileId = callback.GetOrDefault("pg_recurring_profile_id", string.Empty); resultUrl.RecurringProfileExpiryDate = callback.GetDateOrDefault("pg_recurring_profile_expiry_date", DateTime.MinValue); return resultUrl; }
public static ResultUrlRequest Parse(CallbackRequest callback) { Ensure.ArgumentNotNull(callback, nameof(callback)); var resultUrl = new ResultUrlRequest(); resultUrl.Uri = callback.Uri; resultUrl.OrderId = callback.GetOrDefault("pg_order_id", string.Empty); resultUrl.PaymentId = callback.Get("pg_payment_id"); resultUrl.Amount = callback.Get <double>("pg_amount"); resultUrl.Currency = callback.Get <PlatronPaymentCurrency>("pg_currency"); resultUrl.NetAmount = callback.Get <double>("pg_net_amount"); resultUrl.PsAmount = callback.Get <double>("pg_ps_amount"); resultUrl.PsFullAmount = callback.Get <double>("pg_ps_full_amount"); resultUrl.PsCurrency = callback.Get <PlatronPaymentCurrency>("pg_ps_currency"); resultUrl.Overpayment = callback.GetOrDefault <double>("pg_overpayment", 0); resultUrl.PaymentSystem = callback.Get("pg_payment_system"); resultUrl.PaymentDate = callback.GetDate("pg_payment_date"); resultUrl.CanReject = callback.GetOrDefault("pg_can_reject", PaymentRejectType.Unrevokable); if (callback.Contains("pg_card_brand")) { resultUrl.CardBrand = callback.GetOrDefault("pg_card_brand", string.Empty); resultUrl.CardPan = callback.GetOrDefault("pg_card_pan", string.Empty); resultUrl.CardHash = callback.GetOrDefault("pg_card_hash", string.Empty); resultUrl.AuthCode = callback.GetOrDefault("pg_auth_code", string.Empty); resultUrl.Captured = callback.GetOrDefault("pg_captured", CardClearingBehaviourType.WaitForPlatronWillSend); } resultUrl.UserPhone = callback.GetOrDefault("pg_user_phone", string.Empty); resultUrl.NeedPhoneNotification = callback.GetBool("pg_need_phone_notification", x => x == "1"); resultUrl.UserContactEmail = callback.GetOrDefault("pg_user_contact_email", string.Empty); resultUrl.NeedEmailNotification = callback.GetBoolOrDefault("pg_need_email_notification", x => x == "1", false); resultUrl.RecurringProfileId = callback.GetOrDefault("pg_recurring_profile_id", string.Empty); resultUrl.RecurringProfileExpiryDate = callback.GetDateOrDefault("pg_recurring_profile_expiry_date", DateTime.MinValue); return(resultUrl); }