Ejemplo n.º 1
0
 public static void NotifHandler(string status_code, string status_message, string transaction_id, string masked_card, string order_id, string gross_amount, string payment_type, string transaction_time, string transaction_status, string fraud_status, string signature_key)
 {
     //HttpContext.Current.Response.Write("asdasd");
     //HttpContext.Current.Response.Write(status_code + " " + status_message + " " + transaction_id + " " + masked_card + " " + order_id + " " + gross_amount + " " + payment_type + " " + transaction_time + " " + transaction_status + " " + fraud_status + " " + approval_code + " " + signature_key + " " + bank + " " + eci);
     try
     {
         DataClassesDataContext db = new DataClassesDataContext();
         TBOrder order             = db.TBOrders.Where(x => x.IDOrder.ToString() == order_id).FirstOrDefault();
         if (order != null)
         {
             HttpContext.Current.Response.Write("ada");
             if (status_code == "200")
             {
                 Class_Order class_order = new Class_Order();
                 ReturnData  result      = class_order.AJAX_UpdateOrderStatus_vt(order.IDOrder, 2, "");
                 HttpContext.Current.Response.Write(result.message);
             }
             else
             {
                 Class_Order class_order = new Class_Order();
                 class_order.AJAX_UpdateOrderStatus_vt(order.IDOrder, 2, "");
                 HttpContext.Current.Response.Write("not updated");
             }
         }
     }
     catch (Exception ex)
     {
         HttpContext.Current.Response.Write(ex.Message);
     }
 }
Ejemplo n.º 2
0
 public static void HandlerVA(string status_code, string order_id)
 {
     //HttpContext.Current.Response.Write("asdasd");
     //HttpContext.Current.Response.Write(status_code + " " + status_message + " " + transaction_id + " " + masked_card + " " + order_id + " " + gross_amount + " " + payment_type + " " + transaction_time + " " + transaction_status + " " + fraud_status + " " + approval_code + " " + signature_key + " " + bank + " " + eci);
     try
     {
         DataClassesDataContext db = new DataClassesDataContext();
         TBOrder order             = db.TBOrders.Where(x => x.Reference == order_id).FirstOrDefault();
         if (order != null)
         {
             if (status_code == "200")
             {
                 Class_Order class_order = new Class_Order();
                 class_order.AJAX_UpdateOrderStatus_vt(order.IDOrder, 2, ""); //sukses
             }
             else if (status_code == "202")
             {
                 Class_Order class_order = new Class_Order();
                 class_order.AJAX_UpdateOrderStatus_vt(order.IDOrder, 10, ""); //Transaksi ditolak oleh bank atau Fraud Detection System (FDS).
             }
             else if (status_code == "201")
             {
                 Class_Order class_order = new Class_Order();
                 class_order.AJAX_UpdateOrderStatus_vt(order.IDOrder, 13, ""); //Transaksi ditolak oleh FDS. Anda harus melakukan konfirmasi di Merchant Administration Portal (MAP).
             }
         }
     }
     catch (Exception ex)
     {
         HttpContext.Current.Response.Write(ex.Message);
     }
 }
