Пример #1
0
 public RefundDetailsListModel(List <RefundDetails> refundDetails
                               , ITHeadMaster itHeadObject
                               , ITReturnDetails objITReturnDetails
                               , List <FYAY> fyayList)
 {
     ObjRefundDetails = new RefundDetails();
     ObjRefundDetails.ITHeadMasterID    = itHeadObject.Id;
     ObjRefundDetails.ITReturnDetailsID = objITReturnDetails.Id;
     this.RefundDetailsList             = refundDetails;
     this.ITHeadObject       = itHeadObject;
     this.ObjITReturnDetails = objITReturnDetails;
     this.FYAYList           = fyayList;
 }
Пример #2
0
 public RefundDetailsResponse InsertUpdateRefundDetails(RefundDetails objRefundDetails)
 {
     try
     {
         objRefundDetails.Active = true;
         return(this._itReturnDA.InsertUpdateRefundDetails(objRefundDetails));
     }
     catch (Exception ex)
     {
         throw;
     }
     finally
     {
         //Log
     }
 }
Пример #3
0
        public RefundDetails GetRefundDetails(AmazonPayClient client, string refundId, out AmazonPayApiData data)
        {
            data = new AmazonPayApiData();

            RefundDetails details = null;
            var           request = new GetRefundDetailsRequest();

            request.SellerId       = client.Settings.SellerId;
            request.AmazonRefundId = refundId;

            var response = client.Service.GetRefundDetails(request);

            if (response != null && response.IsSetGetRefundDetailsResult())
            {
                var result = response.GetRefundDetailsResult;
                if (result != null && result.IsSetRefundDetails())
                {
                    details = result.RefundDetails;
                }
            }

            try
            {
                data.MessageType = "GetRefundDetails";

                if (response.IsSetResponseMetadata() && response.ResponseMetadata.IsSetRequestId())
                {
                    data.MessageId = response.ResponseMetadata.RequestId;
                }

                if (details != null)
                {
                    if (details.IsSetAmazonRefundId())
                    {
                        data.RefundId = details.AmazonRefundId;
                    }

                    if (details.IsSetRefundReferenceId())
                    {
                        data.ReferenceId = details.RefundReferenceId;
                    }

                    if (details.IsSetFeeRefunded())
                    {
                        data.Fee = new AmazonPayApiPrice(details.FeeRefunded.Amount, details.FeeRefunded.CurrencyCode);
                    }

                    if (details.IsSetRefundAmount())
                    {
                        data.RefundedAmount = new AmazonPayApiPrice(details.RefundAmount.Amount, details.RefundAmount.CurrencyCode);
                    }

                    if (details.IsSetCreationTimestamp())
                    {
                        data.Creation = details.CreationTimestamp;
                    }

                    if (details.IsSetRefundStatus())
                    {
                        data.ReasonCode        = details.RefundStatus.ReasonCode;
                        data.ReasonDescription = details.RefundStatus.ReasonDescription;
                        data.State             = details.RefundStatus.State.ToString();
                        data.StateLastUpdate   = details.RefundStatus.LastUpdateTimestamp;
                    }
                }
            }
            catch (Exception exc)
            {
                exc.Dump();
            }
            return(details);
        }
        public static RefundResponse InvokeRefund(IOffAmazonPaymentsService service, RefundRequest request)
        {
            RefundResponse response = null;

            try
            {
                response = service.Refund(request);
                Console.WriteLine("Service Response");
                Console.WriteLine("=============================================================================");
                Console.WriteLine();
                Console.WriteLine("        RefundResponse");
                if (response.IsSetRefundResult())
                {
                    Console.WriteLine("            RefundResult");
                    RefundResult refundResult = response.RefundResult;
                    if (refundResult.IsSetRefundDetails())
                    {
                        Console.WriteLine("                RefundDetails");
                        RefundDetails refundDetails = refundResult.RefundDetails;
                        if (refundDetails.IsSetAmazonRefundId())
                        {
                            Console.WriteLine("                    AmazonRefundId");
                            Console.WriteLine("                        {0}", refundDetails.AmazonRefundId);
                        }
                        if (refundDetails.IsSetRefundReferenceId())
                        {
                            Console.WriteLine("                    RefundReferenceId");
                            Console.WriteLine("                        {0}", refundDetails.RefundReferenceId);
                        }
                        if (refundDetails.IsSetSellerRefundNote())
                        {
                            Console.WriteLine("                    SellerRefundNote");
                            Console.WriteLine("                        {0}", refundDetails.SellerRefundNote);
                        }
                        if (refundDetails.IsSetRefundType())
                        {
                            Console.WriteLine("                    RefundType");
                            Console.WriteLine("                        {0}", refundDetails.RefundType);
                        }
                        if (refundDetails.IsSetFeeRefunded())
                        {
                            Console.WriteLine("                    FeeRefunded");
                            Price feeRefunded = refundDetails.FeeRefunded;
                            if (feeRefunded.IsSetAmount())
                            {
                                Console.WriteLine("                        Amount");
                                Console.WriteLine("                            {0}", feeRefunded.Amount);
                            }
                            if (feeRefunded.IsSetCurrencyCode())
                            {
                                Console.WriteLine("                        CurrencyCode");
                                Console.WriteLine("                            {0}", feeRefunded.CurrencyCode);
                            }
                        }
                        if (refundDetails.IsSetCreationTimestamp())
                        {
                            Console.WriteLine("                    CreationTimestamp");
                            Console.WriteLine("                        {0}", refundDetails.CreationTimestamp);
                        }
                        if (refundDetails.IsSetProviderCreditReversalSummaryList())
                        {
                            foreach (ProviderCreditReversalSummary providerCreditReversalSummary in refundDetails.ProviderCreditReversalSummaryList.member)
                            {
                                if (providerCreditReversalSummary.IsSetProviderCreditReversalId())
                                {
                                    Console.WriteLine("                    ProviderCreditReversalId");
                                    Console.WriteLine("                        {0}", providerCreditReversalSummary.ProviderCreditReversalId);
                                }
                                if (providerCreditReversalSummary.IsSetProviderId())
                                {
                                    Console.WriteLine("                    ProviderId");
                                    Console.WriteLine("                        {0}", providerCreditReversalSummary.ProviderId);
                                }
                            }
                        }
                        if (refundDetails.IsSetRefundStatus())
                        {
                            Console.WriteLine("                    RefundStatus");
                            Status refundStatus = refundDetails.RefundStatus;
                            if (refundStatus.IsSetState())
                            {
                                Console.WriteLine("                        State");
                                Console.WriteLine("                            {0}", refundStatus.State);
                            }
                            if (refundStatus.IsSetLastUpdateTimestamp())
                            {
                                Console.WriteLine("                        LastUpdateTimestamp");
                                Console.WriteLine("                            {0}", refundStatus.LastUpdateTimestamp);
                            }
                            if (refundStatus.IsSetReasonCode())
                            {
                                Console.WriteLine("                        ReasonCode");
                                Console.WriteLine("                            {0}", refundStatus.ReasonCode);
                            }
                            if (refundStatus.IsSetReasonDescription())
                            {
                                Console.WriteLine("                        ReasonDescription");
                                Console.WriteLine("                            {0}", refundStatus.ReasonDescription);
                            }
                        }
                    }
                }
                if (response.IsSetResponseMetadata())
                {
                    Console.WriteLine("            ResponseMetadata");
                    ResponseMetadata responseMetadata = response.ResponseMetadata;
                    if (responseMetadata.IsSetRequestId())
                    {
                        Console.WriteLine("                RequestId");
                        Console.WriteLine("                    {0}", responseMetadata.RequestId);
                    }
                }
            }
            catch (OffAmazonPaymentsServiceException ex)
            {
                PrintException(ex);
            }
            return(response);
        }
