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 PayPalPermissionsGranted GetAccessToken(string requestToken, string verificationCode) { return(PayPalServiceHelper.GetAccessToken(requestToken, verificationCode)); }