Ejemplo n.º 3
0
    public ReturnData AJAX_Submit(int idOrder, string name, string email, string phoneNumber, string bank, decimal amount, string paymentDate, string notes, string baseImage, string fnImage)
    {
        try
        {
            DataClassesDataContext db = new DataClassesDataContext();

            DateTime myDate = DateTime.ParseExact(paymentDate, "yyyy-MM-dd HH:mm", System.Globalization.CultureInfo.InvariantCulture);

            TBOrder order = db.TBOrders.Where(x => !x.Deflag && x.IDOrder == idOrder).FirstOrDefault();
            if (order == null)
            {
                return(ReturnData.MessageFailed("Order not found", null));
            }
            TBPayment_Confirmation data = new TBPayment_Confirmation();
            data.IDOrder         = idOrder;
            data.ReferenceNumber = order.Reference;
            data.Name            = name;
            data.Email           = email;
            data.PhoneNumber     = phoneNumber;
            data.Bank            = bank;
            data.Amount          = amount;
            data.PaymentDate     = myDate;
            data.Notes           = notes;
            if (baseImage != "" && fnImage != "")
            {
                System.Drawing.Image _image = WITLibrary.ConvertCustom.Base64ToImage(baseImage);
                _image.Save(HttpContext.Current.Server.MapPath("/assets/images/payment_confirmation/" + DateTime.Now.ToString("ddmmyy") + "_" + fnImage));
                data.Image = DateTime.Now.ToString("ddmmyy") + "_" + fnImage;
            }
            db.TBPayment_Confirmations.InsertOnSubmit(data);
            //GANTI STATUS JADI AWAITING PAYMENT VERIFICATION
            order.IDOrderStatus = 13;

            db.SubmitChanges();

            //INSERT LOG ORDER
            Class_Log_Order logOrder = new Class_Log_Order();
            logOrder.Insert((int?)null, order.IDOrder, order.Reference, order.TBOrder_Status.Name, "Customer Payment Confirmation", order.TBCustomer.FirstName + ' ' + order.TBCustomer.LastName);

            //SEND EMAIL TO ADMIN
            using (StreamReader reader = new StreamReader(HttpContext.Current.Server.MapPath("~/assets/email-template/admin-payment-notification.html")))
            {
                string body = "";
                body = reader.ReadToEnd();
                body = body.Replace("{ReferenceCode}", data.ReferenceNumber);
                body = body.Replace("{CustomerName}", data.Name);
                body = body.Replace("{Name}", data.Name);
                body = body.Replace("{Email}", data.Email);
                body = body.Replace("{Date}", data.PaymentDate.ToString("dd/MM/yyyy hh:mm"));
                body = body.Replace("{Amount}", WITLibrary.ConvertString.ToCurrency(data.Amount.ToString()));
                body = body.Replace("{Bank}", data.Bank);
                body = body.Replace("{Notes}", data.Notes);
                string emailAdmin = db.TBConfigurations.Where(x => x.Name == "email_user").FirstOrDefault().Value;
                OurClass.SendEmail(emailAdmin, WebConfigurationManager.AppSettings["Title"] + " Confirm Payment for Order #" + data.ReferenceNumber, body, HttpContext.Current.Server.MapPath("/assets/images/payment_confirmation/" + DateTime.Now.ToString("ddmmyy") + "_" + fnImage));
            }

            //SEND EMAIL KE CUSTOMER
            Class_Configuration _config = new Class_Configuration();
            var emailLogo = _config.Dynamic_Get_EmailLogo();
            using (StreamReader reader = new StreamReader(HttpContext.Current.Server.MapPath("~/assets/email-template/template-email-paymentReceived.html")))
            {
                string body = "";
                body = reader.ReadToEnd();
                body = body.Replace("{name}", name);
                body = body.Replace("{nomorInvoice}", order.Reference);
                body = body.Replace("{amount}", WITLibrary.ConvertString.ToCurrency(order.TotalPaid.ToString()));
                body = body.Replace("{owner}", order.TBPayment_Method.Owner);
                body = body.Replace("{account}", order.TBPayment_Method.AccountNumber);
                body = body.Replace("{bank}", order.TBPayment_Method.Bank);
                body = body.Replace("{title}", System.Configuration.ConfigurationManager.AppSettings["Title"]);
                body = body.Replace("{email_logo}", System.Configuration.ConfigurationManager.AppSettings["url"] + "/assets/images/email_logo/" + emailLogo);
                body = body.Replace("{shop_url}", System.Configuration.ConfigurationManager.AppSettings["url"]);
                OurClass.SendEmail(email, WebConfigurationManager.AppSettings["Title"] + " Order Notification", body, "");
            }


            return(ReturnData.MessageSuccess("Order Confirmation submitted successfully", null));
        }
        catch (Exception ex)
        {
            Class_Log_Error log = new Class_Log_Error();
            log.Insert(ex.Message, ex.StackTrace);

            return(ReturnData.MessageFailed(ex.Message, null));
        }
    }
 private void btnClear_Click(object sender, EventArgs e)
 {
     TBOrder.Clear();
     pictureBoxSolution.Image = null;
 }