public ProcessDetailsResponse ProcessStandardTransaction(PaypointPaymentDetailsModel model) { var validateCardFullResponse = _secvpn.validateCardFull(new validateCardFullRequest(_paypointSettings.AccountName, _paypointSettings.VPNPassword, _cartModel.CartGuid.ToString(), RequestHelper.GetIP(), model.NameOnCard, model.CardNumber, _paypointHelper.GetTotal(_cartModel.TotalToPay), _paypointHelper.GetDate(model.EndMonth, model.EndYear), model.CardIssueNumber, _paypointHelper.GetDate(model.StartMonth, model.StartYear), _paypointHelper.GetOrderDetails(_cartModel), _paypointHelper.GetAddress( _cartModel.ShippingAddress, _cartModel.OrderEmail), _paypointHelper.GetAddress( _cartModel.BillingAddress, _cartModel.OrderEmail), _paypointHelper.GetOptions(model))); var response = _paypointHelper.ParseResponse(validateCardFullResponse.validateCardFullReturn); return response["code"] != "A" ? GetFailureResponse(response) : GetSuccessResponse(response); }
public string GetOptions(PaypointPaymentDetailsModel model) { var options = string.Format("test_status={0},card_type={1},cv2={2},mail_customer=false", _paypointSettings.IsLive ? "live" : "true", model.CardType, model.CardVerificationCode); if (!_paypointSettings.IsLive) options += ",dups=false"; return options; }
public ProcessDetailsResponse ProcessDetails(PaypointPaymentDetailsModel model, string threeDSecureUrl) { try { var disable3Dsecure = _paypointSettings.Admin3DSecureDisable && CurrentRequestData.CurrentUserIsAdmin; return _paypointSettings.ThreeDSecureEnabled && !disable3Dsecure ? _paypointRequestService.Process3DSecureTransaction(model, threeDSecureUrl) : _paypointRequestService.ProcessStandardTransaction(model); } catch (Exception exception) { CurrentRequestData.ErrorSignal.Raise(exception); return new ProcessDetailsResponse { ErrorOccurred = true }; } }
public ProcessDetailsResponse Process3DSecureTransaction(PaypointPaymentDetailsModel model, string threeDSecureUrl) { _cartModel.CartGuid = _paypoint3DSecureHelper.ResetCartGuid(); _paypoint3DSecureHelper.SetCartGuid(_cartModel.CartGuid); _paypoint3DSecureHelper.SetOrderAmount(_cartModel.TotalToPay); var threeDSecureEnrolmentRequestResponse = _secvpn.threeDSecureEnrolmentRequest( new threeDSecureEnrolmentRequestRequest(_paypointSettings.AccountName, _paypointSettings.VPNPassword, _cartModel.CartGuid.ToString(), RequestHelper.GetIP(), model.NameOnCard, model.CardNumber, _paypointHelper.GetTotal(_cartModel.TotalToPay), _paypointHelper.GetDate(model.EndMonth, model.EndYear), model.CardIssueNumber, _paypointHelper.GetDate(model.StartMonth, model.StartYear), _paypointHelper.GetOrderDetails(_cartModel), _paypointHelper.GetAddress( _cartModel.ShippingAddress, _cartModel.OrderEmail), _paypointHelper.GetAddress( _cartModel.BillingAddress, _cartModel.OrderEmail), _paypointHelper.GetOptions(model), "0", RequestHelper.GetAcceptHeaders(), RequestHelper.UserAgent(), _paypointSettings.MPIMerchantName, _paypointSettings.MPIMerchantUrl, _paypointSettings.MPIDescription, "", "", "")); var response = _paypointHelper.ParseResponse(threeDSecureEnrolmentRequestResponse.threeDSecureEnrolmentRequestReturn); return response["valid"] != "true" ? GetFailureResponse(response) : (response["mpi_status_code"] == "200" ? GetRedirectResponse(threeDSecureUrl, response) : response["code"] == "A" ? GetSuccessResponse(response) : GetFailureResponse(response)); }
public void SetModel(PaypointPaymentDetailsModel model) { _cartSessionManager.SetSessionValue(PaypointPaymentModelKey, _getUserGuid.UserGuid, model, SessionDataTimeoutDefaults.PaymentInfo, true); }