예제 #1
0
        public void Get_WithValidKeyAndUsername_ReturnsDetails()
        {
            // Setup
            var myUser       = "******";
            var dbUser       = new User();
            var mapperOutput = new AuthorizationDetails()
            {
                Username = "******"
            };
            var spec = Specification <User> .Start(u => true);

            _controller.Specs = Mock.Of <IUserSpecificationProvider>(
                s => s.ByUsername <User>(It.Is <string>(u => u == myUser)) == spec);
            var m = Mock.Get(_controller.Repo);

            m.Setup(r => r.FindOne(It.Is <ISpecification <User> >(s => s == spec), false, false,
                                   It.IsAny <Expression <Func <User, object> > >()))
            .Returns(dbUser);
            var mm = Mock.Get(_controller.Mapper);

            mm.Setup(o => o.Map <AuthorizationDetails>(It.Is <User>(u => u == dbUser)))
            .Returns(mapperOutput);

            var result = _controller.Get(myUser, AccessKey) as OkObjectResult;

            Mock.Get(_controller.Specs).Verify();
            m.Verify();
            mm.Verify();
            Assert.IsNotNull(result);
            Assert.IsNotNull(result.Value);
            Assert.AreEqual("imdifferent!", (result.Value as AuthorizationDetails).Username);
        }
        public AuthorizationDetails GetAuthorizationDetails()
        {
            if (_authorizationDetails != null)
            {
                return(_authorizationDetails);
            }

            var user = _httpContextAccessor.HttpContext.User;

            _authorizationDetails = new AuthorizationDetails(user.Claims);

            return(_authorizationDetails);
        }
예제 #3
0
        public async Task <ActionResult <CommandTemplate> > GetCommandDetails(string command)
        {
            var res = new AuthorizationDetails("de", command);
            var authorizationResult = await _authorizationService.AuthorizeAsync(User, res, "OpcoPolicy");

            if (!authorizationResult.Succeeded)
            {
                return(Forbid());
            }
            if (!_commandManagementService.CommandExists(command))
            {
                return(NotFound());
            }

            return(Ok(_commandManagementService.GetCommandTemplate(command)));
        }
예제 #4
0
        public bool ValidateAuthorization(string prefix, AuthorizationDetails authorizationDetails)
        {
            bool IsNotValid = false;

            if (authorizationDetails.Login == null || authorizationDetails.Login.Length < 3)
            {
                IsNotValid |= true;
                ModelState.AddModelError($"{prefix}{nameof(AuthorizationDetails.Login)}", "Login jest zbyt krótki");
            }
            if (authorizationDetails.Password == null || authorizationDetails.Password.Length < 8)
            {
                IsNotValid |= true;
                ModelState.AddModelError($"{prefix}{nameof(AuthorizationDetails.Password)}", "Hasło jest zbyt krótkie");
            }
            return(IsNotValid);
        }
예제 #5
0
        /// <summary>
        /// Handling the receiving message arriving from Telebox
        /// </summary>
        /// <param name="response">The response message</param>
        private void HandleMessage(string response)
        {
            try
            {
                // the response message is Transaction Complate event
                if (response.StartsWith("TransactionComplete"))
                {
                    AuthorizationDetails details = KioskProtocol.GetAuthorizationDetails(response);
                    TransactionComplateArrived(details);
                }

                // the response message is Reader Message event
                else if (response.StartsWith("ReaderMessageEvent"))
                {
                    string response1 = response.Replace("ReaderMessageEvent", "");
                    int    index     = Convert.ToInt32(KioskProtocol.DeserializeResponse(response1), 16);
                    // do not send the message index twice
                    if (_lastIndex == index)
                    {
                        return;
                    }
                    _lastIndex = index;

                    if (ReaderMessageEvent != null)
                    {
                        ReaderMessageEvent(index);
                    }
                }


                // the response message is Command response
                else
                {
                    _lastResult = KioskProtocol.DeserializeResponse(response);
                    _autoEvent.Set();
                }
            }
            catch
            {
                if (ErrorMessage != null)
                {
                    ErrorMessage("Error Deserialize Response data - " + (response ?? "null"));
                }
            }
        }
예제 #6
0
        public ActionResult Logowanie(AuthorizationDetails authorizationDetails)
        {
            if (ValidateAuthorization("", authorizationDetails))
            {
                return(View());
            }
            UserFiche user = UserFiche.AutorizeUser(authorizationDetails);

            if (user == null)
            {
                ModelState.AddModelError("Password", "błędne hasło");
                return(View());
            }
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }
예제 #7
0
 public static UserFiche AutorizeUser(AuthorizationDetails authorizationDetails)
 {
     using (Conector.User user = new Conector.User())
     {
         int id = user.Autorize(authorizationDetails.Login, Helper.Hash.SHA1Hash(authorizationDetails.Password));
         if (id != 0)
         {
             UserFiche userReturned = new UserFiche();
             CurentUser        = userReturned;
             userReturned.Id   = id;
             userReturned.Name = authorizationDetails.Login;
             return(userReturned);
         }
         else
         {
             return(null);
         }
     }
 }
