protected override void OnDestroy()
        {
            KnetikGlobalEventSystem.Unsubscribe <KnetikCloudUserAuthenticateRequestEvent>(OnUserAuthenticateRequest);
            KnetikGlobalEventSystem.Unsubscribe <KnetikCloudClientAuthenticateRequestEvent>(OnClientAuthenticateRequest);
            KnetikGlobalEventSystem.Unsubscribe <KnetikCloudTokenAuthenticateRequestEvent>(OnTokenAuthenticateRequest);

            mAccessTokenApi  = null;
            mProjectSettings = null;

            base.OnDestroy();
        }
Exemplo n.º 2
0
        public void TestCallGetAccessTokenApi()
        {
            IAccessTokenApi api = new AccessTokenApi();

            api.AppId     = "wx2821049fc9d4f632";
            api.AppSecret = "7abc65a7f37668be0ea87e1a7aae25b6";
            var response = api.Execute();

            Assert.IsNotNull(response);
            Assert.IsNotNull(response.AccessToken);
            Assert.IsTrue(response.Expires_In > 0);
        }
Exemplo n.º 3
0
        public void TestCreateRequestWithQueryString()
        {
            AccessTokenApi api = new AccessTokenApi();

            api.AppId     = "wx2821049fc9d4f632";
            api.AppSecret = "7abc65a7f37668be0ea87e1a7aae25b6";
            RequestBuilder <AccessTokenApiResponse> builder = new RequestBuilder <AccessTokenApiResponse>(api);
            IRestRequest result = builder.GetRequest();

            Assert.AreEqual("/cgi-bin/token", result.Resource);
            Assert.AreEqual("client_credential", result.Parameters.Single(x => x.Name == "grant_type").Value);
            Assert.AreEqual("wx2821049fc9d4f632", result.Parameters.Single(x => x.Name == "appid").Value);
            Assert.AreEqual("7abc65a7f37668be0ea87e1a7aae25b6", result.Parameters.Single(x => x.Name == "secret").Value);
        }
Exemplo n.º 4
0
 public static string GetAccessToken(string appId, string appSerect)
 {
     if (!_accessTokens.ContainsKey(appId) || (_accessTokens.ContainsKey(appId) && _accessTokens[appId].IsExpired))
     {
         IAccessTokenApi api = new AccessTokenApi();
         api.AppId     = appId;
         api.AppSecret = appSerect;
         var response = api.Execute();
         var newToken = new AccessToken();
         newToken.Value      = response.AccessToken;
         newToken.ExpireTime = DateTime.Now.AddSeconds(response.Expires_In);
         newToken.AppId      = appId;
         newToken.AppSecret  = appSerect;
         if (!_accessTokens.ContainsKey(appId))
         {
             _accessTokens.Add(appId, newToken);
         }
         else
         {
             _accessTokens[appId] = newToken;
         }
     }
     return(_accessTokens[appId].Value);
 }
 private void SetupAccessTokenHelper()
 {
     mAccessTokenApi = new AccessTokenApi();
     mAccessTokenApi.GetOAuthTokenComplete += GetOAuthTokenComplete;
 }
        private dynamic ExpressCallback(dynamic parameters)
        {
            var mpstatus = this.Request.Query["mpstatus"];
            var checkout_resource_url = this.Request.Query["checkout_resource_url"];
            var oauth_verifier        = this.Request.Query["oauth_verifier"];
            var oauth_token           = this.Request.Query["oauth_token"];
            var pairing_verifier      = this.Request.Query["pairing_verifier"];
            var pairing_token         = this.Request.Query["pairing_token"];

            _setConfigurations();

            AccessTokenResponse accessTokenResponse1 = AccessTokenApi.Create(oauth_token, oauth_verifier);
            string accessToken = accessTokenResponse1.OauthToken;

            AccessTokenResponse accessTokenResponse2 = AccessTokenApi.Create(pairing_token, pairing_verifier);
            string longAccessToken = accessTokenResponse2.OauthToken; // store for future requests


            String checkoutResourceUrl = checkout_resource_url.ToString();
            String checkoutId          = checkoutResourceUrl.IndexOf('?') != -1 ? checkoutResourceUrl.Substring(checkoutResourceUrl.LastIndexOf('/') + 1).Split('?')[0] : checkoutResourceUrl.Substring(checkoutResourceUrl.LastIndexOf('/') + 1);

            Checkout checkout = CheckoutApi.Show(checkoutId, accessToken);

            Card    card                             = checkout.Card;
            Address billingAddress                   = card.BillingAddress;
            Contact contact                          = checkout.Contact;
            AuthenticationOptions authOptions        = checkout.AuthenticationOptions;
            string          preCheckoutTransactionId = checkout.PreCheckoutTransactionId;
            ShippingAddress shippingAddress          = checkout.ShippingAddress;
            string          transactionId            = checkout.TransactionId;
            string          walletId                 = checkout.WalletID;

            /// AQUI DEVE SER CHAMADO O GATEWAY DE PAGAMENTO PARA EXECUTAR O
            /// PAGAMENTO COM OS DADOS RECUPERADOS ACIMA...

            /// UMA VEZ QUE O PAGAMENTO FOI EXECUTADO, CONTINUAR COM O PASSO ABAIXO

            //Create an instance of MerchantTransactions
            MerchantTransactions merchantTransactions = new MerchantTransactions()
                                                        .With_MerchantTransactions(new MerchantTransaction()
                                                                                   .WithTransactionId(transactionId)
                                                                                   .WithPurchaseDate("2017-05-27T12:38:40.479+05:30")
                                                                                   .WithExpressCheckoutIndicator(false)
                                                                                   .WithApprovalCode("sample")
                                                                                   .WithTransactionStatus("Success")
                                                                                   .WithOrderAmount((long)76239)
                                                                                   .WithCurrency("USD")
                                                                                   .WithConsumerKey(Contants.consumerKey));

            //Call the PostbackService with required params
            MerchantTransactions merchantTransactionsResponse = PostbackApi.Create(merchantTransactions);


            /// FIM DO CHECKOUT WITH PAIRING
            ///
            /// INICIO DE UM EXPRESS CHECKOUT

            var model = new
            {
                transactionId   = transactionId,
                longAccessToken = longAccessToken
            };

            return(View["express_execute.htm", model]);

            //return request_token;
        }