Пример #1
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="authorizationRequest">PagSeguro AuthorizationRequest</param>
        /// <returns></returns>
        public static IDictionary<string, string> GetData(AuthorizationRequest authorizationRequest)
        {
            IDictionary<string, string> data = new Dictionary<string, string>();

            // Reference
            if (authorizationRequest.Reference != null)
            {
                data["reference"] = authorizationRequest.Reference;
            }

            // RedirectURL
            if (authorizationRequest.RedirectURL != null)
            {
                data["redirectURL"] = authorizationRequest.RedirectURL;
            }

            // NotificationURL
            if (authorizationRequest.NotificationURL != null)
            {
                data["notificationURL"] = authorizationRequest.NotificationURL;
            }

            // Permissions
            if (authorizationRequest.Permissions != null)
            {
                data["permissions"] = string.Join(",", authorizationRequest.Permissions.ToArray());
            }

            return data;
        }
Пример #2
0
        /// <summary>
        /// Creates a new authorization request
        /// </summary>
        /// <param name="credentials">PagSeguro credentials. Required</param>
        /// <param name="authorizationRequest">PagSeguro AuthorizationRequest</param>
        /// <param name="onlyAuthorizationCode"></param>
        /// <returns></returns>
        public static String CreateAuthorizationRequest(Credentials credentials, AuthorizationRequest authorizationRequest, Boolean onlyAuthorizationCode)
        {
            PagSeguroTrace.Info(String.Format(CultureInfo.InvariantCulture, "AuthorizationService.CreateAuthorizationRequest() - begin"));

            try
            {
                using (HttpWebResponse response = HttpURLConnectionUtil.GetHttpPostConnection(
                    PagSeguroConfiguration.AuthorizarionRequestUri.AbsoluteUri, buildAuthorizationRequestUrl(credentials, authorizationRequest)))
                {
                    using (XmlReader reader = XmlReader.Create(response.GetResponseStream()))
                    {
                        AuthorizationResponse authorization = new AuthorizationResponse();
                        AuthorizationSerializer.Read(reader, authorization);

                        if (onlyAuthorizationCode) {
                            return authorization.Code;
                        } else {
                            return BuildAuthorizationURL(authorization.Code);
                        }
                    }
                }
            }
            catch (WebException pse)
            {
                throw pse;
            }
            catch (PagSeguroServiceException pse)
            {
                throw pse;
            }
        }
Пример #3
0
        static void Main(string[] args)
        {
            bool isSandbox = false;
            EnvironmentConfiguration.ChangeEnvironment(isSandbox);

            AuthorizationRequest authorization = new AuthorizationRequest();

            authorization.Reference = "REF1234";

            authorization.RedirectURL = "http://www.lojamodelo.com.br/redirect";

            authorization.NotificationURL = "http://www.lojamodelo.com.br/notification";

            authorization.addPermission(PermissionType.CREATE_CHECKOUTS);
            authorization.addPermission(PermissionType.DIRECT_PAYMENT);
            authorization.addPermission(PermissionType.MANAGE_PAYMENT_PRE_APPROVALS);
            authorization.addPermission(PermissionType.RECEIVE_TRANSACTION_NOTIFICATIONS);
            authorization.addPermission(PermissionType.SEARCH_TRANSACTIONS);

            try
            {

                ApplicationCredentials credentials = PagSeguroConfiguration.ApplicationCredentials(isSandbox);

                String result = authorization.Register(credentials);

                Console.WriteLine("URL da autorização: " + result);
                Console.ReadKey();
            }
            catch (WebException exception)
            {
                Console.WriteLine(exception.Message + "\n");
                Console.ReadKey();
            }
            catch (PagSeguroServiceException exception)
            {
                Console.WriteLine(exception.Message + "\n");

                foreach (ServiceError element in exception.Errors)
                {
                    Console.WriteLine(element + "\n");
                }
                Console.ReadKey();
            }
        }
Пример #4
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="connection"></param>
        /// <param name="code"></param>
        /// <returns></returns>
        internal static string buildAuthorizationRequestUrl(Credentials credentials, AuthorizationRequest authorizationRequest)
        {
            QueryStringBuilder builder = new QueryStringBuilder();
            IDictionary<string, string> data = AuthorizationParse.GetData(authorizationRequest);

            builder.
                EncodeCredentialsAsQueryString(credentials);

            foreach (KeyValuePair<string, string> pair in data)
            {
                builder.Append(pair.Key, pair.Value.ToString(CultureInfo.InvariantCulture));
            }

            return HttpUtility.UrlDecode(builder.ToString());
        }