예제 #8
0
        public bool FulfillBillingAddress(AmazonPaySettings settings, Order order, AuthorizationDetails details, out string formattedAddress)
        {
            formattedAddress = "";

            if (details == null)
            {
                AmazonPayApiData data;
                details = GetAuthorizationDetails(new AmazonPayClient(settings), order.AuthorizationTransactionId, out data);
            }

            if (details == null || !details.IsSetAuthorizationBillingAddress())
            {
                return(false);
            }

            bool countryAllowsShipping, countryAllowsBilling;

            // override billing address cause it is just copy of the shipping address
            details.AuthorizationBillingAddress.ToAddress(order.BillingAddress, _countryService, _stateProvinceService, out countryAllowsShipping, out countryAllowsBilling);

            if (!countryAllowsBilling)
            {
                formattedAddress = details.AuthorizationBillingAddress.ToFormatedAddress(_countryService, _stateProvinceService);
                return(false);
            }

            order.BillingAddress.CreatedOnUtc = DateTime.UtcNow;

            if (order.BillingAddress.Email.IsEmpty())
            {
                order.BillingAddress.Email = order.Customer.Email;
            }

            _orderService.UpdateOrder(order);

            formattedAddress = details.AuthorizationBillingAddress.ToFormatedAddress(_countryService, _stateProvinceService);

            return(true);
        }
예제 #9
0
        private async Task ResolveChallenges(AcmeClient acme)
        {
            if (_order.Status == OrderStatus.Pending)
            {
                _logger.LogInformation("Order is pending, resolving Authorizations");
                foreach (string authorizationUrl in _order.AuthorizationUrls)
                {
                    AuthorizationDetails authorizationDetail =
                        await acme.GetAuthorizationDetailsAsync(authorizationUrl, _order.Expires);

                    _authorizations[authorizationUrl] = authorizationDetail;

                    if (AuthorizationStatus.Pending == authorizationDetail.Status)
                    {
                        foreach (ChallengeDetails challenge in authorizationDetail.Challenges)
                        {
                            if (challenge.ChallengeType == ChallengeType.Http01)
                            {
                                await SaveChallengeDetailsAsync(challenge);

                                _logger.LogInformation("Challenge Handler has handled challenge:");
                                _logger.LogInformation(JsonSerializer.Serialize(challenge));
                                // tells the server we are ready for challenge
                                await acme.AnswerChallengeAsync(challenge.Url);

                                _logger.LogInformation("Refreshing Authorization status");
                                authorizationDetail =
                                    await acme.GetAuthorizationDetailsAsync(authorizationUrl, _order.Expires);

                                _logger.LogInformation(
                                    $"auth detail {authorizationUrl}: {JsonSerializer.Serialize(authorizationDetail)}");
                            }
                        }
                    }
                }
            }
        }
예제 #10
0
        public bool FulfillBillingAddress(AmazonPaySettings settings, Order order, AuthorizationDetails details, out string formattedAddress)
        {
            formattedAddress = "";

            if (details == null)
            {
                AmazonPayApiData data;
                details = GetAuthorizationDetails(new AmazonPayClient(settings), order.AuthorizationTransactionId, out data);
            }

            if (details == null || !details.IsSetAuthorizationBillingAddress())
                return false;

            bool countryAllowsShipping, countryAllowsBilling;

            // override billing address cause it is just copy of the shipping address
            details.AuthorizationBillingAddress.ToAddress(order.BillingAddress, _countryService, _stateProvinceService, out countryAllowsShipping, out countryAllowsBilling);

            if (!countryAllowsBilling)
            {
                formattedAddress = details.AuthorizationBillingAddress.ToFormatedAddress(_countryService, _stateProvinceService);
                return false;
            }

            order.BillingAddress.CreatedOnUtc = DateTime.UtcNow;

            if (order.BillingAddress.Email.IsEmpty())
                order.BillingAddress.Email = order.Customer.Email;

            _orderService.UpdateOrder(order);

            formattedAddress = details.AuthorizationBillingAddress.ToFormatedAddress(_countryService, _stateProvinceService);

            return true;
        }
 public IHttpActionResult Login(AuthorizationDetails authorizationDetails)
 {
     return(Ok());
 }
예제 #12
0
        private void sendEmail(string senderAddress, string senderPassword, string receiverAddress, Transaction transaction, AuthorizationDetails authorizationDetails)
        {
            SmtpClient client = new SmtpClient();                                                           //create SmtpClient instance to send email

            client.Host = "smtp.gmail.com";                                                                 //SMTP server host
            client.Port = 587;                                                                              //port
            client.UseDefaultCredentials = false;
            client.Credentials           = new System.Net.NetworkCredential(senderAddress, senderPassword); //check email address and password
            client.EnableSsl             = true;
            MailMessage message = new MailMessage();
            MailAddress from    = new MailAddress(senderAddress);//get sender email address

            if (receiverAddress != "")
            {
                if (Regex.IsMatch(receiverAddress, "\\w+@\\w+(\\.\\w+)+")) //use regular expression to check receiver email address
                {
                    MailAddress to = new MailAddress(receiverAddress);     //get receiver email address
                    message.To.Add(to);                                    //set receiver, the attribute To in MailMessage class can add multiple receivers
                }
                else
                {
                    MessageBox.Show("your email address is not valid.");
                    return;
                }
            }
            else
            {
                MessageBox.Show("your email address cannot be empty.");
                return;
            }
            if (senderAddress != "")
            {
                if (Regex.IsMatch(senderAddress, "\\w+@\\w+(\\.\\w+)+"))
                {
                    MailAddress cc = new MailAddress(senderAddress);
                    message.CC.Add(cc);
                }
                else
                {
                    MessageBox.Show("manager's email address is not valid.");
                    return;
                }
            }

            if (transaction.deposit == true)
            {
                message.Subject = "Security bond / damage deposit receipt from The Windsor Hotel - Booking Number: " + transaction.bookingNumber;//get email title
                //get the email body
                message.Body = "Security bond / damage deposit receipt from The Windsor Hotel<br/>" + "Booking Number: " + transaction.bookingNumber + "<br/>Transaction Reference Number: " + authorizationDetails.Transaction_Referance + "<br/>Name: " + transaction.firstName + " " + transaction.lastName + "<br/>Amount Paid: " + authorizationDetails.AmountAuthorized.ToString("F") + " AUD<br/>Phone Number: " + transaction.phoneNumber + "<br/>Card number:" + authorizationDetails.PartialPan + "<br/>Card Type: " + authorizationDetails.CardType + "<br/>Note: security bond / damage deposit will be released after check-out if no damage.";
            }
            else
            {
                message.Subject = "Receipt from The Windsor Hotel - Booking Number: " + transaction.bookingNumber;//get email title
                //get the email body
                message.Body = "Receipt from The Windsor Hotel<br/>" + "Booking Number: " + transaction.bookingNumber + "<br/>Transaction Reference Number: " + authorizationDetails.Transaction_Referance + "<br/>Name: " + transaction.firstName + " " + transaction.lastName + "<br/>Amount Paid: " + authorizationDetails.AmountAuthorized.ToString("F") + " AUD<br/>Phone Number: " + transaction.phoneNumber + "<br/>Card number:" + authorizationDetails.PartialPan + "<br/>Card Type: " + authorizationDetails.CardType;
            }
            message.From       = from;//set sender email address.
            message.IsBodyHtml = true;
            client.Send(message);
        }
