private CustomSecurityHeaderType CreateCredentials(PayPalSecurityData securityInfo)
 {
     return(new CustomSecurityHeaderType {
         Credentials = new UserIdPasswordType {
             Username = CurrentValues.Instance.PayPalApiUsername,
             Password = CurrentValues.Instance.PayPalApiPassword,
             Signature = CurrentValues.Instance.PayPalApiSignature,
             Subject = securityInfo.UserId,
             AppId = CurrentValues.Instance.PayPalPpApplicationId
         }
     });
 }
        private int SavePayPal(Customer customer, PayPalPermissionsGranted permissionsGranted, PayPalPersonalData personalData, PayPalDatabaseMarketPlace paypal)
        {
            var securityData = new PayPalSecurityData
            {
                PermissionsGranted = permissionsGranted,
                UserId             = personalData.Email
            };

            var mp = this.dbHelper.SaveOrUpdateCustomerMarketplace(personalData.Email, paypal, securityData, customer);

            this.dbHelper.SaveOrUpdateAcctountInfo(mp, personalData);
            return(mp.Id);
        }
示例#3
0
        public static void StoreTestData(int customerId)
        {
            // SandBox
            var customer = GetCustomerInfo(customerId);
            var payPalRermissionsGranted = new PayPalPermissionsGranted {
                RequestToken     = "AAAAAAAVmrAQ76F.gMx3",
                VerificationCode = "crvExLZKaxtirew2JyUTGg",
                TokenSecret      = "G6VvI9y1VUkCpcPcClZan4pIPOk",
                AccessToken      = "EcyNhOBodjBPddhExkH29I53SOQ30tdHg0w5eybIIrFl1R77ljQ3bA",
            };

            var secData = new PayPalSecurityData {
                PermissionsGranted = payPalRermissionsGranted,
                UserId             = "*****@*****.**"
            };

            PayPalRetriveDataHelper.StoreOrUpdateCustomerSecurityInfo(customer, secData, "Test PayPal Account");
        }
        public void SaveMarketplacePayPal()
        {
            int customerId = 1;

            var databaseCustomer = GetCustomerInfo(customerId);

            var siList = new[]
            {
                new { UserId = "*****@*****.**", Name = "amshowman99" },
                new { UserId = "*****@*****.**", Name = "a.milburn" },
                new { UserId = "*****@*****.**", Name = "adjungle" }
            };

            foreach (var si in siList)
            {
                var secData = new PayPalSecurityData
                {
                    UserId = si.UserId
                };

                PayPalRetriveDataHelper.StoreOrUpdateCustomerSecurityInfo(databaseCustomer, secData, si.Name);
            }
        }
        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
            });
        }