/// <summary> /// Creates the tokenInfoResponse /// </summary> /// <param name="tokenInfo"></param> /// <param name="scopes"></param> public TokenHolder(TokenInfoResponse tokenInfo, string scopes) { AccessToken = tokenInfo.access_token.ToSecureString(); IdToken = tokenInfo.id_token; NotValidAfterUtc = DateTime.UtcNow + TimeSpan.FromSeconds(tokenInfo.expires_in - 10); Scopes = scopes; if (!string.IsNullOrEmpty(tokenInfo.refresh_token)) { // only update the stored refresh token, if it was returned // if it wasn't, preserve the current refresh token RefreshToken = tokenInfo.refresh_token.ToSecureString(); } }
public void GetCreditCardTokenTest() { PayUTokens.ApiKey = base.apiKey; PayUTokens.ApiLogin = base.apiLogin; PayUTokens.Language = Language.en; PayUTokens.PaymentsUrl = base.paymentsUrl; IDictionary <string, string> parameters = new Dictionary <string, string>(); string nameOnCard = string.Format("{0} {1}", GetRandom.FirstName(), GetRandom.LastName()); parameters.Add(PayUParameterName.PAYER_NAME, nameOnCard); parameters.Add(PayUParameterName.CREDIT_CARD_NUMBER, "4005580000029205"); parameters.Add(PayUParameterName.CREDIT_CARD_EXPIRATION_DATE, "2015/12"); parameters.Add(PayUParameterName.PAYMENT_METHOD, "VISA"); string payerId = GetRandom.NumericString(6); parameters.Add(PayUParameterName.PAYER_ID, payerId); TokenResponse response = PayUTokens.Instance.Create(parameters); Assert.IsNotNull(response); Assert.AreEqual(ResponseCode.SUCCESS, response.ResponseCode); Assert.IsNotNull(response.CreditCardToken.TokenId); Assert.AreEqual(36, response.CreditCardToken.TokenId.Length); // Find IDictionary <string, string> findParameters = new Dictionary <string, string>(); findParameters.Add(PayUParameterName.PAYER_ID, payerId); findParameters.Add(PayUParameterName.TOKEN_ID, response.CreditCardToken.TokenId); TokenInfoResponse tokenInfoResponse = PayUTokens.Instance.Find(findParameters); Assert.AreEqual(ResponseCode.SUCCESS, tokenInfoResponse.ResponseCode); }
public void DeleteTokenTest() { PayUTokens.ApiKey = base.apiKey; PayUTokens.ApiLogin = base.apiLogin; PayUTokens.Language = Language.en; PayUTokens.PaymentsUrl = base.paymentsUrl; PayUPayments.MerchantId = 1; IDictionary <string, string> tokenParameters = new Dictionary <string, string>(); string nameOnCardForToken = string.Format("{0} {1}", GetRandom.FirstName(), GetRandom.LastName()); tokenParameters.Add(PayUParameterName.PAYER_NAME, nameOnCardForToken); tokenParameters.Add(PayUParameterName.CREDIT_CARD_NUMBER, "4005580000029205"); tokenParameters.Add(PayUParameterName.CREDIT_CARD_EXPIRATION_DATE, "2015/12"); tokenParameters.Add(PayUParameterName.PAYMENT_METHOD, "VISA"); tokenParameters.Add(PayUParameterName.PAYER_ID, GetRandom.NumericString(6)); TokenResponse tokenResponse = PayUTokens.Instance.Create(tokenParameters); Assert.IsNotNull(tokenResponse); Assert.AreEqual(ResponseCode.SUCCESS, tokenResponse.ResponseCode); Assert.IsNotNull(tokenResponse.CreditCardToken.TokenId); Assert.AreEqual(36, tokenResponse.CreditCardToken.TokenId.Length); // Do authorization IDictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add(PayUParameterName.INSTALLMENTS_NUMBER, GetRandom.Short(1, 9).ToString()); // revisar validacion int accountId = 8; // Panamá parameters.Add(PayUParameterName.ACCOUNT_ID, accountId.ToString()); parameters.Add(PayUParameterName.CURRENCY, Currency.USD.ToString()); string orderReferenceCode = GetRandom.String(6, true, null); parameters.Add(PayUParameterName.REFERENCE_CODE, orderReferenceCode); parameters.Add(PayUParameterName.DESCRIPTION, GetRandom.Phrase(20)); // Cookie of the current user session parameters.Add(PayUParameterName.COOKIE, "cookie_" + DateTime.Now.Ticks); decimal transactionValue = new decimal(100); parameters.Add(PayUParameterName.VALUE, transactionValue.ToString("#.##")); decimal transactionTaxValue = new decimal(16); parameters.Add(PayUParameterName.TAX_VALUE, transactionTaxValue.ToString("#.##")); decimal transactionReturnBase = new decimal(100); parameters.Add(PayUParameterName.TAX_RETURN_BASE, transactionReturnBase.ToString("#.##")); // The token is assigned parameters.Add(PayUParameterName.TOKEN_ID, tokenResponse.CreditCardToken.TokenId); parameters.Add(PayUParameterName.CREDIT_CARD_SECURITY_CODE, "495"); PaymentResponse paymentResponse = PayUPayments.Instance.DoAuthorization(parameters); Assert.IsNotNull(paymentResponse); Assert.AreEqual(ResponseCode.SUCCESS, paymentResponse.ResponseCode); Assert.AreEqual(36, paymentResponse.TransactionResponse.TransactionId.Length); // :) 36 UUID length Assert.AreEqual(TransactionState.APPROVED, paymentResponse.TransactionResponse.State); Assert.Greater(paymentResponse.TransactionResponse.OrderId, 1); Assert.AreEqual(TransactionResponseCode.APPROVED, paymentResponse.TransactionResponse.ResponseCode); // Find IDictionary <string, string> findParameters = new Dictionary <string, string>(); findParameters.Add(PayUParameterName.PAYER_ID, tokenResponse.CreditCardToken.PayerId); findParameters.Add(PayUParameterName.TOKEN_ID, tokenResponse.CreditCardToken.TokenId); TokenInfoResponse tokenInfoResponse = PayUTokens.Instance.Find(findParameters); Assert.AreEqual(ResponseCode.SUCCESS, tokenInfoResponse.ResponseCode); // Remove IDictionary <string, string> removeParameters = new Dictionary <string, string>(); removeParameters.Add(PayUParameterName.PAYER_ID, tokenResponse.CreditCardToken.PayerId); removeParameters.Add(PayUParameterName.TOKEN_ID, tokenResponse.CreditCardToken.TokenId); TokenResponse tokenRemovedResponse = PayUTokens.Instance.Remove(removeParameters); Assert.AreEqual(ResponseCode.SUCCESS, tokenInfoResponse.ResponseCode); }