예제 #13
0
        public static AuthorizeOnBillingAgreementResponse InvokeAuthorizeOnBillingAgreement(IOffAmazonPaymentsService service, AuthorizeOnBillingAgreementRequest request)
        {
            AuthorizeOnBillingAgreementResponse response = null;

            try
            {
                response = service.AuthorizeOnBillingAgreement(request);

                Console.WriteLine("Service Response");
                Console.WriteLine("=============================================================================");
                Console.WriteLine();

                Console.WriteLine("        AuthorizeOnBillingAgreementResponse");
                if (response.IsSetAuthorizeOnBillingAgreementResult())
                {
                    Console.WriteLine("            AuthorizeOnBillingAgreementResult");
                    AuthorizeOnBillingAgreementResult authorizeOnBillingAgreementResult = response.AuthorizeOnBillingAgreementResult;
                    if (authorizeOnBillingAgreementResult.IsSetAuthorizationDetails())
                    {
                        Console.WriteLine("                AuthorizationDetails");
                        AuthorizationDetails authorizationDetails = authorizeOnBillingAgreementResult.AuthorizationDetails;
                        if (authorizationDetails.IsSetAmazonAuthorizationId())
                        {
                            Console.WriteLine("                    AmazonAuthorizationId");
                            Console.WriteLine("                        {0}", authorizationDetails.AmazonAuthorizationId);
                        }
                        if (authorizationDetails.IsSetAuthorizationReferenceId())
                        {
                            Console.WriteLine("                    AuthorizationReferenceId");
                            Console.WriteLine("                        {0}", authorizationDetails.AuthorizationReferenceId);
                        }
                        if (authorizationDetails.IsSetAuthorizationBillingAddress())
                        {
                            Console.WriteLine("                    AuthorizationBillingAddress");
                            Address authorizationBillingAddress = authorizationDetails.AuthorizationBillingAddress;
                            if (authorizationBillingAddress.IsSetName())
                            {
                                Console.WriteLine("                        Name");
                                Console.WriteLine("                            {0}", authorizationBillingAddress.Name);
                            }
                            if (authorizationBillingAddress.IsSetAddressLine1())
                            {
                                Console.WriteLine("                        AddressLine1");
                                Console.WriteLine("                            {0}", authorizationBillingAddress.AddressLine1);
                            }
                            if (authorizationBillingAddress.IsSetAddressLine2())
                            {
                                Console.WriteLine("                        AddressLine2");
                                Console.WriteLine("                            {0}", authorizationBillingAddress.AddressLine2);
                            }
                            if (authorizationBillingAddress.IsSetAddressLine3())
                            {
                                Console.WriteLine("                        AddressLine3");
                                Console.WriteLine("                            {0}", authorizationBillingAddress.AddressLine3);
                            }
                            if (authorizationBillingAddress.IsSetCity())
                            {
                                Console.WriteLine("                        City");
                                Console.WriteLine("                            {0}", authorizationBillingAddress.City);
                            }
                            if (authorizationBillingAddress.IsSetCounty())
                            {
                                Console.WriteLine("                        County");
                                Console.WriteLine("                            {0}", authorizationBillingAddress.County);
                            }
                            if (authorizationBillingAddress.IsSetDistrict())
                            {
                                Console.WriteLine("                        District");
                                Console.WriteLine("                            {0}", authorizationBillingAddress.District);
                            }
                            if (authorizationBillingAddress.IsSetStateOrRegion())
                            {
                                Console.WriteLine("                        StateOrRegion");
                                Console.WriteLine("                            {0}", authorizationBillingAddress.StateOrRegion);
                            }
                            if (authorizationBillingAddress.IsSetPostalCode())
                            {
                                Console.WriteLine("                        PostalCode");
                                Console.WriteLine("                            {0}", authorizationBillingAddress.PostalCode);
                            }
                            if (authorizationBillingAddress.IsSetCountryCode())
                            {
                                Console.WriteLine("                        CountryCode");
                                Console.WriteLine("                            {0}", authorizationBillingAddress.CountryCode);
                            }
                            if (authorizationBillingAddress.IsSetPhone())
                            {
                                Console.WriteLine("                        Phone");
                                Console.WriteLine("                            {0}", authorizationBillingAddress.Phone);
                            }
                        }
                        if (authorizationDetails.IsSetSellerAuthorizationNote())
                        {
                            Console.WriteLine("                    SellerAuthorizationNote");
                            Console.WriteLine("                        {0}", authorizationDetails.SellerAuthorizationNote);
                        }
                        if (authorizationDetails.IsSetAuthorizationAmount())
                        {
                            Console.WriteLine("                    AuthorizationAmount");
                            Price authorizationAmount = authorizationDetails.AuthorizationAmount;
                            if (authorizationAmount.IsSetAmount())
                            {
                                Console.WriteLine("                        Amount");
                                Console.WriteLine("                            {0}", authorizationAmount.Amount);
                            }
                            if (authorizationAmount.IsSetCurrencyCode())
                            {
                                Console.WriteLine("                        CurrencyCode");
                                Console.WriteLine("                            {0}", authorizationAmount.CurrencyCode);
                            }
                        }
                        if (authorizationDetails.IsSetCapturedAmount())
                        {
                            Console.WriteLine("                    CapturedAmount");
                            Price capturedAmount = authorizationDetails.CapturedAmount;
                            if (capturedAmount.IsSetAmount())
                            {
                                Console.WriteLine("                        Amount");
                                Console.WriteLine("                            {0}", capturedAmount.Amount);
                            }
                            if (capturedAmount.IsSetCurrencyCode())
                            {
                                Console.WriteLine("                        CurrencyCode");
                                Console.WriteLine("                            {0}", capturedAmount.CurrencyCode);
                            }
                        }
                        if (authorizationDetails.IsSetAuthorizationFee())
                        {
                            Console.WriteLine("                    AuthorizationFee");
                            Price authorizationFee = authorizationDetails.AuthorizationFee;
                            if (authorizationFee.IsSetAmount())
                            {
                                Console.WriteLine("                        Amount");
                                Console.WriteLine("                            {0}", authorizationFee.Amount);
                            }
                            if (authorizationFee.IsSetCurrencyCode())
                            {
                                Console.WriteLine("                        CurrencyCode");
                                Console.WriteLine("                            {0}", authorizationFee.CurrencyCode);
                            }
                        }
                        if (authorizationDetails.IsSetIdList())
                        {
                            Console.WriteLine("                    IdList");
                            IdList        idList     = authorizationDetails.IdList;
                            List <String> memberList = idList.member;
                            foreach (String member in memberList)
                            {
                                Console.WriteLine("                        member");
                                Console.WriteLine("                            {0}", member);
                            }
                        }
                        if (authorizationDetails.IsSetCreationTimestamp())
                        {
                            Console.WriteLine("                    CreationTimestamp");
                            Console.WriteLine("                        {0}", authorizationDetails.CreationTimestamp);
                        }
                        if (authorizationDetails.IsSetExpirationTimestamp())
                        {
                            Console.WriteLine("                    ExpirationTimestamp");
                            Console.WriteLine("                        {0}", authorizationDetails.ExpirationTimestamp);
                        }
                        if (authorizationDetails.IsSetAuthorizationStatus())
                        {
                            Console.WriteLine("                    AuthorizationStatus");
                            Status authorizationStatus = authorizationDetails.AuthorizationStatus;
                            if (authorizationStatus.IsSetState())
                            {
                                Console.WriteLine("                        State");
                                Console.WriteLine("                            {0}", authorizationStatus.State);
                            }
                            if (authorizationStatus.IsSetLastUpdateTimestamp())
                            {
                                Console.WriteLine("                        LastUpdateTimestamp");
                                Console.WriteLine("                            {0}", authorizationStatus.LastUpdateTimestamp);
                            }
                            if (authorizationStatus.IsSetReasonCode())
                            {
                                Console.WriteLine("                        ReasonCode");
                                Console.WriteLine("                            {0}", authorizationStatus.ReasonCode);
                            }
                            if (authorizationStatus.IsSetReasonDescription())
                            {
                                Console.WriteLine("                        ReasonDescription");
                                Console.WriteLine("                            {0}", authorizationStatus.ReasonDescription);
                            }
                        }
                        if (authorizationDetails.IsSetOrderItemCategories())
                        {
                            Console.WriteLine("                    OrderItemCategories");
                            OrderItemCategories orderItemCategories   = authorizationDetails.OrderItemCategories;
                            List <String>       orderItemCategoryList = orderItemCategories.OrderItemCategory;
                            foreach (String orderItemCategory in orderItemCategoryList)
                            {
                                Console.WriteLine("                        OrderItemCategory");
                                Console.WriteLine("                            {0}", orderItemCategory);
                            }
                        }
                        if (authorizationDetails.IsSetCaptureNow())
                        {
                            Console.WriteLine("                    CaptureNow");
                            Console.WriteLine("                        {0}", authorizationDetails.CaptureNow);
                        }
                        if (authorizationDetails.IsSetSoftDescriptor())
                        {
                            Console.WriteLine("                    SoftDescriptor");
                            Console.WriteLine("                        {0}", authorizationDetails.SoftDescriptor);
                        }
                        if (authorizationDetails.IsSetAddressVerificationCode())
                        {
                            Console.WriteLine("                    AddressVerificationCode");
                            Console.WriteLine("                        {0}", authorizationDetails.AddressVerificationCode);
                        }
                    }
                    if (authorizeOnBillingAgreementResult.IsSetAmazonOrderReferenceId())
                    {
                        Console.WriteLine("                AmazonOrderReferenceId");
                        Console.WriteLine("                    {0}", authorizeOnBillingAgreementResult.AmazonOrderReferenceId);
                    }
                }
                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);
        }
 public static void printGetAuthorizationDetailsResponseToBuffer(GetAuthorizationDetailsResponse response, TextWriter writer)
 {
     writer.WriteLine("Service Response");
     writer.WriteLine("=============================================================================");
     writer.WriteLine();
     writer.WriteLine("        GetAuthorizationDetailsResponse");
     if (response.IsSetGetAuthorizationDetailsResult())
     {
         writer.WriteLine("            GetAuthorizationDetailsResult");
         GetAuthorizationDetailsResult getAuthorizationDetailsResult = response.GetAuthorizationDetailsResult;
         if (getAuthorizationDetailsResult.IsSetAuthorizationDetails())
         {
             writer.WriteLine("                AuthorizationDetails");
             AuthorizationDetails authorizationDetails = getAuthorizationDetailsResult.AuthorizationDetails;
             if (authorizationDetails.IsSetAmazonAuthorizationId())
             {
                 writer.WriteLine("                    AmazonAuthorizationId");
                 writer.WriteLine("                        {0}", authorizationDetails.AmazonAuthorizationId);
             }
             if (authorizationDetails.IsSetAuthorizationReferenceId())
             {
                 writer.WriteLine("                    AuthorizationReferenceId");
                 writer.WriteLine("                        {0}", authorizationDetails.AuthorizationReferenceId);
             }
             if (authorizationDetails.IsSetAuthorizationBillingAddress())
             {
                 writer.WriteLine("                    AuthorizationBillingAddress");
                 Address authorizationBillingAddress = authorizationDetails.AuthorizationBillingAddress;
                 if (authorizationBillingAddress.IsSetName())
                 {
                     writer.WriteLine("                            Name");
                     writer.WriteLine("                                {0}", authorizationBillingAddress.Name);
                 }
                 if (authorizationBillingAddress.IsSetAddressLine1())
                 {
                     writer.WriteLine("                            AddressLine1");
                     writer.WriteLine("                                {0}", authorizationBillingAddress.AddressLine1);
                 }
                 if (authorizationBillingAddress.IsSetAddressLine2())
                 {
                     writer.WriteLine("                            AddressLine2");
                     writer.WriteLine("                                {0}", authorizationBillingAddress.AddressLine2);
                 }
                 if (authorizationBillingAddress.IsSetAddressLine3())
                 {
                     writer.WriteLine("                            AddressLine3");
                     writer.WriteLine("                                {0}", authorizationBillingAddress.AddressLine3);
                 }
                 if (authorizationBillingAddress.IsSetCity())
                 {
                     writer.WriteLine("                            City");
                     writer.WriteLine("                                {0}", authorizationBillingAddress.City);
                 }
                 if (authorizationBillingAddress.IsSetCounty())
                 {
                     writer.WriteLine("                            County");
                     writer.WriteLine("                                {0}", authorizationBillingAddress.County);
                 }
                 if (authorizationBillingAddress.IsSetDistrict())
                 {
                     writer.WriteLine("                            District");
                     writer.WriteLine("                                {0}", authorizationBillingAddress.District);
                 }
                 if (authorizationBillingAddress.IsSetStateOrRegion())
                 {
                     writer.WriteLine("                            StateOrRegion");
                     writer.WriteLine("                                {0}", authorizationBillingAddress.StateOrRegion);
                 }
                 if (authorizationBillingAddress.IsSetPostalCode())
                 {
                     writer.WriteLine("                            PostalCode");
                     writer.WriteLine("                                {0}", authorizationBillingAddress.PostalCode);
                 }
                 if (authorizationBillingAddress.IsSetCountryCode())
                 {
                     writer.WriteLine("                            CountryCode");
                     writer.WriteLine("                                {0}", authorizationBillingAddress.CountryCode);
                 }
                 if (authorizationBillingAddress.IsSetPhone())
                 {
                     writer.WriteLine("                            Phone");
                     writer.WriteLine("                                {0}", authorizationBillingAddress.Phone);
                 }
             }
             if (authorizationDetails.IsSetSellerAuthorizationNote())
             {
                 writer.WriteLine("                    SellerAuthorizationNote");
                 writer.WriteLine("                        {0}", authorizationDetails.SellerAuthorizationNote);
             }
             if (authorizationDetails.IsSetAuthorizationAmount())
             {
                 writer.WriteLine("                    AuthorizationAmount");
                 Price authorizationAmount = authorizationDetails.AuthorizationAmount;
                 if (authorizationAmount.IsSetAmount())
                 {
                     writer.WriteLine("                        Amount");
                     writer.WriteLine("                            {0}", authorizationAmount.Amount);
                 }
                 if (authorizationAmount.IsSetCurrencyCode())
                 {
                     writer.WriteLine("                        CurrencyCode");
                     writer.WriteLine("                            {0}", authorizationAmount.CurrencyCode);
                 }
             }
             if (authorizationDetails.IsSetCapturedAmount())
             {
                 writer.WriteLine("                    CapturedAmount");
                 Price capturedAmount = authorizationDetails.CapturedAmount;
                 if (capturedAmount.IsSetAmount())
                 {
                     writer.WriteLine("                        Amount");
                     writer.WriteLine("                            {0}", capturedAmount.Amount);
                 }
                 if (capturedAmount.IsSetCurrencyCode())
                 {
                     writer.WriteLine("                        CurrencyCode");
                     writer.WriteLine("                            {0}", capturedAmount.CurrencyCode);
                 }
             }
             if (authorizationDetails.IsSetAuthorizationFee())
             {
                 writer.WriteLine("                    AuthorizationFee");
                 Price authorizationFee = authorizationDetails.AuthorizationFee;
                 if (authorizationFee.IsSetAmount())
                 {
                     writer.WriteLine("                        Amount");
                     writer.WriteLine("                            {0}", authorizationFee.Amount);
                 }
                 if (authorizationFee.IsSetCurrencyCode())
                 {
                     writer.WriteLine("                        CurrencyCode");
                     writer.WriteLine("                            {0}", authorizationFee.CurrencyCode);
                 }
             }
             if (authorizationDetails.IsSetCreationTimestamp())
             {
                 writer.WriteLine("                    CreationTimestamp");
                 writer.WriteLine("                        {0}", authorizationDetails.CreationTimestamp);
             }
             if (authorizationDetails.IsSetExpirationTimestamp())
             {
                 writer.WriteLine("                    ExpirationTimestamp");
                 writer.WriteLine("                        {0}", authorizationDetails.ExpirationTimestamp);
             }
             if (authorizationDetails.IsSetAuthorizationStatus())
             {
                 writer.WriteLine("                    AuthorizationStatus");
                 Status authorizationStatus = authorizationDetails.AuthorizationStatus;
                 if (authorizationStatus.IsSetState())
                 {
                     writer.WriteLine("                        State");
                     writer.WriteLine("                            {0}", authorizationStatus.State);
                 }
                 if (authorizationStatus.IsSetLastUpdateTimestamp())
                 {
                     writer.WriteLine("                        LastUpdateTimestamp");
                     writer.WriteLine("                            {0}", authorizationStatus.LastUpdateTimestamp);
                 }
                 if (authorizationStatus.IsSetReasonCode())
                 {
                     writer.WriteLine("                        ReasonCode");
                     writer.WriteLine("                            {0}", authorizationStatus.ReasonCode);
                 }
                 if (authorizationStatus.IsSetReasonDescription())
                 {
                     writer.WriteLine("                        ReasonDescription");
                     writer.WriteLine("                            {0}", authorizationStatus.ReasonDescription);
                 }
                 if (authorizationDetails.IsSetAddressVerificationCode())
                 {
                     writer.WriteLine("                    AddressVerificationCode");
                     writer.WriteLine("                        {0}", authorizationDetails.AddressVerificationCode);
                 }
             }
         }
     }
     if (response.IsSetResponseMetadata())
     {
         writer.WriteLine("            ResponseMetadata");
         ResponseMetadata responseMetadata = response.ResponseMetadata;
         if (responseMetadata.IsSetRequestId())
         {
             writer.WriteLine("                RequestId");
             writer.WriteLine("                    {0}", responseMetadata.RequestId);
         }
     }
 }
        public static AuthorizeResponse InvokeAuthorize(IOffAmazonPaymentsService service, AuthorizeRequest request)
        {
            AuthorizeResponse response = null;

            try
            {
                response = service.Authorize(request);

                Console.WriteLine("Service Response");
                Console.WriteLine("=============================================================================");
                Console.WriteLine();
                Console.WriteLine("        AuthorizeResponse");
                if (response.IsSetAuthorizeResult())
                {
                    Console.WriteLine("            AuthorizeResult");
                    AuthorizeResult authorizeResult = response.AuthorizeResult;
                    if (authorizeResult.IsSetAuthorizationDetails())
                    {
                        Console.WriteLine("                AuthorizationDetails");
                        AuthorizationDetails authorizationDetails = authorizeResult.AuthorizationDetails;
                        if (authorizationDetails.IsSetAmazonAuthorizationId())
                        {
                            Console.WriteLine("                    AmazonAuthorizationId");
                            Console.WriteLine("                        {0}", authorizationDetails.AmazonAuthorizationId);
                        }
                        if (authorizationDetails.IsSetAuthorizationReferenceId())
                        {
                            Console.WriteLine("                    AuthorizationReferenceId");
                            Console.WriteLine("                        {0}", authorizationDetails.AuthorizationReferenceId);
                        }
                        if (authorizationDetails.IsSetAuthorizationBillingAddress())
                        {
                            Console.WriteLine("                    AuthorizationBillingAddress");
                            Address authorizationBillingAddress = authorizationDetails.AuthorizationBillingAddress;
                            if (authorizationBillingAddress.IsSetName())
                            {
                                Console.WriteLine("                            Name");
                                Console.WriteLine("                                {0}", authorizationBillingAddress.Name);
                            }
                            if (authorizationBillingAddress.IsSetAddressLine1())
                            {
                                Console.WriteLine("                            AddressLine1");
                                Console.WriteLine("                                {0}", authorizationBillingAddress.AddressLine1);
                            }
                            if (authorizationBillingAddress.IsSetAddressLine2())
                            {
                                Console.WriteLine("                            AddressLine2");
                                Console.WriteLine("                                {0}", authorizationBillingAddress.AddressLine2);
                            }
                            if (authorizationBillingAddress.IsSetAddressLine3())
                            {
                                Console.WriteLine("                            AddressLine3");
                                Console.WriteLine("                                {0}", authorizationBillingAddress.AddressLine3);
                            }
                            if (authorizationBillingAddress.IsSetCity())
                            {
                                Console.WriteLine("                            City");
                                Console.WriteLine("                                {0}", authorizationBillingAddress.City);
                            }
                            if (authorizationBillingAddress.IsSetCounty())
                            {
                                Console.WriteLine("                            County");
                                Console.WriteLine("                                {0}", authorizationBillingAddress.County);
                            }
                            if (authorizationBillingAddress.IsSetDistrict())
                            {
                                Console.WriteLine("                            District");
                                Console.WriteLine("                                {0}", authorizationBillingAddress.District);
                            }
                            if (authorizationBillingAddress.IsSetStateOrRegion())
                            {
                                Console.WriteLine("                            StateOrRegion");
                                Console.WriteLine("                                {0}", authorizationBillingAddress.StateOrRegion);
                            }
                            if (authorizationBillingAddress.IsSetPostalCode())
                            {
                                Console.WriteLine("                            PostalCode");
                                Console.WriteLine("                                {0}", authorizationBillingAddress.PostalCode);
                            }
                            if (authorizationBillingAddress.IsSetCountryCode())
                            {
                                Console.WriteLine("                            CountryCode");
                                Console.WriteLine("                                {0}", authorizationBillingAddress.CountryCode);
                            }
                            if (authorizationBillingAddress.IsSetPhone())
                            {
                                Console.WriteLine("                            Phone");
                                Console.WriteLine("                                {0}", authorizationBillingAddress.Phone);
                            }
                        }
                        if (authorizationDetails.IsSetSellerAuthorizationNote())
                        {
                            Console.WriteLine("                    SellerAuthorizationNote");
                            Console.WriteLine("                        {0}", authorizationDetails.SellerAuthorizationNote);
                        }
                        if (authorizationDetails.IsSetAuthorizationAmount())
                        {
                            Console.WriteLine("                    AuthorizationAmount");
                            Price authorizationAmount = authorizationDetails.AuthorizationAmount;
                            if (authorizationAmount.IsSetAmount())
                            {
                                Console.WriteLine("                        Amount");
                                Console.WriteLine("                            {0}", authorizationAmount.Amount);
                            }
                            if (authorizationAmount.IsSetCurrencyCode())
                            {
                                Console.WriteLine("                        CurrencyCode");
                                Console.WriteLine("                            {0}", authorizationAmount.CurrencyCode);
                            }
                        }
                        if (authorizationDetails.IsSetCapturedAmount())
                        {
                            Console.WriteLine("                    CapturedAmount");
                            Price capturedAmount = authorizationDetails.CapturedAmount;
                            if (capturedAmount.IsSetAmount())
                            {
                                Console.WriteLine("                        Amount");
                                Console.WriteLine("                            {0}", capturedAmount.Amount);
                            }
                            if (capturedAmount.IsSetCurrencyCode())
                            {
                                Console.WriteLine("                        CurrencyCode");
                                Console.WriteLine("                            {0}", capturedAmount.CurrencyCode);
                            }
                        }
                        if (authorizationDetails.IsSetAuthorizationFee())
                        {
                            Console.WriteLine("                    AuthorizationFee");
                            Price authorizationFee = authorizationDetails.AuthorizationFee;
                            if (authorizationFee.IsSetAmount())
                            {
                                Console.WriteLine("                        Amount");
                                Console.WriteLine("                            {0}", authorizationFee.Amount);
                            }
                            if (authorizationFee.IsSetCurrencyCode())
                            {
                                Console.WriteLine("                        CurrencyCode");
                                Console.WriteLine("                            {0}", authorizationFee.CurrencyCode);
                            }
                        }
                        if (authorizationDetails.IsSetCreationTimestamp())
                        {
                            Console.WriteLine("                    CreationTimestamp");
                            Console.WriteLine("                        {0}", authorizationDetails.CreationTimestamp);
                        }
                        if (authorizationDetails.IsSetExpirationTimestamp())
                        {
                            Console.WriteLine("                    ExpirationTimestamp");
                            Console.WriteLine("                        {0}", authorizationDetails.ExpirationTimestamp);
                        }
                        if (authorizationDetails.IsSetAuthorizationStatus())
                        {
                            Console.WriteLine("                    AuthorizationStatus");
                            Status authorizationStatus = authorizationDetails.AuthorizationStatus;
                            if (authorizationStatus.IsSetState())
                            {
                                Console.WriteLine("                        State");
                                Console.WriteLine("                            {0}", authorizationStatus.State);
                            }
                            if (authorizationStatus.IsSetLastUpdateTimestamp())
                            {
                                Console.WriteLine("                        LastUpdateTimestamp");
                                Console.WriteLine("                            {0}", authorizationStatus.LastUpdateTimestamp);
                            }
                            if (authorizationStatus.IsSetReasonCode())
                            {
                                Console.WriteLine("                        ReasonCode");
                                Console.WriteLine("                            {0}", authorizationStatus.ReasonCode);
                            }
                            if (authorizationStatus.IsSetReasonDescription())
                            {
                                Console.WriteLine("                        ReasonDescription");
                                Console.WriteLine("                            {0}", authorizationStatus.ReasonDescription);
                            }
                        }
                        if (authorizationDetails.IsSetAddressVerificationCode())
                        {
                            Console.WriteLine("                    AddressVerificationCode");
                            Console.WriteLine("                        {0}", authorizationDetails.AddressVerificationCode);
                        }
                    }
                }
            }

            catch (OffAmazonPaymentsServiceException ex)
            {
                PrintException(ex);
            }
            return(response);
        }
