public void TestGetTransactions() { //int customerId = 1; var reqInfo = new PayPalRequestInfo { SecurityInfo = new PayPalSecurityData() { PermissionsGranted = new PayPalPermissionsGranted { RequestToken = "AAAAAAvoMRxkeqwRbNet", VerificationCode = "BUZDemaiLtrC-008xfzUug", AccessToken = "i0JEalB9y89Uq9VA.fjjsrdWnlPsVe8rwkIbPgvvP1clFnyEbHt29A", TokenSecret = "kw1bQNNMe0bJj-81OAVfFXJh9ZY", }, UserId = "*****@*****.**" }, StartDate = DateTime.Today.AddDays(-30), EndDate = DateTime.Today, ErrorRetryingInfo = new ErrorRetryingInfo(false), OpenTimeOutInMinutes = 1, SendTimeoutInMinutes = 1, DaysPerRequest = 30 }; PayPalServiceHelper.GetTransactionData(reqInfo, data => { Console.WriteLine("data {0}", data.Capacity); return(true); }); }
private UpdateActionResultInfo UpdateTransactionInfo(IDatabaseCustomerMarketPlace databaseCustomerMarketPlace, PayPalSecurityData securityInfo, MP_CustomerMarketplaceUpdatingHistory historyRecord) { var endDate = DateTime.UtcNow; var elapsedTimeInfo = new ElapsedTimeInfo(); DateTime?startDate = ElapsedTimeHelper.CalculateAndStoreElapsedTimeForCallInSeconds( elapsedTimeInfo, databaseCustomerMarketPlace.Id, ElapsedDataMemberType.RetrieveDataFromDatabase, () => Helper.GetLastPayPalTransactionDate(databaseCustomerMarketPlace) ); if (!startDate.HasValue) { startDate = endDate.AddMonths(-CurrentValues.Instance.PayPalTransactionSearchMonthsBack); } var errorRetryingInfo = new ErrorRetryingInfo((bool)CurrentValues.Instance.PayPalEnableRetrying, CurrentValues.Instance.PayPalMinorTimeoutInSeconds, CurrentValues.Instance.PayPalUseLastTimeOut); errorRetryingInfo.Info = new ErrorRetryingItemInfo[3]; errorRetryingInfo.Info[0] = new ErrorRetryingItemInfo(CurrentValues.Instance.PayPalIterationSettings1Index, CurrentValues.Instance.PayPalIterationSettings1CountRequestsExpectError, CurrentValues.Instance.PayPalIterationSettings1TimeOutAfterRetryingExpiredInMinutes); errorRetryingInfo.Info[1] = new ErrorRetryingItemInfo(CurrentValues.Instance.PayPalIterationSettings2Index, CurrentValues.Instance.PayPalIterationSettings2CountRequestsExpectError, CurrentValues.Instance.PayPalIterationSettings2TimeOutAfterRetryingExpiredInMinutes); errorRetryingInfo.Info[2] = new ErrorRetryingItemInfo(CurrentValues.Instance.PayPalIterationSettings3Index, CurrentValues.Instance.PayPalIterationSettings3CountRequestsExpectError, CurrentValues.Instance.PayPalIterationSettings3TimeOutAfterRetryingExpiredInMinutes); var reqInfo = new PayPalRequestInfo { SecurityInfo = securityInfo, StartDate = startDate.Value, EndDate = endDate, ErrorRetryingInfo = errorRetryingInfo, OpenTimeOutInMinutes = CurrentValues.Instance.PayPalOpenTimeoutInMinutes, SendTimeoutInMinutes = CurrentValues.Instance.PayPalSendTimeoutInMinutes, DaysPerRequest = CurrentValues.Instance.PayPalDaysPerRequest }; MP_PayPalTransaction mpTransaction = null; int numOfTransactions = 0; RequestsCounterData requestsCounter = ElapsedTimeHelper.CalculateAndStoreElapsedTimeForCallInSeconds( elapsedTimeInfo, databaseCustomerMarketPlace.Id, ElapsedDataMemberType.RetrieveDataFromExternalService, () => PayPalServiceHelper.GetTransactionData(reqInfo, data => { mpTransaction = Helper.SavePayPalTransactionInfo(databaseCustomerMarketPlace, data, historyRecord, mpTransaction); numOfTransactions += (data == null ? 0 : data.Count); return(true); }) ); return(new UpdateActionResultInfo { Name = UpdateActionResultType.TransactionItemsCount, Value = numOfTransactions, RequestsCounter = requestsCounter, ElapsedTime = elapsedTimeInfo }); }
public ViewResult Success(string request_token, string verification_code) { Log.InfoFormat("PayPal Add callback, token:{0} verification code:{1}", request_token, verification_code); if (string.IsNullOrEmpty(verification_code) && string.IsNullOrEmpty(request_token)) { Log.InfoFormat("PayPal adding was canceled by customer"); return(View("PayPalCanceled")); } var paypal = ObjectFactory.GetInstance <PayPalDatabaseMarketPlace>(); var customer = this.context.Customer; PayPalPermissionsGranted permissionsGranted; PayPalPersonalData personalData; try { permissionsGranted = PayPalServiceHelper.GetAccessToken(request_token, verification_code); personalData = PayPalServiceHelper.GetAccountInfo(permissionsGranted); this.mpChecker.Check(paypal.InternalId, customer, personalData.Email); } catch (PayPalException e) { Log.Warn(e); return(View("Error", (object)string.Join("<br />", e.ErrorDetails.Select(x => x.message).ToList()))); } catch (MarketPlaceAddedByThisCustomerException) { return(View("Error", (object)DbStrings.PayPalAddedByYou)); } catch (MarketPlaceIsAlreadyAddedException) { return(View("Error", (object)DbStrings.AccountAlreadyExixtsInDb)); } int mpId = 0; Transactional.Execute(() => { mpId = SavePayPal(customer, permissionsGranted, personalData, paypal); }); if (mpId > 0) { this.serviceClient.Instance.UpdateMarketplace(customer.Id, mpId, true, this.context.UserId); } return(View(permissionsGranted)); }
public ActionResult AttachPayPal() { try { var callback = Url.Action("Success", "PaymentAccounts", new { Area = "Customer" }, "https"); var response = PayPalServiceHelper.GetRequestPermissionsUrl(callback); return(Redirect(response.Url)); } catch (Exception e) { Log.Warn("Adding paypal failed", e); return(View("PPAttachError")); } }
public JsonResult GetRequestPermissionsUrl() { try { var callback = Url.Action("Success", "PaymentAccounts", new { Area = "Customer" }, "https"); var url = PayPalServiceHelper.GetRequestPermissionsUrl(callback); return(Json(new { url = url }, JsonRequestBehavior.AllowGet)); } catch (PayPalException ex) { return(Json(new { error = ex.ErrorDetails }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new { error = ex.Message }, JsonRequestBehavior.AllowGet)); } }
public PayPalPersonalData GetAccountInfo(PayPalPermissionsGranted securityInfo) { return(PayPalServiceHelper.GetAccountInfo(securityInfo)); }
public PayPalPermissionsGranted GetAccessToken(string requestToken, string verificationCode) { return(PayPalServiceHelper.GetAccessToken(requestToken, verificationCode)); }