コード例 #1
0
ファイル: PayPalSystem.cs プロジェクト: chadfords/nfx
        private void ensureCurrentOAuthToken(PayPalConnectionParameters connectParameters)
        {
            var token = connectParameters.User.AuthToken.Data as PayPalOAuthToken;

            if (token == null || token.IsCloseToExpire())
            {
                refreshOAuthToken(connectParameters);
            }
        }
コード例 #2
0
        private void refreshOAuthToken(PayPalConnectionParameters connectParameters)
        {
            try
            {
                Log(MessageType.Info, "refreshOAuthToken()", StringConsts.PAYPAL_REFRESH_TOKEN_MESSAGE);

                var user = connectParameters.User;

                var request = new WebClient.RequestParams
                {
                    Caller      = this,
                    Uri         = new Uri(m_ApiUri + URI_GET_OAUTH_TOKEN),
                    Method      = HTTPRequestMethod.POST,
                    ContentType = ContentType.FORM_URL_ENCODED,
                    Headers     = new Dictionary <string, string>
                    {
                        { HDR_AUTHORIZATION, HDR_AUTHORIZATION_BASIC.Args(getBaseAuthString(user.Credentials)) }
                    },
                    BodyParameters = new Dictionary <string, string>
                    {
                        { PRM_GRANT_TYPE, PRM_CLIENT_CREDENTIALS }
                    }
                };

                var response = WebClient.GetJson(request);
                Log(MessageType.Info, "refreshOAuthToken()", response.ToJSON());

                var oauthToken = new PayPalOAuthToken(response, m_OAuthTokenExpirationMargin);
                var token      = new AuthenticationToken(PAYPAL_REALM, oauthToken);
                connectParameters.User = new User(user.Credentials, token, user.Name, user.Rights);

                Log(MessageType.Info, "refreshOAuthToken()", StringConsts.PAYPAL_TOKEN_REFRESHED_MESSAGE);
            }
            catch (Exception ex)
            {
                var message = StringConsts.PAYPAL_REFRESH_TOKEN_ERROR.Args(ex.ToMessageWithType());
                var error   = PayPalPaymentException.ComposeError(message, ex);
                Log(MessageType.Error, "refreshOAuthToken()", error.Message, ex);

                throw error;
            }
        }
コード例 #3
0
 public PayPalSession StartSession(PayPalConnectionParameters cParams)
 {
     ensureCurrentOAuthToken(cParams);
     return(new PayPalSession(this, cParams));
 }
コード例 #4
0
ファイル: PayPalSystem.cs プロジェクト: PavelTorgashov/nfx
          private void refreshOAuthToken(PayPalConnectionParameters connectParameters)
          {   
              try
              {
                  Log(MessageType.Info, "refreshOAuthToken()", StringConsts.PAYPAL_REFRESH_TOKEN_MESSAGE);

                  var user = connectParameters.User;
                  
                  var request = new WebClient.RequestParams
                  { 
                      Caller = this,
                      Uri = new Uri(m_ApiUri + URI_GET_OAUTH_TOKEN),
                      Method = HTTPRequestMethod.POST,
                      ContentType = ContentType.FORM_URL_ENCODED,
                      Headers = new Dictionary<string, string> 
                          { 
                              { HDR_AUTHORIZATION, HDR_AUTHORIZATION_BASIC.Args(getBaseAuthString(user.Credentials)) } 
                          },
                      BodyParameters = new Dictionary<string, string> 
                          { 
                              { PRM_GRANT_TYPE, PRM_CLIENT_CREDENTIALS } 
                          }
                  };
                  
                  var response = WebClient.GetJson(request);
                  Log(MessageType.Info, "refreshOAuthToken()", response.ToJSON());
                  
                  var oauthToken = new PayPalOAuthToken(response, m_OAuthTokenExpirationMargin);
                  var token = new AuthenticationToken(PAYPAL_REALM, oauthToken);
                  connectParameters.User = new User(user.Credentials, token, user.Name, user.Rights);

                  Log(MessageType.Info, "refreshOAuthToken()", StringConsts.PAYPAL_TOKEN_REFRESHED_MESSAGE);
              }
              catch (Exception ex)
              {   
                  var message = StringConsts.PAYPAL_REFRESH_TOKEN_ERROR.Args(ex.ToMessageWithType());
                  var error = PayPalPaymentException.ComposeError(message, ex);
                  Log(MessageType.Error, "refreshOAuthToken()", error.Message, ex);
                  
                  throw error;
              }
          } 
コード例 #5
0
ファイル: PayPalSystem.cs プロジェクト: PavelTorgashov/nfx
 private void ensureCurrentOAuthToken(PayPalConnectionParameters connectParameters)
 {
     var token = connectParameters.User.AuthToken.Data as PayPalOAuthToken;
     if (token == null || token.IsCloseToExpire())
         refreshOAuthToken(connectParameters);
 }
コード例 #6
0
ファイル: PayPalSystem.cs プロジェクト: PavelTorgashov/nfx
 public PayPalSession StartSession(PayPalConnectionParameters cParams)
 {                             
     ensureCurrentOAuthToken(cParams);  
     return new PayPalSession(this, cParams);
 }
コード例 #7
0
ファイル: PayPalSession.cs プロジェクト: dotnetchris/nfx
 public PayPalSession(PayPalSystem paySystem, PayPalConnectionParameters cParams)
     : base(paySystem, cParams)
 {
     m_ConnectionParameters = cParams;
 }
コード例 #8
0
ファイル: PayPalSession.cs プロジェクト: itadapter/nfx
 public PayPalSession(PayPalSystem paySystem, PayPalConnectionParameters cParams)
     : base(paySystem, cParams)
 {
     m_ConnectionParameters = cParams;
 }
コード例 #9
0
 public PayPalSession(PayPalSystem paySystem, PayPalConnectionParameters cParams, IPaySessionContext context = null)
     : base(paySystem, cParams, context)
 {
 }