예제 #16
0
 /// <summary>
 /// Send the transaction complate event to application
 /// </summary>
 /// <param name="details"></param>
 void _clsUsbCom_TransactionComplateArrived(AuthorizationDetails details)
 {
     TransactionComplateEvent(details);
 }
예제 #17
0
        public AuthorizationDetails GetAuthorizationDetails(AmazonPayClient client, string authorizationId, out AmazonPayApiData data)
        {
            data = new AmazonPayApiData();

            AuthorizationDetails details = null;
            var request = new GetAuthorizationDetailsRequest();

            request.SellerId = client.Settings.SellerId;
            request.AmazonAuthorizationId = authorizationId;

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

            if (response.IsSetGetAuthorizationDetailsResult())
            {
                var result = response.GetAuthorizationDetailsResult;

                if (result != null && result.IsSetAuthorizationDetails())
                {
                    details = result.AuthorizationDetails;
                }
            }

            try
            {
                data.MessageType = "GetAuthorizationDetails";

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

                if (details != null)
                {
                    if (details.IsSetAmazonAuthorizationId())
                    {
                        data.AuthorizationId = details.AmazonAuthorizationId;
                    }

                    if (details.IsSetAuthorizationReferenceId())
                    {
                        data.ReferenceId = details.AuthorizationReferenceId;
                    }

                    if (details.IsSetIdList() && details.IdList.IsSetmember())
                    {
                        data.CaptureId = (details.IdList.member != null && details.IdList.member.Count > 0 ? details.IdList.member[0] : null);
                    }

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

                    if (details.IsSetAuthorizationAmount())
                    {
                        data.AuthorizedAmount = new AmazonPayApiPrice(details.AuthorizationAmount.Amount, details.AuthorizationAmount.CurrencyCode);
                    }

                    if (details.IsSetCapturedAmount())
                    {
                        data.CapturedAmount = new AmazonPayApiPrice(details.CapturedAmount.Amount, details.CapturedAmount.CurrencyCode);
                    }

                    if (details.IsSetCaptureNow())
                    {
                        data.CaptureNow = details.CaptureNow;
                    }

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

                    if (details.IsSetExpirationTimestamp())
                    {
                        data.Expiration = details.ExpirationTimestamp;
                    }

                    if (details.IsSetAuthorizationStatus())
                    {
                        data.ReasonCode        = details.AuthorizationStatus.ReasonCode;
                        data.ReasonDescription = details.AuthorizationStatus.ReasonDescription;
                        data.State             = details.AuthorizationStatus.State.ToString();
                        data.StateLastUpdate   = details.AuthorizationStatus.LastUpdateTimestamp;
                    }
                }
            }
            catch (Exception exc)
            {
                exc.Dump();
            }
            return(details);
        }
