private void ProcessRefund()
        {
            var thisOrder = new Order(orderNumber, ThisCustomer.LocaleSetting);

            AlertMessageGeneralStatus.PushAlertMessage("CANCEL AUTO-BILL AND FULLY REFUND ORDER: " + orderNumber.ToString(), AlertMessage.AlertType.Info);

            String refundReason = Server.HtmlEncode(txtRefundReason.Text);
            String refundStatus = Gateway.OrderManagement_DoFullRefund(thisOrder, refundReason);

            if (refundStatus == AppLogic.ro_OK)
            {
                AlertMessageDisplayRefundStatus.PushAlertMessage("Refund Status = " + refundStatus, AlertMessage.AlertType.Success);
                CancelRecurringOrder(thisOrder);
            }
            else
            {
                AlertMessageDisplayRefundStatus.PushAlertMessage("Refund Failed = " + refundStatus, AlertMessage.AlertType.Error);
            }
        }
        protected void Page_Load(object sender, System.EventArgs e)
        {
            if (orderNumber == 0)
            {
                AlertMessageDisplayRefundStatus.PushAlertMessage("Order Number Required", AlertMessage.AlertType.Error);
                return;
            }

            if (IsPostBack)
            {
                pnlResults.Visible = true;
                pnlForm.Visible    = false;
                ProcessRefund();
            }
            else
            {
                pnlForm.Visible       = true;
                lblFormHeader.Text    = String.Format("Are you sure you want to stop future billing and refund order {0}?", orderNumber);
                btnSubmit.PostBackUrl = AppLogic.AdminLinkUrl("recurringrefundcancel.aspx") + "?ordernumber=" + orderNumber.ToString();
            }
        }