Пример #5
0
        public override string RefundOrder(
            int orderNumber,
            int newOrderNumber,
            decimal refundAmount,
            string refundReason,
            AspDotNetStorefrontCore.Address billingAddress)
        {
            try
            {
                using (var connection = DB.dbConn())
                {
                    connection.Open();

                    DB.ExecuteSQL("update orders set refundtxcommand = null, refundtxresult = null where ordernumber = @orderNumber",
                                  connection,
                                  new SqlParameter("@orderNumber", orderNumber));

                    var authorizationPnref = string.Empty;
                    var totalAmount        = refundAmount;

                    using (var command = connection.CreateCommand())
                    {
                        command.CommandText = "select authorizationpnref, ordertotal from orders with (nolock) where ordernumber = @orderNumber";
                        command.Parameters.AddWithValue("@orderNumber", orderNumber);

                        using (var rs = command.ExecuteReader())
                        {
                            if (rs.Read())
                            {
                                authorizationPnref = DB.RSField(rs, "AuthorizationPNREF");
                                var orderTotal = DB.RSFieldDecimal(rs, "OrderTotal");
                                totalAmount = refundAmount > orderTotal ? orderTotal : refundAmount;
                            }
                        }
                    }

                    if (orderNumber == 0)
                    {
                        return($"There was a problem refunding the credit card transaction.  Order {orderNumber} not found.");
                    }

                    var refundDetails = new RefundDetails();
                    refundDetails.InvoiceNumber         = orderNumber.ToString();
                    refundDetails.OriginalTransactionID = Convert.ToInt32(authorizationPnref);
                    refundDetails.TotalAmount           = DecimalToFixedPoint(totalAmount);
                    refundDetails.CurrencyCode          = Currency.GetDefaultCurrency();

                    var refund = new Refund();
                    refund.InvoiceDescription = refundReason;
                    refund.RefundDetails      = refundDetails;

                    DB.ExecuteSQL("update orders set refundtxcommand = @refundTxCommand where ordernumber = @orderNumber",
                                  connection,
                                  new SqlParameter("@refundTxCommand", XmlCommon.SerializeObject(refund, refund.GetType())),
                                  new SqlParameter("@orderNumber", orderNumber));

                    var response = GetRapidClient()
                                   .Refund(refund);

                    if (!(response.TransactionStatus ?? false))
                    {
                        var errorCode = string.IsNullOrWhiteSpace(response.ResponseMessage) &&
                                        response.Errors != null
                                                                ? string.Join(" ", response.Errors)
                                                                : response.ResponseMessage;

                        return($"There was a problem refunding the credit card transaction.  Error code: { errorCode }.");
                    }

                    DB.ExecuteSQL("update orders set RefundTXResult = @refundTxResult where OrderNumber = @orderNumber",
                                  connection,
                                  new SqlParameter("@refundTxResult", XmlCommon.SerializeObject(response, response.GetType())),
                                  new SqlParameter("@orderNumber", orderNumber));
                }
            }
            catch (Exception exception)
            {
                SysLog.LogException(exception, MessageTypeEnum.GeneralException, MessageSeverityEnum.Error);
                return("Error calling payment gateway.");
            }

            return(AppLogic.ro_OK);
        }
        public static GetRefundDetailsResponse InvokeGetRefundDetails(IOffAmazonPaymentsService service, GetRefundDetailsRequest request)
        {
            GetRefundDetailsResponse response = null;

            try
            {
                response = service.GetRefundDetails(request);
                Console.WriteLine("Service Response");
                Console.WriteLine("=============================================================================");
                Console.WriteLine();
                Console.WriteLine("        GetRefundDetailsResponse");
                if (response.IsSetGetRefundDetailsResult())
                {
                    Console.WriteLine("            GetRefundDetailsResult");
                    GetRefundDetailsResult getRefundDetailsResult = response.GetRefundDetailsResult;
                    if (getRefundDetailsResult.IsSetRefundDetails())
                    {
                        Console.WriteLine("                RefundDetails");
                        RefundDetails refundDetails = getRefundDetailsResult.RefundDetails;
                        if (refundDetails.IsSetAmazonRefundId())
                        {
                            Console.WriteLine("                    AmazonRefundId");
                            Console.WriteLine("                        {0}", refundDetails.AmazonRefundId);
                        }
                        if (refundDetails.IsSetRefundReferenceId())
                        {
                            Console.WriteLine("                    RefundReferenceId");
                            Console.WriteLine("                        {0}", refundDetails.RefundReferenceId);
                        }
                        if (refundDetails.IsSetSellerRefundNote())
                        {
                            Console.WriteLine("                    SellerRefundNote");
                            Console.WriteLine("                        {0}", refundDetails.SellerRefundNote);
                        }
                        if (refundDetails.IsSetRefundType())
                        {
                            Console.WriteLine("                    RefundType");
                            Console.WriteLine("                        {0}", refundDetails.RefundType);
                        }
                        if (refundDetails.IsSetFeeRefunded())
                        {
                            Console.WriteLine("                    FeeRefunded");
                            Price feeRefunded = refundDetails.FeeRefunded;
                            if (feeRefunded.IsSetAmount())
                            {
                                Console.WriteLine("                        Amount");
                                Console.WriteLine("                            {0}", feeRefunded.Amount);
                            }
                            if (feeRefunded.IsSetCurrencyCode())
                            {
                                Console.WriteLine("                        CurrencyCode");
                                Console.WriteLine("                            {0}", feeRefunded.CurrencyCode);
                            }
                        }
                        if (refundDetails.IsSetCreationTimestamp())
                        {
                            Console.WriteLine("                    CreationTimestamp");
                            Console.WriteLine("                        {0}", refundDetails.CreationTimestamp);
                        }
                        if (refundDetails.IsSetRefundStatus())
                        {
                            Console.WriteLine("                    RefundStatus");
                            Status refundStatus = refundDetails.RefundStatus;
                            if (refundStatus.IsSetState())
                            {
                                Console.WriteLine("                        State");
                                Console.WriteLine("                            {0}", refundStatus.State);
                            }
                            if (refundStatus.IsSetLastUpdateTimestamp())
                            {
                                Console.WriteLine("                        LastUpdateTimestamp");
                                Console.WriteLine("                            {0}", refundStatus.LastUpdateTimestamp);
                            }
                            if (refundStatus.IsSetReasonCode())
                            {
                                Console.WriteLine("                        ReasonCode");
                                Console.WriteLine("                            {0}", refundStatus.ReasonCode);
                            }
                            if (refundStatus.IsSetReasonDescription())
                            {
                                Console.WriteLine("                        ReasonDescription");
                                Console.WriteLine("                            {0}", refundStatus.ReasonDescription);
                            }
                        }
                    }
                }
                if (response.IsSetResponseMetadata())
                {
                    Console.WriteLine("            ResponseMetadata");
                    ResponseMetadata responseMetadata = response.ResponseMetadata;
                    if (responseMetadata.IsSetRequestId())
                    {
                        Console.WriteLine("                RequestId");
                        Console.WriteLine("                    {0}", responseMetadata.RequestId);
                    }
                }
            }
            catch (OffAmazonPaymentsServiceException ex)
            {
                PrintException(ex);
            }
            return(response);
        }