예제 #18
0
        /// <summary>
        /// TransactionComplateEvent event arrived with the transaction details
        /// </summary>
        private async void _kioskHandler_TransactionComplateEvent(AuthorizationDetails authorizationDetails)
        {
            BeginInvoke(new ThreadStart(delegate
            {
                EnablePaymentButton(authorizationDetails.status == Status.OK && !_isPayTransaction
                    ? ButtonState.ConfirmVoid
                    : ButtonState.Pay);


                _tbStatus.Text = authorizationDetails.status.ToString();


                // display error
                if (authorizationDetails.ErrorCode != 0)
                {
                    _tbError.Text = string.Format("{0}. code: {1}", authorizationDetails.ErrorDescription,
                                                  authorizationDetails.ErrorCode);
                }

                // store transactopn detailes for Confirm or Void transaction
                LastAuthorizationDetails = authorizationDetails;

                // display transaction detailes
                _tbAmountResult.Text         = authorizationDetails.AmountAuthorized.ToString("F");
                _tbTransactionReference.Text = authorizationDetails.Transaction_Referance;
                _tbPan.Text      = authorizationDetails.PartialPan;
                _tbCardType.Text = authorizationDetails.CardType;

                // additional parameters
                for (int i = 0; i < _labelsAddParams.Length && i < _boxsAddParams.Length; i++)
                {
                    if (i >= authorizationDetails.additionalParameters.Count)
                    {
                        _labelsAddParams[i].Visible = false;
                        _boxsAddParams[i].Visible   = false;
                        continue;
                    }
                    _labelsAddParams[i].Text = authorizationDetails.additionalParameters[i].Name;
                    _boxsAddParams[i].Text   = authorizationDetails.additionalParameters[i].Value;
                }

                // show complete message on Saturn Reader
                try
                {
                    // wait for built-in Kiosk 'APPROVED' message to show
                    System.Threading.Thread.Sleep(3000);


                    // if error => display idle message
                    if (authorizationDetails.ErrorCode != 0 || authorizationDetails.status != Status.OK)
                    {
                        IdleMessage();
                        return;
                    }

                    if (_isPayTransaction)
                    {
                        DisplayThanksMessage(authorizationDetails.AmountAuthorized);
                    }
                    else // pre-auth
                    {
                        ShowMessage(MSG_CONFIRM1, MSG_CONFIRM2);
                    }
                }
                catch (Exception ex)
                {
                    _Logger.AddText(ex.ToString(), Messagetype.Error);
                }
            }));

            //update data and send emails
            //var response = await _httpClient.GetAsync(apiURL);
            ////var results = await response.Content.ReadAsAsync<IEnumerable<Transaction>>();
            //Transaction last_transaction = new Transaction();
            //if (response.IsSuccessStatusCode)
            //{
            //    List<Transaction> transactions = (new JavaScriptSerializer()).Deserialize<List<Transaction>>(response.Content.ReadAsStringAsync().Result);
            //    if (transactions.Count > 0) { last_transaction = transactions.Last(); }
            //}
            _isTransaction = false;
            Transaction last_transaction = new Transaction();

            last_transaction = await get_Last_Transaction(apiURL);

            if (authorizationDetails.status != Status.OK)
            {
                if (authorizationDetails.status == Status.Declined || authorizationDetails.status == Status.Voided || authorizationDetails.status == Status.Error)
                {
                    last_transaction.paid         = false;
                    last_transaction.cardDetected = true;
                }
                else
                {
                    last_transaction.paid         = false;
                    last_transaction.cardDetected = false;
                }
                await update_Transaction(last_transaction);
            }
            else
            {
                last_transaction.paid         = true;
                last_transaction.cardDetected = true;
                await update_Transaction(last_transaction);

                sendEmail(_tbManagerEmail.Text, _tbManagerEmailPassword.Text, _tbEmail.Text, last_transaction, authorizationDetails);
            }
        }