/// <summary> /// Medota odpowiedzialna za odświeżenie tokenu co godzinę. /// </summary> /// <returns>Zwraca nowy token w formie stringa.</returns> public static string RefreshToken() { var updateTokenRequest = new UpdateTokenRequest(); UpdateTokenResponse updateTokenResponse = WebServiceConnection.SendPost <UpdateTokenRequest, UpdateTokenResponse>(updateTokenRequest, "token/update").Result; Logs.WriteErrorLog("Nowy token: " + updateTokenResponse.Token); WriteLastTokenToFile(updateTokenResponse.Token); return(updateTokenResponse.Token ?? null); }
public UpdateTokenResponse Update(Profile profile, string token, CreditCard creditCard) { using (log4net.NDC.Push("Update::")) { var merchantId = GetMerchantId(profile); var transactionKey = GetTransactionKey(profile); var serviceEndPoint = GetServiceEndPoint(profile); var request = CreateRequest(); request.merchantID = merchantId; request.merchantReferenceCode = DateTime.Now.Ticks.ToString(); request.paySubscriptionUpdateService = new PaySubscriptionUpdateService(); request.paySubscriptionUpdateService.run = "true"; request.card = new Card(); request.card.expirationMonth = creditCard.ExpirationMonth; request.card.expirationYear = creditCard.ExpirationYear; request.recurringSubscriptionInfo = new RecurringSubscriptionInfo(); request.recurringSubscriptionInfo.subscriptionID = token; var client = GetCybersourceService(serviceEndPoint, merchantId, transactionKey); _logger.Info("\r\nrequest:" + request.ToJSON()); var reply = client.runTransaction(request); _logger.Info("\r\nreply:" + reply.ToJSON()); var response = new UpdateTokenResponse(); response.Status = true; response.ReasonCode = reply.reasonCode; if (reply.reasonCode != "100") { response.Status = false; response.Message = reply.reasonCode + ". " + Combine(reply.missingField) + Combine(reply.invalidField); } return response; } }