Пример #7
0
        private void RunIssuingTest(IssuingTestCase tc, out string doc_ID, [CallerMemberName] string callerName = "")
        {
            LoginDetails     login     = tc.Login;
            TravellerDetails traveller = tc.Traveller;
            PurchaseDetails  purchase  = tc.Purchase;
            RefundDetails    refund    = tc.Refund;

            bool loggedIn = S1.Login(login.Username, login.Password);

            Assert.IsTrue(loggedIn);
            WebDriver.WaitForElement(S1.IssuingPage.AutofillSearchButton, 10);
            //System.Threading.Thread.Sleep(3000);

            if (traveller.Autofill != null && !string.IsNullOrEmpty(traveller.Autofill.Identifier))
            {
                if (S1.IssuingPage.AddTokenButton.Visible)
                {
                    S1.IssuingPage.AddTokenButton.Click();
                    WebDriver.SwitchTo().Frame("travellerIFrame");
                    SetValue(traveller.Autofill.Identifier, S1, s1 => s1.SGPIdentifier);
                    S1.IssuingPage.SG_IDSaveButton.Click();
                    WebDriver.SwitchTo().DefaultContent();
                }
                else
                {
                    SetValue(traveller.Autofill.Identifier, S1, s1 => s1.Identifier);
                }
                if (traveller.Autofill.Identifier == traveller.Passport.Number)
                {
                    WebDriver.TabAndReturnFocusedElement();
                    if (S1.IssuingPage.AutofillSearchButton.Visible)
                    {
                        S1.IssuingPage.AutofillSearchButton.Click();
                    }
                    if (!string.IsNullOrEmpty(traveller.Passport.Country))
                    {
                        SetValue(traveller.Passport.Country.ToUpper(), S1, s1 => s1.PassportAutofillCountry);
                    }
                }

                bool autofill = S1.SearchAutofillTraveller();
                System.Threading.Thread.Sleep(3000);
                if (!autofill)
                {
                    Bitmap screenshot = WebDriver.TakeScreenshot();
                    SaveBitmap(WebDriver.TakeScreenshot(), "BasicIssuingwithAutofillTest_" + login.Username);

                    throw new AssertionException("Basic Issuing with Autofill failed for user: "******"dd/MM/yyyy");
                        //if (item.Receipt.Date == "" || DateTime.Today.Date.Subtract(Convert.ToDateTime(Convert.ToDateTime(item.Receipt.Date)
                        //    .ToString("dd/MM/yyyy"))).Days > 60)
                        //{
                        item.Receipt.Date = receiptDate;
                        //}
                    }
                    catch (Exception) { }
                    SetValue(item.Receipt.Date, currentRow, row => row.ReceiptDate);
                }

                SetValue(item.Description, currentRow, row => row.GoodsDescription);
                SetValue(item.Quantity, currentRow, row => row.Quantity);
                SetValue(item.Price, currentRow, row => row.Price);
                SetValue(item.PurchaseAmount, currentRow, row => row.PurchaseAmount);
                SetValue(item.GrossAmount, currentRow, row => row.GrossAmount);
                SetValue(item.Amount1, currentRow, row => row.Amount1);
                SetValue(item.Amount2, currentRow, row => row.Amount2);
                SetValue(item.Amount3, currentRow, row => row.Amount3);
                SetValue(item.Amount4, currentRow, row => row.Amount4);
                SetValue(item.Amount5, currentRow, row => row.Amount5);
                SetValue(item.Vat, currentRow, row => row.VAT);
            }

            SetValue(purchase.PurchaseDate, S1, s1 => s1.PurchaseDate);
            SetValue(purchase.MerchandiseDescription, S1, s1 => s1.MerchandiseDescription);
            SetValue(purchase.ShopInvoiceNumber, S1, s1 => s1.ShopInvoiceNumber);

            var    result = S1.IssueTff();
            string docid  = result.DocID;

            doc_ID = docid;

            if (string.IsNullOrEmpty(docid) && !tc.ExpectError)
            {
                SaveBitmap(result.Bitmap, callerName + "_" + tc.Login.Username);
                throw new AssertionException("Issuing TFF failed with error: " + result.ToastMsg);
            }
            else if (string.IsNullOrEmpty(docid) && tc.ExpectError)
            {
                Assert.Pass("TFF was not issued (expected behavior), with error: " + result.ToastMsg);
            }
            else
            {
                //Assert.Pass("TFF was issued successfully. DocID: " + docid);
                S1.IssuingPage.CloseButton.Click();
            }
        }