コード例 #1
0
ファイル: BilligTest.aspx.cs プロジェクト: IdeaFortune/Monaco
    protected void Page_Load(object sender, EventArgs e)
    {
        GatewayTypeInfo gti = new GatewayTypeInfo();

        gti.TestLoginId = "7wYB5c6R";
        gti.LiveUrl = "https://test.authorize.net/gateway/transact.dll";
        gti.TestUrl = "https://test.authorize.net/gateway/transact.dll";
        gti.TestTransactionKey = "4px54kx6ZZ7489Gq";
        gti.Id = Guid.NewGuid();
        gti.ProviderName = "ANetBillingProvider";

        GatewayInfo gi = new GatewayInfo();

        gi.Id = Guid.NewGuid();
        gi.GatewayTypeId = gti.Id;
        gi.ChargebackFee = 1;
        gi.TransactionFee = 10;
        gi.TransactionKey = "4px54kx6ZZ7489Gq";
        gi.Password = "******";
        gi.LoginId = "7wYB5c6R";
        gi.Name = "ANetBillingProvider";
      
        Customer cust = new Customer();

        CreditCardInfo cci = new CreditCardInfo(Guid.NewGuid(), Guid.NewGuid(), "6011000000000012", 3, 2009, "0421", "Visa");
        cci.ChangeDecryptionStatus(true);
        BillingController.ProcessPayment(gi, gti, Guid.NewGuid(), cust, cci, 7, true);    
    }
コード例 #2
0
    private void CreateCreditCard()
    {
        CreditCardInfo card = new CreditCardInfo(Guid.NewGuid(), (Guid)Membership.GetUser(CustomerName).ProviderUserKey,
                                                txtCardNumber.Text,int.Parse(ddlExpiryMonth.SelectedValue),
                                                int.Parse(ddlExpiryYear.SelectedValue),txtSecurityCode.Text,ddlType.SelectedValue);
        BillingController.CreateCreditCard(ref card);

    }
 public CreditCardAuthorizationRequest(  string firstName, 
                                         string lastName, 
                                         CreditCardInfo creditCardInfo, 
                                         AddressInfo addressInfo)
 {
     FirstName = firstName;
     LastName = lastName;
     CreditCardInfo = creditCardInfo;
     AddressInfo = addressInfo;
 }
コード例 #4
0
ファイル: ProPayRequest.cs プロジェクト: IdeaFortune/Monaco
 public ProPayRequest(string requestUrl, string loginId, string transactionKey, ICustomer customer, CreditCardInfo card, decimal amount, bool testTransaction)
 {
     _amount = amount;
     _customer = customer;
     _card = card;
     _apiLogin = loginId;
     _apiTransactionKey = transactionKey;
     _testTransaction = testTransaction;
     _requestUrl = requestUrl;
 }
コード例 #5
0
        public void UserDidProvideCreditCardInfo (CreditCardInfo cardInfo, CardIOPaymentViewController paymentViewController)
        {
            if (cardInfo == null) {
                elemCardNumber.Caption = "xxxx xxxx xxxx xxxx";
                Console.WriteLine("Cancelled");
            } else {
                elemCardNumber.Caption = cardInfo.CardNumber;
            }

            ReloadData();

            paymentViewController.DismissViewController(true, null);        
        }
コード例 #6
0
ファイル: CardIO.cs プロジェクト: TorbenK/TK.CardIO
 /// <inheritdoc/>
 public void UserDidProvideCreditCardInfo(CreditCardInfo cardInfo, CardIOPaymentViewController paymentViewController)
 {
     this._result = new CardIOResult 
     {
         CreditCardType = cardInfo.CardType.ToPclCardType(),
         CardNumber = cardInfo.CardNumber,
         Cvv = cardInfo.Cvv,
         Expiry = new DateTime((int)cardInfo.ExpiryYear, (int)cardInfo.ExpiryMonth, 1),
         PostalCode = cardInfo.PostalCode,
         Success = true
     };
     this._finished = true;
 }
コード例 #7
0
        public override TransactionInfo ProcessSubscription(ref SubscriptionInfo sub, GatewayInfo gateway, GatewayTypeInfo gatewayType, ICustomer customer, CreditCardInfo card, bool isTrial, bool testTransaction)
        {
            ProPayRequest request = null;
            ProPayResponse response = null;
            TransactionInfo transactionInfo = new TransactionInfo();

            string requestUrl = testTransaction == true ? gatewayType.TestUrl : gatewayType.LiveUrl;
            string loginId = testTransaction == true ? gatewayType.TestLoginId : gateway.LoginId;
            string transactionKey = testTransaction == true ? gatewayType.TestTransactionKey : gateway.TransactionKey;
            decimal amount = isTrial == true ? sub.TrialAmount : sub.Amount;

            request = new ProPayRequest(requestUrl, loginId, transactionKey, customer, card, amount, testTransaction);
            response = request.Process();


            sub.LastProcessedDate = DateTime.Now;

            transactionInfo.Id = Guid.NewGuid();
            transactionInfo.SubscriptionId = sub.Id;
            transactionInfo.GatewayId = sub.GatewayId;
            transactionInfo.CreateDate = DateTime.Now;
            transactionInfo.IsTrial = isTrial;
            transactionInfo.Type = TransactionType.Standard;
            transactionInfo.Amount = amount;
            transactionInfo.GatewayAmount = gateway.TransactionFee;
            transactionInfo.OrderId = sub.RefId;
            if (response == null)
            {
                sub.LastProcessingStatus = TransactionStatus.Error;
                transactionInfo.ResponseText = "";
                transactionInfo.Status = TransactionStatus.Error;
            }
            else if (response.Code == ProPayResponseCode.Success)
            {
                sub.LastProcessingStatus = TransactionStatus.Approved;
                if (isTrial)
                    sub.TrialOccurrencesDone += 1;
                else
                    sub.TotalOccurrencesDone += 1;
                transactionInfo.ResponseText = response.ResponseText;
                transactionInfo.Status = TransactionStatus.Approved;
            }
            else
            {
                sub.LastProcessingStatus = TransactionStatus.Error;
                transactionInfo.ResponseText = response.ResponseText;
                transactionInfo.Status = TransactionStatus.Error;
            }
            return transactionInfo;
        }
コード例 #8
0
ファイル: ANetRequest.cs プロジェクト: IdeaFortune/Monaco
        public ANetRequest(string requestUrl, string loginId, string transactionKey, ICustomer customer, CreditCardInfo card, decimal amount, bool testTransaction)
        {
            // if _customer is enforced, then we need to uncomment the following line out
            //if (_customer == null)
            //    throw new ArgumentNullException("Customer cannot be null");

            _amount = amount;
            _customer = customer;
            _card = card;
            _apiLogin = loginId;
            _apiTransactionKey = transactionKey;
            _testTransaction = testTransaction;
            _requestUrl = requestUrl;            
        }
コード例 #9
0
ファイル: ANetRequest.cs プロジェクト: IdeaFortune/Monaco
        public ANetRequest(string requsetUrl, string loginId, string transactionKey, ICustomer customer, CreditCardInfo card, string transactionID, TransactionInfo transaction, bool testTransaction, decimal amount)
            : this(requsetUrl, loginId, transactionKey, customer, card, amount, testTransaction)
        {
            if (transaction != null && !string.IsNullOrEmpty(transaction.ResponseText))
            {
                string[] tokens = transaction.ResponseText.Split('|');
                this._transactionID = tokens[6];

                if (string.IsNullOrEmpty(this._transactionID))
                    this._transactionID = transactionID;
            }
            else
            {
                this._transactionID = transactionID;
            }

            
        }
コード例 #10
0
        protected virtual void SetCreditCardAction()
        {
            CreditCardSelectForm form = new CreditCardSelectForm(this);

            if (form.ShowDialog(this) == DialogResult.OK)
            {
                _tarjeta = form.Selected as CreditCardInfo;

                _entity.OidTarjetaCredito = _tarjeta.Oid;
                _entity.TarjetaCredito    = _tarjeta.Nombre;
                _entity.OidCuentaBancaria = _tarjeta.OidCuentaBancaria;
                _entity.CuentaBancaria    = _tarjeta.CuentaBancaria;
                Cuenta_TB.Text            = _entity.CuentaBancaria;
                Tarjeta_TB.Text           = _entity.TarjetaCredito;

                _entity.SetFechas(Fecha_DTP.Value, _tarjeta);
                Vencimiento_DTP.Value = _entity.Vencimiento;
            }
        }
コード例 #11
0
        /// <summary>
        /// 修改数据
        /// </summary>
        private JsonResult Update_CardInfo(CreditCardInfo model)
        {
            SystemResult result = new SystemResult();

            model.UpdateTime = DateTime.Now;
            model.IsUse      = model.IsUse ?? true;

            if (_cardInfoService.Update(model))
            {
                result.isSuccess = true;
            }
            else
            {
                result.isSuccess = false;
                result.message   = "更新失败";
            }

            return(BackData(result));
        }
コード例 #12
0
        public CreditCardInfo GetCardInfo()
        {
            if (cardInfo != null)
            {
                CreditCardInfo info = new CreditCardInfo();
                info.Name   = cardInfo.CardholderName;
                info.Number = cardInfo.CardNumber;
                if (!String.IsNullOrWhiteSpace(cardInfo.ExpiryMonth.ToString()) &&
                    !String.IsNullOrWhiteSpace(cardInfo.ExpiryYear.ToString()))
                {
                    info.ExpDate = cardInfo.ExpiryMonth + "/" + cardInfo.ExpiryYear;
                }

                info.CVV = cardInfo.Cvv;
                return(info);
            }

            return(null);
        }
コード例 #13
0
        /// <summary>
        /// Get the list of orders for the specified user.
        /// </summary>
        /// <param name="userId">Internal identifier of the user.</param>
        /// <returns>List of orders for the specified user.</returns>
        public List <OrderInfo> GetList(int userId)
        {
            List <OrderInfo> orders = new List <OrderInfo>();

            SqlParameter[] parameters = SQLHelper.GetCachedParameters("SQL_GET_ORDERS");

            if (parameters == null)
            {
                parameters = new SqlParameter[] {
                    new SqlParameter("@UserId", SqlDbType.Int)
                };

                SQLHelper.CacheParameters("SQL_GET_ORDERS", parameters);
            }

            parameters[0].Value = userId;

            using (SqlDataReader reader = SQLHelper.ExecuteReader(SQLHelper.CONNECTION_STRING,
                                                                  CommandType.Text, SQLHelper.GetSQLStatement(MODULE_NAME, "SQL_GET_ORDERS"),
                                                                  parameters))
            {
                while (reader.Read())
                {
                    List <OrderItemInfo> orderItems = GetItems(reader.GetInt32(1));
                    CreditCardInfo       cardInfo   = new CreditCardInfo(new LookupInfo(reader.GetInt32(3), reader.GetString(4)), reader.GetString(5), string.Empty, string.Empty, Int32.MinValue, Int32.MinValue,
                                                                         new AddressInfo(reader.GetString(8), reader.GetString(9), reader.GetString(10), new CountryInfo(reader.GetInt32(13), reader.GetString(14), false),
                                                                                         new StateInfo(reader.GetInt32(11), reader.GetString(12)), reader.GetString(15), null, null, null));

                    OrderInfo order = new OrderInfo(reader.GetInt32(1), null,
                                                    (OrderType)reader.GetInt32(16), reader.GetDateTime(2), Math.Round(reader.GetDecimal(6), 2),
                                                    reader.GetInt32(7), null, cardInfo, orderItems);

                    if (reader[17] != DBNull.Value)
                    {
                        order.RefundAmount = reader.GetDecimal(17);
                    }
                    orders.Add(order);
                }
            }

            return(orders);
        }
コード例 #14
0
        private bool HasCreditCard(string cardNo)
        {
            Params param = new Params()
            {
                Parameter = new Dictionary <string, string>()
            };

            param.Parameter.Add("cardNo", cardNo);

            CreditCardInfo creditCard = ProductInquiry.CreditCard(param);

            if (string.IsNullOrEmpty(creditCard.CreditCardNumber))
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
コード例 #15
0
        public void UserDidProvideCreditCardInfo(CreditCardInfo cardInfo, CardIOPaymentViewController paymentViewController)
        {
            if (cardInfo != null)
            {
                if (CardFound != null)
                {
                    CardFound(cardInfo.RedactedCardNumber, (int)cardInfo.ExpiryMonth, (int)cardInfo.ExpiryYear, cardInfo.CardholderName, cardInfo.CardType);
                }
            }

            //if (cardInfo == null)
            //{
            //	Console.WriteLine("Scanning Canceled!");
            //}
            //else {
            //	Console.WriteLine("Card Scanned: " + cardInfo.CardNumber);
            //}

            paymentViewController.DismissViewController(true, null);
        }
コード例 #16
0
ファイル: CommandParser.cs プロジェクト: lsmolic/hangoutsrc
        /// <summary>
        /// Retreives the CreditCardInfo object data from the Parameters Dictionary
        /// </summary>
        /// <param name="Parameters"></param>
        /// <returns>CreditCardInfo object</returns>
        private CreditCardInfo GetCreditCardInfoParamaters(NameValueCollection Parameters)
        {
            CreditCardInfo creditCardInfo = new CreditCardInfo();

            creditCardInfo.CreditCardnumber = GetValue(Parameters, "creditCardNumber", "");
            creditCardInfo.CreditCardtype   = GetValue(Parameters, "creditCardType", "");
            creditCardInfo.ExpireDate       = GetValue(Parameters, "expireDate", "");
            creditCardInfo.SecurityCode     = GetValue(Parameters, "securityCode", "");
            creditCardInfo.FirstName        = GetValue(Parameters, "firstName", "");
            creditCardInfo.MiddleName       = GetValue(Parameters, "middleName", "");
            creditCardInfo.LastName         = GetValue(Parameters, "lastName", "");
            creditCardInfo.Address          = GetValue(Parameters, "address", "");
            creditCardInfo.City             = GetValue(Parameters, "city", "");
            creditCardInfo.StateProvince    = GetValue(Parameters, "state", "");
            creditCardInfo.ZipCode          = GetValue(Parameters, "zipCode", "");
            creditCardInfo.CountryCode      = GetValue(Parameters, "countryCode", "");
            creditCardInfo.PhoneNumber      = GetValue(Parameters, "phoneNumber", "");

            return(creditCardInfo);
        }
コード例 #17
0
        protected string GetCreditCardAccount(PaymentInfo payment, ETipoEntidad accountType)
        {
            string         cuenta      = string.Empty;
            string         info        = string.Empty;
            CreditCardInfo credit_card = null;

            try
            {
                credit_card = CreditCardInfo.Get(payment.OidTarjetaCredito);

                if (accountType == ETipoEntidad.CuentaBancaria)
                {
                    BankAccountInfo cb = _bank_accounts.GetItem(credit_card.OidCuentaBancaria);
                    cuenta = cb.CuentaContable;
                    info   = String.Format(Resources.Messages.BANK_ACCOUNT_BOOK_ACCOUNT_NOT_FOUND, cb.Valor, cb.Entidad);
                }
                else
                {
                    cuenta = credit_card.CuentaContable;
                    info   = String.Format(Resources.Messages.CREDIT_CARD_BOOK_ACCOUNT_NOT_FOUND, credit_card.Numeracion, credit_card.Nombre);
                }
            }
            catch (Exception ex)
            {
                if (ex is iQException)
                {
                    throw ex;
                }
                else
                {
                    throw new iQException("La tarjeta nº " + credit_card.Nombre + " no tiene cuenta bancaria asociada");
                }
            }

            if (cuenta == string.Empty)
            {
                throw new iQException(info);
            }

            return(cuenta);
        }
コード例 #18
0
ファイル: CardServices.cs プロジェクト: IdeaFortune/Monaco
        public Guid AddCardDetails(Guid userid, string cardnumber, int expMonth, int expYear, string cardType, string ccv, string cardholdername)
        {
            List<CreditCardInfo> cards = BillingController.GetCreditCardsByCustomer(userid);

            foreach (CreditCardInfo card in cards)
            {
                if (card.CardNumber == cardnumber)
                {
                    CreditCardInfo updatedCard = new CreditCardInfo(card.Id, userid, cardnumber, expMonth, expYear, ccv, cardType);

                    BillingController.CreateCreditCard(ref updatedCard);

                    return updatedCard.Id;
                }
            }

            CreditCardInfo newCard = new CreditCardInfo(Guid.NewGuid(), userid, cardnumber, expMonth, expYear, ccv, cardType);
            BillingController.CreateCreditCard(ref newCard);
            return newCard.Id;

        }
コード例 #19
0
        protected override void SetCreditCardAction()
        {
            if (!ControlsMng.IsCurrentItemValid(Lines_DGW))
            {
                return;
            }

            CashLine item = ControlsMng.GetCurrentItem(Lines_DGW) as CashLine;

            if (item.Locked)
            {
                return;
            }

            if (!new ETipoLineaCaja[]
            {
                ETipoLineaCaja.EntradaPorTarjetaCredito
            }.Contains(item.ETipoLinea))
            {
                return;
            }

            CreditCardSelectForm form = new CreditCardSelectForm(this);

            if (form.ShowDialog(this) == DialogResult.OK)
            {
                CreditCardInfo credit_card = form.Selected as CreditCardInfo;
                if (credit_card.ETipoTarjeta != ETipoTarjeta.Credito)
                {
                    return;
                }

                item.OidCreditCard     = credit_card.Oid;
                item.CreditCard        = credit_card.Nombre;
                item.OidCuentaBancaria = credit_card.OidCuentaBancaria;
                item.CuentaBancaria    = credit_card.CuentaBancaria;

                Lines_BS.ResetBindings(false);
            }
        }
コード例 #20
0
        public static void BuilCommandToSendOld(int iPaxNumber, CreditCardInfo dtsTarjeta)
        {
            if (dtsTarjeta != null)
            {
                string sabreSend = string.Empty;
                if (dtsTarjeta.TipoTarjeta != null && dtsTarjeta.TipoTarjeta != string.Empty)
                {
                    if (dtsTarjeta.TipoTarjeta == "CA")
                    {
                        sabreSend = String.Format("5.</C23-{0}*{1}-{2}/>", dtsTarjeta.PaxNumber.ToString("00"), dtsTarjeta.MontoCargo.ToString("#.00"), dtsTarjeta.TipoTarjeta);
                    }
                    else
                    {
                        sabreSend = String.Format("5.</C23-{0}*{1}-{2}-{3}/>", dtsTarjeta.PaxNumber.ToString("00"), dtsTarjeta.MontoCargo.ToString("#.00"), dtsTarjeta.TipoTarjeta, dtsTarjeta.NumeroTarjeta);
                    }

                    using (CommandsAPI objCommand = new CommandsAPI())
                    {
                        objCommand.SendReceiveEmission(sabreSend);
                    }
                }
            }
        }
コード例 #21
0
        protected virtual void SetPaymentMethodAction()
        {
            try
            {
                Datos.RaiseListChangedEvents = false;

                _entity.SetMedioPago((long)EMedioPago.Giro);
                MedioPago_TB.Text = _entity.MedioPagoLabel;

                Importe_NTB.Enabled   = true;
                EstadoPago_BT.Enabled = true;

                _credit_card = null;
                _entity.OidTarjetaCredito = 0;
                _entity.TarjetaCredito    = string.Empty;

                EstadoPago_TB.Text = _entity.EstadoPagoLabel;
            }
            finally
            {
                Datos.RaiseListChangedEvents = true;
            }
        }
コード例 #22
0
ファイル: CreditCard.aspx.cs プロジェクト: sma5802/protech
    protected void imgPlaceOrder_Click(object sender, ImageClickEventArgs e)
    {
        if (txtCardHolderName.Text != "")
        {
            CreditCardInfo card = new CreditCardInfo();
            card.CardHolderName = txtCardHolderName.Text;
            card.CardNumber     = txtCreditCardNumber.Text;
            card.CardType       = cboCardType.SelectedValue;
            card.CSVNumber      = txtCSVNumber.Text;
            card.ExpiryDate     = cboExpMonth.SelectedItem + cboExpYear.SelectedValue.Substring(cboExpYear.SelectedValue.Length - 2);
            Session[customUtility.DBPrefix + "CardInfo"] = card;

            customUtility.ExecuteNonQuery("delete from " + customUtility.DBPrefix + "shippingTMP where userid='" + Session["UserID"].ToString() + "'");

            customUtility.ExecuteNonQuery("delete from " + customUtility.DBPrefix + "fedex where userid='" + Session["UserID"].ToString() + "'");
            Session["accountnumber"] = txtCreditCardNumber.Text;
            Session["month"]         = cboExpMonth.SelectedItem.Text;
            Session["year"]          = cboExpYear.SelectedValue;
            Session["cvv2"]          = txtCSVNumber.Text;
            Session["sjname"]        = txtCardHolderName.Text;
            customUtility.ExecuteNonQuery("update " + customUtility.DBPrefix + "order set status=1 where orderno='" + Session["orderno"] + "'");
            DataTable dt = customUtility.GetTableData("select company from " + customUtility.DBPrefix + "memberlist where id=" + Session["mainuserid"]).Tables[0];
            if (dt.Rows.Count > 0)
            {
                Session["comment"] = dt.Rows[0]["company"].ToString();
            }
            HttpCookie myOrder = new HttpCookie("myOrder", Session["orderno"].ToString());
            Response.Cookies.Add(myOrder);
            //Response.Redirect(ConfigurationManager.AppSettings["websitepath1"]+"SkipPayment.aspx");
            //Response.Redirect("SkipPayment.aspx");
            SendPayment();
        }
        else
        {
            lblmsg.Text = "Please enter Card Holder Name";
        }
    }
コード例 #23
0
        private void ShowReviewOrder()
        {
            //--- DataBind the cart items
            List <vCartItemProductInfo> cartItems = checkoutOrderInfo.Cart.GetCartItemsWithProductInfo();

            rptCheckoutItems.DataSource = cartItems;
            rptCheckoutItems.DataBind();

            //--- Billing/Shipping Summaries
            litBillToSummary.Text = checkoutOrderInfo.BillingAddress.ToHumanFriendlyString("<br />");
            litShipToSummary.Text = checkoutOrderInfo.ShippingAddress.ToHumanFriendlyString("<br />", false, false);

            //--- Payment Summary
            if (checkoutOrderInfo.Total == 0)
            {
                litPaymentSummary.Text = "N / A";
            }
            else if (checkoutOrderInfo.PaymentProvider == PaymentProviderName.PayPalExpressCheckout)
            {
                litPaymentSummary.Text = "PayPal Express Checkout";
            }
            else if (checkoutOrderInfo.PaymentProvider == PaymentProviderName.PayLater)
            {
                PayLaterPaymentProvider billMeLaterProvider = new PayLaterPaymentProvider(StoreContext.CurrentStore.GetPaymentProviderConfig(PaymentProviderName.PayLater));
                litPaymentSummary.Text = string.Format("{0}<br />{1}", billMeLaterProvider.DisplayText, billMeLaterProvider.CustomerInstructions);
            }
            else
            {
                CreditCardInfo cardInfo = checkoutOrderInfo.CreditCard;
                litPaymentSummary.Text = string.Format(@"{0}<br />xxxx-xxxx-xxxx-{1}<br />{2}/{3}", cardInfo.CardType, cardInfo.CardNumber.Right(4), cardInfo.ExpireMonth2Digits, cardInfo.ExpireYear);
            }

            //--- Order Notes
            RequireOrderNotes = StoreContext.CurrentStore.GetSettingBool(StoreSettingNames.RequireOrderNotes).GetValueOrDefault(false);

            txtOrderNotes.Text = checkoutOrderInfo.OrderNotes;
        }
コード例 #24
0
ファイル: Program.cs プロジェクト: 9893223/Semester-2-Week-1
        static void Main(string[] args)
        {
/*TASK 1
 *
 * Build an application that use a custom class to hold credit card information.
 * The class needs to have the necessary attributes and properties to store the following information:
 *
 * Name on the credit card (the card holders name)
 * Credit card number
 * 3 digit security number
 * Expiration date
 * The getters for the name and expiration date can be public but the credit card number and security numbers getters need to be private.
 *
 * Create a suitable interface to create an instance of the credit card class and input some test information.
 * Display the cards name and expiration date back to the user nicely formatted using the credit card object you created.*/

            Console.WriteLine("Please enter your full name:");
            string name = (Console.ReadLine());

            Console.WriteLine("Please enter your card number:");
            double card = double.Parse(Console.ReadLine());

            Console.WriteLine("Please enter your pin:");
            double pin = double.Parse(Console.ReadLine());

            Console.WriteLine("Please enter your card expiry date in the format dd/mm/yyyy:");
            double expiry = double.Parse(Console.ReadLine());

            CreditCardInfo p1 = new CreditCardInfo(name, card, pin, expiry);

            Console.WriteLine($"Name = {p1.Name}\nExpiry = {p1.Expiry}");

            p1.DisplayForbidden(p1);

            Console.ReadLine();
        }
コード例 #25
0
        public static List <CreditCardInfo> GetPendingOnlinePayServices(String sPNR)
        {
            List <CreditCardInfo> listaInfoTarjetas = new  List <CreditCardInfo>();

            Database  db        = DatabaseFactory.CreateDatabase();
            DbCommand dbCommand = db.GetStoredProcCommand(Resources.LogOnlinePayServices.SP_GetPendingOnlinePayServices);

            db.AddInParameter(dbCommand, Resources.LogOnlinePayServices.PARAM_fcPNR, DbType.String, sPNR);

            using (IDataReader dr = db.ExecuteReader(dbCommand))
            {
                int _FormTypeCodeFOP = dr.GetOrdinal(Resources.LogOnlinePayServices.PARAM_fcFormTypeCodeFOP);
                int _PaxNumber       = dr.GetOrdinal(Resources.LogOnlinePayServices.PARAM_fiPaxNumber);
                int _PNR             = dr.GetOrdinal(Resources.LogOnlinePayServices.PARAM_fcPNR);
                int _Autorization    = dr.GetOrdinal(Resources.LogOnlinePayServices.PARAM_fcAutorization);
                int _Operation       = dr.GetOrdinal(Resources.LogOnlinePayServices.PARAM_fcOperation);
                int _Tarjeta         = dr.GetOrdinal(Resources.LogOnlinePayServices.PARAM_fcTarjeta);
                int _Monto           = dr.GetOrdinal(Resources.LogOnlinePayServices.PARAM_fdMonto);

                while (dr.Read())
                {
                    CreditCardInfo item = new CreditCardInfo();

                    item.TipoTarjeta        = (dr[_FormTypeCodeFOP] == DBNull.Value) ? String.Empty : dr.GetString(_FormTypeCodeFOP);
                    item.PaxNumber          = (dr[_PaxNumber] == DBNull.Value) ? 0 : dr.GetInt32(_PaxNumber);
                    item.PNR                = (dr[_PNR] == DBNull.Value) ? String.Empty : dr.GetString(_PNR);
                    item.NumeroAutorizacion = (dr[_Autorization] == DBNull.Value) ? String.Empty : dr.GetString(_Autorization);
                    item.NumeroOperacion    = (dr[_Operation] == DBNull.Value) ? String.Empty : dr.GetString(_Operation);
                    item.NumeroTarjeta      = (dr[_Tarjeta] == DBNull.Value) ? String.Empty : dr.GetString(_Tarjeta);
                    item.MontoCargo         = (dr[_Monto] == DBNull.Value) ? 0 : dr.GetDecimal(_Monto);

                    listaInfoTarjetas.Add(item);
                }
            }
            return(listaInfoTarjetas);
        }
コード例 #26
0
        public async Task <CreditCardInfo> AddCreditCardToAccount(Guid id, CreditCardInfo creditCardInfo)
        {
            var cardAccount = await _accountDomainRepository.GetAccountById(id);

            if (cardAccount == null)
            {
                return(null);
            }

            var newPan    = _cardPanGeneratorService.GeneratePan();
            var hashedPan = _panHashService.HashPan(newPan);

            var newCard = new CreditCardAggregateRoot(hashedPan);

            newCard.AddEvent(new CreditCardCreatedEvent
            {
                HashedPan    = hashedPan,
                EncryptedPan = _panEncryptService.EncryptPan(newPan)
            });
            newCard.AddEvent(new CardDetailsSetEvent
            {
                NameOnCard = creditCardInfo.NameOnCard
            });
            newCard.AddEvent(new CardConnectedToAccountEvent
            {
                AccountId = cardAccount.Id
            });

            await _cardDomainRepository.SaveCard(newCard);

            return(new CreditCardInfo
            {
                NameOnCard = creditCardInfo.NameOnCard,
                Pan = newPan
            });
        }
コード例 #27
0
ファイル: OrderDAO.cs プロジェクト: hwman-qq/PetShopMvc
        /// <summary>
        /// Read an order from the database
        /// </summary>
        /// <param name="orderId"></param>
        /// <returns></returns>
        public OrderInfo GetOrder(int orderId)
        {
            //Create a parameter
            SqlParameter parm = new SqlParameter(PARM_ORDER_ID, SqlDbType.Int);

            parm.Value = orderId;

            //Execute a query to read the order
            using (SqlDataReader rdr = SQLHelper.ExecuteReader(SQLHelper.CONN_STRING_DTC_ORDERS, CommandType.Text, SQL_SELECT_ORDER, parm)) {
                if (rdr.Read())
                {
                    //Generate an order header from the first row
                    CreditCardInfo creditCard      = new CreditCardInfo(rdr.GetString(2), rdr.GetString(3), rdr.GetString(4));
                    AddressInfo    billingAddress  = new AddressInfo(rdr.GetString(5), rdr.GetString(6), rdr.GetString(7), rdr.GetString(8), rdr.GetString(9), rdr.GetString(10), rdr.GetString(11), rdr.GetString(12), null);
                    AddressInfo    shippingAddress = new AddressInfo(rdr.GetString(13), rdr.GetString(14), rdr.GetString(15), rdr.GetString(16), rdr.GetString(17), rdr.GetString(18), rdr.GetString(19), rdr.GetString(20), null);

                    OrderInfo order = new OrderInfo(orderId, rdr.GetDateTime(0), rdr.GetString(1), creditCard, billingAddress, shippingAddress, rdr.GetDecimal(21));

                    ArrayList    lineItems = new ArrayList();
                    LineItemInfo item      = null;

                    //Create the lineitems from the first row and subsequent rows
                    do
                    {
                        item = new LineItemInfo(rdr.GetString(22), string.Empty, rdr.GetInt32(23), rdr.GetInt32(24), rdr.GetDecimal(25));
                        lineItems.Add(item);
                    }while(rdr.Read());

                    order.LineItems = (LineItemInfo[])lineItems.ToArray(typeof(LineItemInfo));

                    return(order);
                }
            }

            return(null);
        }
コード例 #28
0
 public override void UserDidProvideCreditCardInfo(CreditCardInfo cardInfo, PaymentViewController paymentViewController)
 {
     var evt = OnScanCompleted;
     if (evt != null)
         evt(paymentViewController, cardInfo);
 }
コード例 #29
0
ファイル: AccaProcess.cs プロジェクト: dilipsvn/mailingcycle
        public List <AccaInfo> GetCreditCardDetailsForScheduledEvents(DateTime eventDate)
        {
            List <AccaInfo> scheduledAccountInfo = new List <AccaInfo>();
            AccaInfo        accInfo    = new AccaInfo();
            CreditCardInfo  creditCard = null;
            bool            success    = true;

            using (SqlConnection conn = new SqlConnection(SQLHelper.CONNECTION_STRING))
            {
                conn.Open();
                using (SqlTransaction sqlTran = conn.BeginTransaction())
                {
                    try
                    {
                        SqlParameter[] sqlParam = new SqlParameter[] { new SqlParameter("@event_date", SqlDbType.DateTime) };
                        if (eventDate != DateTime.MinValue)
                        {
                            sqlParam[0].Value = eventDate;
                        }
                        SQLHelper.ExecuteNonQuery(sqlTran, CommandType.StoredProcedure,
                                                  SQLHelper.GetSQLStatement(MODULE_NAME, "SP_UPDATESCHEDULEDEVENTS"), sqlParam);
                        sqlTran.Commit();
                    }
                    catch (Exception ex)
                    {
                        success = false;
                        sqlTran.Rollback();
                        throw ex;
                    }
                }
            }
            if (success)
            {
                try
                {
                    using (SqlDataReader reader = SQLHelper.ExecuteReader(SQLHelper.CONNECTION_STRING,
                                                                          CommandType.StoredProcedure, SQLHelper.GetSQLStatement(MODULE_NAME, "SP_GETCREDITCARD"), null))
                    {
                        while (reader.Read())
                        {
                            creditCard = new CreditCardInfo(new LookupInfo(reader.GetInt32(0), reader.GetString(1)),
                                                            reader.GetString(2), reader.GetString(3), reader.GetString(4),
                                                            reader.GetInt32(5), reader.GetInt32(6), new AddressInfo(
                                                                reader.GetString(7), reader.GetString(8), reader.GetString(9),
                                                                new CountryInfo(reader.GetInt32(10), reader.GetString(11), false),
                                                                new StateInfo(reader.GetInt32(12), reader.GetString(13)),
                                                                reader.GetString(14), "", "", ""));
                            accInfo = new AccaInfo();
                            accInfo.AccaCreditCardInfo = creditCard;
                            accInfo.AccaDesignCategory = (DesignCategory)(Convert.ToInt32(reader["category"]));
                            accInfo.ContactCount       = Convert.ToInt32(reader["contact_count"]);
                            accInfo.EventId            = Convert.ToInt32(reader["event_id"]);
                            accInfo.EventStatus        = (ScheduleEventStatus)(Convert.ToInt32(reader["status"]));
                            accInfo.UserId             = Convert.ToInt32(reader["bill_user_id"]);
                            accInfo.EventDate          = Convert.ToDateTime(reader["event_date"]);
                            accInfo.FarmName           = Convert.ToString(reader["farm_name"]);
                            accInfo.PlanName           = Convert.ToString(reader["plan_name"]);
                            accInfo.UserName           = Convert.ToString(reader["first_name"]) + " " + Convert.ToString(reader["last_name"]);
                            accInfo.PostalTariff       = Convert.ToString(reader["postal_tariff"]);
                            if (reader["message_id"] == DBNull.Value && accInfo.AccaDesignCategory == DesignCategory.PowerKard)
                            {
                                accInfo.EventStatus = ScheduleEventStatus.ACCAError;
                                accInfo.Remarks     = "Message not assigned";
                            }
                            bool isEventExists = false;
                            foreach (AccaInfo accaInfo in scheduledAccountInfo)
                            {
                                if (accaInfo.EventId == accInfo.EventId)
                                {
                                    isEventExists = true;
                                    break;
                                }
                            }
                            if (!isEventExists)
                            {
                                scheduledAccountInfo.Add(accInfo);
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
            return(scheduledAccountInfo);
        }
コード例 #30
0
 public override HttpWebResponse SubmitDirectPaymentRequest(Order order, CreditCardInfo creditCardInfo)
 {
     throw new NotImplementedException();
 }
コード例 #31
0
        protected virtual void SetPaymentMethodAction()
        {
            SelectEnumInputForm form = new SelectEnumInputForm(true);

            form.SetDataSource(GetPaymentMethods());

            try
            {
                Datos.RaiseListChangedEvents = false;

                if (form.ShowDialog(this) == DialogResult.OK)
                {
                    ComboBoxSource item = form.Selected as ComboBoxSource;

                    _entity.SetMedioPago(item.Oid);
                    MedioPago_TB.Text = _entity.MedioPagoLabel;

                    Importe_NTB.Enabled   = true;
                    Tarjeta_BT.Enabled    = false;
                    Cuenta_BT.Enabled     = true;
                    PaymentStatus_TB.Text = _entity.EstadoPagoLabel;

                    _credit_card = (_entity.EMedioPago != EMedioPago.Tarjeta) ? null : _credit_card;
                    _entity.OidTarjetaCredito = 0;
                    _entity.TarjetaCredito    = string.Empty;

                    switch (_entity.EMedioPago)
                    {
                    case EMedioPago.CompensacionFactura:
                    {
                        Importe_NTB.Text = _entity.Importe.ToString("N2");
                        ReleaseAction();
                        Importe_NTB.Enabled   = false;
                        PaymentStatus_TB.Text = _entity.EstadoPagoLabel;
                    }
                    break;

                    case EMedioPago.Tarjeta:
                    {
                        Tarjeta_BT.Enabled    = true;
                        Cuenta_BT.Enabled     = false;
                        PaymentStatus_TB.Text = _entity.EstadoPagoLabel;
                    }
                    break;

                    case EMedioPago.ComercioExterior:
                    {
                        SetBankAccountAction();
                        SetExpenses();
                    }
                    break;
                    }

                    if (moleQule.Common.EnumFunctions.NeedsCuentaBancaria(_entity.EMedioPago))
                    {
                        if ((_entity.EMedioPago == EMedioPago.Tarjeta) && (_entity.OidTarjetaCredito == 0))
                        {
                            SetCreditCardAction();
                        }
                        else if (_entity.OidCuentaBancaria == 0)
                        {
                            SetBankAccountAction();
                        }
                    }
                    else
                    {
                        Cuenta_TB.Text = string.Empty;
                    }

                    PaymentStatus_TB.Text = _entity.EstadoPagoLabel;
                }
            }
            finally
            {
                Datos.RaiseListChangedEvents = true;
            }
        }
コード例 #32
0
 public override void Refund(GatewayInfo gateway, GatewayTypeInfo gatewayType, Guid orderId, ICustomer customer, CreditCardInfo card, string refID, TransactionInfo transaction, bool testTransaction)
 {
     throw new NotImplementedException();
 }
コード例 #33
0
 protected void DeleteCourseButton_Click(object sender, EventArgs e)
 {
     BillingController.DeleteCreditCard(this.CardId);
     _cardEntity = null;
     Response.Redirect("~/Admin/UserDetails.aspx?Tab=3&user="******"UserForDetails"]);
     
 }
コード例 #34
0
 private void LoadCardInfoEntity()
 {
     _cardEntity = BillingController.GetCreditCard(this.CardId);
     BindEntities();
 }
コード例 #35
0
ファイル: SpreedlyService.cs プロジェクト: fishonline/API-1
        /// <summary>
        /// The save credit card info.
        /// </summary>
        /// <param name="creditCardInfo">The credit card info.</param>
        /// <param name="userId">the user id.</param>
        /// <returns>
        /// The <see>
        ///         <cref>AsyncCallResult</cref>
        ///     </see>
        ///     .
        /// </returns>
        public AsyncCallResult<string> SaveCreditCardInfo(CreditCardInfo creditCardInfo, string userId)
        {
            var source = new CancellationTokenSource();
            CancellationToken token = source.Token;
            string response = "Connection Timeout";
            TransactionTypes transactionType = TransactionTypes.AddCreditCard;
            using (
                var contents =
                    new FormUrlEncodedContent(
                        new List<KeyValuePair<string, string>>
                            {
                                new KeyValuePair<string, string>(
                                    "redirect_url", 
                                    this.redirectURI), 
                                new KeyValuePair<string, string>(
                                    "api_login", 
                                    this.securityKeys.Credentials.UserName), 
                                new KeyValuePair<string, string>(
                                    "credit_card[number]", 
                                    creditCardInfo.CreditCardNumber), 
                                new KeyValuePair<string, string>(
                                    "credit_card[month]", 
                                    creditCardInfo.CreditCardMonth.ToString()), 
                                new KeyValuePair<string, string>(
                                    "credit_card[year]", 
                                    creditCardInfo.CreditCardYear.ToString()), 
                                new KeyValuePair<string, string>(
                                    "credit_card[verification_value]", 
                                    creditCardInfo.CrediCardCVV.ToString()), 
                                new KeyValuePair<string, string>(
                                    "credit_card[first_name]", 
                                    creditCardInfo.FirstName), 
                                new KeyValuePair<string, string>(
                                    "credit_card[last_name]", 
                                    creditCardInfo.LastName)
                            }))
            using (var handler = new HttpClientHandler { AllowAutoRedirect = false, PreAuthenticate = false })
            using (var client = new HttpClient(handler))
            {
                const string URI = "https://spreedlycore.com/v1/payment_methods";
                string request = contents.ToString();
                using (Task<HttpResponseMessage> task = client.PostAsync(URI, contents, token))
                {
                    try
                    {
                        if (task.Wait(20000, token) == false)
                        {
                            if (token.CanBeCanceled)
                            {
                                source.Cancel();
                            }

                            this.LogToDb(userId, request, response, transactionType);
                            return new AsyncCallResult<string>(AsyncCallFailureReason.TimeOut);
                        }
                    }
                    catch (Exception ex)
                    {
                        request = "Connection Failure, error : - " + ex;
                        this.LogToDb(userId, request, response, transactionType);
                        return new AsyncCallResult<string>(AsyncCallFailureReason.FailedConnection);
                    }

                    if (task.Result.StatusCode != HttpStatusCode.Redirect)
                    {
                        request = "Connection Failure";
                        this.LogToDb(userId, request, response, transactionType);
                        return new AsyncCallResult<string>(
                            AsyncCallFailureReason.FailedStatusCode,
                            task.Result.Content.ReadAsStringAsync().Result);
                    }

                    response = task.Result.Content.ToString();
                    this.LogToDb(userId, request, response, transactionType);
                    return new AsyncCallResult<string>(
                        AsyncCallFailureReason.None,
                        task.Result.Headers.Location.Query.Substring(1));
                }
            }
        }
コード例 #36
0
        public string PurchaseGameCurrencyCreditCard(string transactionId, string piUserId, string hangoutUserId, string sessionGuid, string emailAddress, string offerId, CreditCardInfo creditCardInfo, string ipAddress, string baseServicesRoot)
        {
            PaymentCommand paymentCommand = CreatePurchaseGameCurrencyCreditCard(transactionId, piUserId, offerId, creditCardInfo, ipAddress);

            MoneyTransactionLogging moneyLog = new MoneyTransactionLogging();

            moneyLog.LogMoneyPaymentCommand(hangoutUserId, sessionGuid, paymentCommand.Parameters, emailAddress, "CreditCard");

            XmlDocument xmlResponse = ProcessPaymentItem(paymentCommand, baseServicesRoot);

            moneyLog.CreditCardLogResponse(xmlResponse);

            return(ParseCreditCardResult(xmlResponse));
        }
コード例 #37
0
 public CreditCardOrder(ShoppingCart shoppingCart, CreditCardInfo cardInfo) : base(shoppingCart)
 {
     CardInfo = cardInfo;
 }
コード例 #38
0
        private PaymentCommand CreatePurchaseGameCurrencyCreditCard(string transactionId, string userId, string offerId, CreditCardInfo creditCardInfo, string ipAddress)
        {
            PaymentCommand cmd = new PaymentCommand();

            cmd.Noun = "HangoutPurchase";
            cmd.Verb = "PurchaseGameCurrencyCreditCard";

            cmd.Parameters.Add("userId", userId);
            cmd.Parameters.Add("ipAddress", ipAddress);
            cmd.Parameters.Add("offerId", offerId);
            cmd.Parameters.Add("externalTxnId", transactionId);
            cmd.Parameters.Add("creditCardNumber", creditCardInfo.CreditCardnumber);
            cmd.Parameters.Add("creditCardType", creditCardInfo.CreditCardtype);
            cmd.Parameters.Add("expireDate", creditCardInfo.ExpireDate);
            cmd.Parameters.Add("securityCode", creditCardInfo.SecurityCode);
            cmd.Parameters.Add("firstName", creditCardInfo.FirstName);
            cmd.Parameters.Add("middleName", creditCardInfo.MiddleName);
            cmd.Parameters.Add("lastName", creditCardInfo.LastName);
            cmd.Parameters.Add("address", creditCardInfo.Address);
            cmd.Parameters.Add("city", creditCardInfo.City);
            cmd.Parameters.Add("state", creditCardInfo.StateProvince);
            cmd.Parameters.Add("zipCode", creditCardInfo.ZipCode);
            cmd.Parameters.Add("countryCode", creditCardInfo.CountryCode);
            cmd.Parameters.Add("phoneNumber", creditCardInfo.PhoneNumber);

            return(cmd);
        }
コード例 #39
0
        /// <summary>
        /// Implements call to Twofish method purchase/creditCard to complete a recurring credit card purchase
        /// Recurring purchase of a foreign exchange offer
        /// </summary>
        /// <param name="userId">userId, IPAddress, SecureKey (optional)</param>
        /// <param name="purchaseInfo">OfferId, ExternalTxnId, Token, PayerId</param>
        /// <param name="creditCardInfo">CreditCardnumber, CreditCardtype, ExpireDate, SecurityCode, FirstName, MiddleName, LastName, Address, City, StateProvince, ZipCode, CountryCode, PhoneNumber</param>
        /// <param name="recurringInfo">StartDate, NumPayments, PayFrequency</param>
        /// <param name="commmonKeyValue">Twofish REST service common values</param>
        /// <param name="baseAddress">Twofish REST service base address</param>
        /// <returns>XML document containing recurring credit card purchase results</returns>
        public XmlDocument PurchaseCreditCardRecurring(UserId userId, PurchaseInfo purchaseInfo, CreditCardInfo creditCardInfo, PurchaseRecurringInfo recurringInfo, CommmonKeyValues commmonKeyValue, BaseAddress baseAddress)
        {
            ServiceHandler rest = new ServiceHandler(baseAddress.BaseAddressValue);

            Dictionary <string, string> keyValues = commmonKeyValue.GetCommmonInfo(false);

            keyValues.Add("userId", userId.ToString());
            keyValues.Add("ipAddress", userId.IPAddress);
            keyValues.Add("secureKey", userId.SecureKey);
            keyValues.Add("offerId", purchaseInfo.OfferId);
            keyValues.Add("externalTxnId", purchaseInfo.ExternalTxnId);
            keyValues.Add("cc.number", creditCardInfo.CreditCardnumber);
            keyValues.Add("cc.type", creditCardInfo.CreditCardtype);
            keyValues.Add("cc.expDate", creditCardInfo.ExpireDate);
            keyValues.Add("cc.securityCode", creditCardInfo.SecurityCode);
            keyValues.Add("cc.firstName", creditCardInfo.FirstName);
            keyValues.Add("cc.middleName", creditCardInfo.MiddleName);
            keyValues.Add("cc.surname", creditCardInfo.LastName);
            keyValues.Add("cc.address", creditCardInfo.Address);
            keyValues.Add("cc.city", creditCardInfo.City);
            keyValues.Add("cc.stateProvince", creditCardInfo.StateProvince);
            keyValues.Add("cc.zip", creditCardInfo.ZipCode);
            keyValues.Add("cc.countryCode", creditCardInfo.CountryCode);
            keyValues.Add("cc.phoneNumber", creditCardInfo.PhoneNumber);
            keyValues.Add("startDateString", recurringInfo.StartDate);
            keyValues.Add("numPayments", recurringInfo.NumPayments);
            keyValues.Add("payFrequency", recurringInfo.PayFrequency);

            //Do not log the credit card number in plain text
            string[] itemsToEncrypt = new string[] { "cc.number", "cc.securityCode" };
            DebugLogEncryptList("PurchaseCreditCard", keyValues, itemsToEncrypt);

            return(rest.PostXMLRequest("purchase/creditCardRecurring", keyValues));
        }
コード例 #40
0
        public static PaymentList GetListByVencimientoTarjeta(DateTime f_vto_ini, DateTime f_vto_fin, CreditCardInfo tarjeta, bool childs)
        {
            QueryConditions conditions = new QueryConditions
            {
                FechaAuxIni    = f_vto_ini,
                FechaAuxFin    = f_vto_fin,
                TarjetaCredito = tarjeta
            };

            return(GetListByVencimientoTarjeta(conditions, childs));
        }
コード例 #41
0
        protected void btnReviewOrder_Click(object sender, EventArgs e)
        {
            // user-selected payment method (credit card or PayPal)
            string userSelectedPaymentMethod = Request.Form["paymentMethod"] ?? "";

            if (userSelectedPaymentMethod == "payLater")
            {
                checkoutOrderInfo.PaymentProvider = StoreContext.CurrentStore.GetOnsitePaymentProviders().Where(p => p == PaymentProviderName.PayLater).First();
                if (checkoutOrderInfo.PaymentProvider == PaymentProviderName.UNKNOWN)
                {
                    throw new ApplicationException("Unable to determine PaymentProvider for CheckoutOrderInfo!");
                }
                UpdateCheckoutSession(checkoutOrderInfo);

                Response.Redirect(StoreUrls.CheckoutReview());
            }
            else if (userSelectedPaymentMethod == "payPalExpressCheckout")
            {
                OrderController orderController = new OrderController(StoreContext);
                Order           pendingOrder    = orderController.CreateOrder(checkoutOrderInfo, OrderStatusName.PendingOffsite);

                PayPalExpressCheckoutPaymentProvider payPalExpressCheckout = new PayPalExpressCheckoutPaymentProvider(StoreContext.CurrentStore.GetPaymentProviderConfig(PaymentProviderName.PayPalExpressCheckout));
                string cancelUrl = StoreUrls.Cart();
                string returnUrl = StoreUrls.CheckoutReview();
                string token     = payPalExpressCheckout.SetExpressCheckoutAndGetToken(pendingOrder, cancelUrl, returnUrl);

                if (!string.IsNullOrEmpty(token))
                {
                    //Session[SessionKeys.CheckoutOrderInfo] = checkoutOrderInfo;
                    //string payPalUrl = string.Format("https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token={0}", token);

                    string payPalUrl = payPalExpressCheckout.GetExpressCheckoutUrl(token);

                    Response.Redirect(payPalUrl);
                }
                else
                {
                    // ERROR
                    throw new ApplicationException("PayPal Express Token is Null/Empty!");
                }
            }
            else if (userSelectedPaymentMethod == "creditCard")
            {
                checkoutOrderInfo.PaymentProvider = StoreContext.CurrentStore.GetOnsitePaymentProviders().Where(p => p != PaymentProviderName.PayLater).First();
                if (checkoutOrderInfo.PaymentProvider == PaymentProviderName.UNKNOWN)
                {
                    throw new ApplicationException("Unable to determine PaymentProvider for CheckoutOrderInfo!");
                }

                //---- Credit Card Info
                CreditCardInfo creditCard = new CreditCardInfo()
                {
                    CardType     = WA.Enum <CreditCardType> .TryParseOrDefault(ddlCCType.SelectedValue, CreditCardType.UNKNOWN),
                    CardNumber   = txtCCNumber.Text,
                    ExpireMonth  = WA.Parser.ToShort(ddlCCExpireMonth.SelectedValue),
                    ExpireYear   = WA.Parser.ToShort(ddlCCExpireYear.SelectedValue),
                    NameOnCard   = txtCCNameOnCard.Text,
                    SecurityCode = txtCCSecurityCode.Text.Trim()
                };
                checkoutOrderInfo.CreditCard = creditCard;

                UpdateCheckoutSession(checkoutOrderInfo);

                bool doRedirect = true;
                if (checkoutOrderInfo.Total > 0)
                {
                    CreditCardInfoValidator validator = new CreditCardInfoValidator();
                    ValidationResult        results   = validator.Validate(checkoutOrderInfo.CreditCard);
                    if (!results.IsValid && results.Errors.Count > 0)
                    {
                        doRedirect = false;

                        msgFlash.InnerHtml = "<ul>" + results.Errors.ToList().ConvertAll(err => "<li>" + err.ErrorMessage + "</li>").ToDelimitedString(" ") + "</ul>";
                        msgFlash.Visible   = true;
                    }
                }

                if (doRedirect)
                {
                    Response.Redirect(StoreUrls.CheckoutReview());
                }
            }
            else
            {
                throw new ApplicationException("Unable to determine PaymentProvider for CheckoutOrderInfo!");
            }
        }
コード例 #42
0
        protected string GetPaymentAccount(PaymentInfo payment)
        {
            string cuenta = string.Empty;
            string info   = string.Empty;

            try
            {
                switch (payment.EMedioPago)
                {
                case EMedioPago.Efectivo:
                {
                    CashInfo caja = CashInfo.Get(1);
                    cuenta = caja.CuentaContable;
                    info   = String.Format(Resources.Messages.CASH_BOOK_ACCOUNT_NOT_FOUND, caja.Codigo, caja.Nombre);
                }
                break;

                case EMedioPago.Tarjeta:
                {
                    CreditCardInfo  tarjeta = CreditCardInfo.Get(payment.OidTarjetaCredito);
                    BankAccountInfo cb      = _bank_accounts.GetItem(payment.OidCuentaBancaria);
                    cuenta = (tarjeta.ETipoTarjeta == ETipoTarjeta.Credito) ? tarjeta.CuentaContable : cb.CuentaContable;
                    info   = String.Format(Resources.Messages.CREDIT_CARD_BOOK_ACCOUNT_NOT_FOUND, tarjeta.Numeracion, tarjeta.Nombre);
                }
                break;

                case EMedioPago.CompensacionFactura:
                {
                    IAcreedorInfo provider = _providers.GetItem(payment.OidAgente, payment.ETipoAcreedor);
                    cuenta = provider.CuentaContable;
                    info   = String.Format(Resources.Messages.PROVIDER_BOOK_ACCOUNT_NOT_FOUND, provider.Codigo, provider.Nombre);
                }
                break;

                case EMedioPago.Pagare:

                    if (payment.EEstadoPago == EEstado.Pagado)
                    {
                        BankAccountInfo cb = _bank_accounts.GetItem(payment.OidCuentaBancaria);
                        cuenta = cb.CuentaContable;
                        info   = String.Format(Resources.Messages.BANK_ACCOUNT_BOOK_ACCOUNT_NOT_FOUND, cb.Valor, cb.Entidad);
                    }
                    else
                    {
                        cuenta = GetFinancialCashPaymentsAccount(payment.Vencimiento);
                    }
                    break;

                default:
                {
                    BankAccountInfo cb = _bank_accounts.GetItem(payment.OidCuentaBancaria);
                    cuenta = cb.CuentaContable;
                    info   = String.Format(Resources.Messages.BANK_ACCOUNT_BOOK_ACCOUNT_NOT_FOUND, cb.Valor, cb.Entidad);
                }
                break;
                }
            }
            catch (Exception ex)
            {
                if (ex is iQException)
                {
                    throw ex;
                }
                else
                {
                    throw new iQException("El pago nº " + payment.Codigo + " no tiene cuenta bancaria asociada");
                }
            }

            if (cuenta == string.Empty)
            {
                throw new iQException(info);
            }

            return(Convert.ToInt64(cuenta).ToString());           //Por algún motivo hay cuentas guardadas con un salto de línea al final y da problemas al exportar a contawin
        }
コード例 #43
0
ファイル: HangoutPurchase.cs プロジェクト: lsmolic/hangoutsrc
        /// <summary>
        /// Purchase Game Currency using Credit Card
        /// </summary>
        /// <param name="userId">UserId, IP address and SecureKey (optional)</param>
        /// <param name="purchaseInfo">OfferId and ExternalTxnId </param>
        /// <param name="creditCardInfo">CreditCardnumber, CreditCardtype, ExpireDate, SecurityCode, FirstName, MiddleName, LastName
        /// Address, City, StateProvince, ZipCode, CountryCode, PhoneNumber</param>
        /// <returns>SimpleResponse XML Document containing the purchaseResult</returns>
        public XmlDocument PurchaseGameCurrencyCreditCard(UserId userId, PurchaseInfo purchaseInfo, CreditCardInfo creditCardInfo)
        {
            XmlDocument response = null;

            try
            {
                PaymentCommand cmd = new PaymentCommand();
                cmd.Noun = "Purchase";
                cmd.Verb = "PurchaseCreditCard";

                cmd.Parameters.Add("userId", userId.ToString());
                cmd.Parameters.Add("ipAddress", userId.IPAddress);
                cmd.Parameters.Add("secureKey", userId.SecureKey);
                cmd.Parameters.Add("offerId", purchaseInfo.OfferId);
                cmd.Parameters.Add("externalTxnId", purchaseInfo.ExternalTxnId);
                cmd.Parameters.Add("creditCardNumber", creditCardInfo.CreditCardnumber);
                cmd.Parameters.Add("creditCardType", creditCardInfo.CreditCardtype);
                cmd.Parameters.Add("expireDate", creditCardInfo.ExpireDate);
                cmd.Parameters.Add("securityCode", creditCardInfo.SecurityCode);
                cmd.Parameters.Add("firstName", creditCardInfo.FirstName);
                cmd.Parameters.Add("middleName", creditCardInfo.MiddleName);
                cmd.Parameters.Add("lastName", creditCardInfo.LastName);
                cmd.Parameters.Add("address", creditCardInfo.Address);
                cmd.Parameters.Add("city", creditCardInfo.City);
                cmd.Parameters.Add("state", creditCardInfo.StateProvince);
                cmd.Parameters.Add("zipCode", creditCardInfo.ZipCode);
                cmd.Parameters.Add("countryCode", creditCardInfo.CountryCode);
                cmd.Parameters.Add("phoneNumber", creditCardInfo.PhoneNumber);

                XmlDocument serviceResponse = CallTwoFishService(cmd, MethodBase.GetCurrentMethod());

                cmd.Parameters.Remove("creditCardNumber");
                serviceResponse = UpdateResponseForErrors(serviceResponse, cmd.Parameters);

                XmlNode purchaseResultNode = serviceResponse.SelectSingleNode("Response/purchaseResult");

                if (purchaseResultNode != null)
                {
                    string externalTxnId = serviceResponse.SelectSingleNode("Response/purchaseResult").Attributes["externalTxnId"].InnerText;
                    string result        = serviceResponse.SelectSingleNode("Response/purchaseResult").Attributes["statusText"].InnerText;
                    response = new SimpleResponse(MethodBase.GetCurrentMethod(), "purchaseResult", result);
                    AddAttribute(response, "/Response/purchaseResult", "externalTxnId", externalTxnId);
                }
                else
                {
                    string responseError     = serviceResponse.SelectSingleNode("Response/errors/error").InnerText;
                    string responseErrorCode = serviceResponse.SelectSingleNode("Response/errors/error").Attributes["code"].InnerText;
                    logError("PurchaseGameCurrencyCreditCard", serviceResponse.InnerXml);
                    response = new SimpleResponse(MethodBase.GetCurrentMethod(), "purchaseResult", "Error");
                    AddAttribute(response, "/Response/purchaseResult", "externalTxnId", purchaseInfo.ExternalTxnId);
                    AddAttribute(response, "/Response/purchaseResult", "error", responseError);
                    AddAttribute(response, "/Response/purchaseResult", "errorCode", responseErrorCode);
                }
            }

            catch (Exception ex)
            {
                logError("PurchaseGameCurrencyCreditCard", ex);
                response = new SimpleResponse(MethodBase.GetCurrentMethod(), "purchaseResult", "Error");
                AddAttribute(response, "/Response/purchaseResult", "externalTxnId", purchaseInfo.ExternalTxnId);
            }

            return(response);
        }
コード例 #44
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (String.IsNullOrEmpty(Request.QueryString["Id"]))
     {
         Response.Redirect("~/Admin/UserDetails.aspx?Tab=3&user="******"UserForDetails"]);
     }
     if (!IsPostBack)
     {
         _cardEntity = BillingController.GetCreditCard(this.CardId);
         DataBind();
         BindEntities();
     }
     CancelButton.RedirectUrl = "~/Admin/UserDetails.aspx?Tab=3&user="******"UserForDetails"];
 }
コード例 #45
0
 protected void DeleteCourseButton_Click(object sender, EventArgs e)
 {
     BillingController.DeleteCreditCard(this.CardId);
     _cardEntity = null;
     Response.Redirect("Account.aspx?tab=3");
 }
コード例 #46
0
        public override void Refund(GatewayInfo gateway, GatewayTypeInfo gatewayType, Guid orderId, ICustomer customer, CreditCardInfo card, string refID, TransactionInfo transaction,
            bool testTransaction)
        {
            ANetRequest request = null;
            ANetResponse response = null;

            string requestUrl = testTransaction == true ? gatewayType.TestUrl : gatewayType.LiveUrl;
            string loginId = testTransaction == true ? gatewayType.TestLoginId : gateway.LoginId;
            string transactionKey = testTransaction == true ? gatewayType.TestTransactionKey : gateway.TransactionKey;

            request = new ANetRequest(requestUrl, loginId, transactionKey, customer, card, refID, transaction, testTransaction, transaction.Amount);
           
            response = request.ProcessRefund();

            if (response.Code == ANetResponseCode.Approved)
            {
                transaction.Status = TransactionStatus.Refunded;
            }
        }
コード例 #47
0
 private void CreateCreditCard()
 {
     CreditCardInfo card = new CreditCardInfo(this.CardId, _cardEntity.CustomerId,
                                                 CardNumber, ExpiryMonth,ExpiryYear, SecurityCode, CardType);
     BillingController.CreateCreditCard(ref card);
     _cardEntity = BillingController.GetCreditCard(this.CardId);
     this.DataBind();
 }
コード例 #48
0
    protected void Page_Load(object sender, EventArgs e)
    {
        if (String.IsNullOrEmpty(Request.QueryString["Id"]))
        {
            Response.Redirect("Account.aspx");
        }
        if (!IsPostBack)
        {
            _cardEntity = BillingController.GetCreditCard(this.CardId);
            DataBind();
            BindEntities();

        }
        CancelButton.RedirectUrl = "Account.aspx";
    }
コード例 #49
0
ファイル: BookingRepostory.cs プロジェクト: philwang1990/Src
        //舊版
        public static PmchSslRequest setPaymentInfo(ProductModel prod, OrderModel orderModel, string orderMid)
        {
            PmchSslRequest pmch = new PmchSslRequest();

            pmch.apiKey    = "kkdayapi";
            pmch.userOid   = "1";
            pmch.ver       = "1.0.1";
            pmch.ipaddress = "127.0.0.1";

            CallJsonPay json = new CallJsonPay();

            json.pmchOid       = orderModel.payPmchOid;
            json.is3D          = "0";
            json.payCurrency   = orderModel.currency;
            json.payAmount     = Convert.ToDouble(orderModel.currPriceTotal);
            json.returnURL     = "https://*****:*****@kkday.com";

            json.payerInfo = payer;

            PayProductInfo prodInfo = new PayProductInfo();

            prodInfo.prodName = prod.prod_name;
            prodInfo.prodOid  = prod.prod_no.ToString();

            json.productInfo = prodInfo;

            PayMember member = new PayMember();

            member.memberUuid = orderModel.memberUuid;
            member.riskStatus = "01";

            json.member = member;
            pmch.json   = json;

            return(pmch);// JsonConvert.SerializeObject(pmch);
        }
コード例 #50
0
        public override TransactionInfo ProcessPayment(GatewayInfo gateway, GatewayTypeInfo gatewayType, Guid orderId, ICustomer customer, CreditCardInfo card, decimal amount, bool testTransaction)
        {
            ProPayRequest request = null;
            ProPayResponse response = null;
            TransactionInfo transactionInfo = new TransactionInfo();

            string requestUrl = testTransaction == true ? gatewayType.TestUrl : gatewayType.LiveUrl;
            string loginId = testTransaction == true ? gatewayType.TestLoginId : gateway.LoginId;
            string transactionKey = testTransaction == true ? gatewayType.TestTransactionKey : gateway.TransactionKey;

            request = new ProPayRequest(requestUrl, loginId, transactionKey, customer, card, amount, testTransaction);
            response = request.Process();



            transactionInfo.Id = Guid.NewGuid();
            transactionInfo.SubscriptionId = Guid.Empty;
            transactionInfo.GatewayId = gateway.Id;
            transactionInfo.CreateDate = DateTime.Now;
            //transactionInfo.IsTrial = ??;
            transactionInfo.Type = TransactionType.Standard;
            transactionInfo.Amount = amount;
            transactionInfo.GatewayAmount = gateway.TransactionFee;
            transactionInfo.OrderId = orderId;
            if (response == null)
            {
                transactionInfo.ResponseText = "";
                transactionInfo.Status = TransactionStatus.Error;
            }
            else if (response.Code == ProPayResponseCode.Success)
            {
                transactionInfo.ResponseText = response.ResponseText;
                transactionInfo.Status = TransactionStatus.Approved;
            }
            else
            {
                transactionInfo.ResponseText = response.ResponseText;
                transactionInfo.Status = TransactionStatus.Error;
            }
            return transactionInfo;
        }
コード例 #51
0
        /// <summary>
        /// Implements call to Twofish method purchase/oneClick to complete a one click credit card purchase
        /// User SecureKey is required
        /// Purchase of a foreign exchange offer
        /// </summary>
        /// <param name="userId">userId, IPAddress, SecureKey</param>
        /// <param name="purchaseInfo">OfferId, ExternalTxnId</param>
        /// <param name="creditCardInfo">SecurityCode</param>
        /// <param name="commmonKeyValue">Twofish REST service common values</param>
        /// <param name="baseAddress">Twofish REST service base address</param>
        /// <returns>XML document containing one click credit card purchase results</returns>
        public XmlDocument PurchaseCreditCardOneClick(UserId userId, PurchaseInfo purchaseInfo, CreditCardInfo creditCardInfo, CommmonKeyValues commmonKeyValue, BaseAddress baseAddress)
        {
            ServiceHandler rest = new ServiceHandler(baseAddress.BaseAddressValue);

            Dictionary <string, string> keyValues = commmonKeyValue.GetCommmonInfo(false);

            keyValues.Add("userId", userId.ToString());
            keyValues.Add("ipAddress", userId.IPAddress);
            keyValues.Add("secureKey", userId.SecureKey);
            keyValues.Add("offerId", purchaseInfo.OfferId);
            keyValues.Add("externalTxnId", purchaseInfo.ExternalTxnId);
            keyValues.Add("cc.securityCode", creditCardInfo.SecurityCode);

            //Do not log the credit card number in plain text
            string[] itemsToEncrypt = new string[] { "cc.securityCode" };
            DebugLogEncryptList("PurchaseCreditCard", keyValues, itemsToEncrypt);

            return(rest.PostXMLRequest("purchase/oneClick", keyValues));
        }
コード例 #52
0
 public override TransactionInfo PreAuthorize(GatewayInfo gateway, GatewayTypeInfo gatewayType, Guid orderId, ICustomer customer, CreditCardInfo card, decimal amount, bool testTransaction)
 {
     throw new NotImplementedException();
 }
コード例 #53
0
ファイル: Checkout.ascx.cs プロジェクト: IdeaFortune/Monaco
 private CreditCardInfo GetCreditCard()
 {
     CreditCardInfo card = null;
     if (UseNewRadioButton.Checked)
     {
         //if (IsValid)
         //{
         card = new CreditCardInfo(Guid.NewGuid(), (Guid)Membership.GetUser().ProviderUserKey,
                                         txtCardNumber.Text, int.Parse(ddlExpiryMonth.SelectedValue),
                                         int.Parse(ddlExpiryYear.SelectedValue), txtSecurityCode.Text, ddlCardType.SelectedValue);
         BillingController.CreateCreditCard(ref card);
         //}
         //else
         //{
         ValidationHelper.SetFocusToFirstError(this.Page, "createCard");
         //}
     }
     else
     {
         card = BillingController.GetCreditCard(new Guid(ddlCreditCards.SelectedValue));
     }
     return card;
 }
コード例 #54
0
        public override TransactionInfo PreAuthorize(GatewayInfo gateway, GatewayTypeInfo gatewayType, Guid orderId, ICustomer customer, CreditCardInfo card, decimal amount, bool testTransaction)
        {
            ANetRequest request = null;
            ANetResponse response = null;
            TransactionInfo transactionInfo = new TransactionInfo();

            string requestUrl = testTransaction == true ? gatewayType.TestUrl : gatewayType.LiveUrl;
            string loginId = testTransaction == true ? gatewayType.TestLoginId : gateway.LoginId;
            string transactionKey = testTransaction == true ? gatewayType.TestTransactionKey : gateway.TransactionKey;

            request = new ANetRequest(requestUrl, loginId, transactionKey, customer, card, amount, testTransaction);
            response = request.ProcessAuthOnly();

            transactionInfo.Id = Guid.NewGuid();
            //transactionInfo.CustomerName = System.Web.Security.Membership.GetUser(customer.ID).UserName;
            transactionInfo.SubscriptionId = Guid.Empty;
            transactionInfo.GatewayId = gateway.Id;
            transactionInfo.CreateDate = DateTime.Now;
            //transactionInfo.IsTrial = ??;
            transactionInfo.Type = TransactionType.Standard;
            transactionInfo.Amount = amount;
            transactionInfo.GatewayAmount = gateway.TransactionFee;
            transactionInfo.OrderId = orderId;
            if (response == null)
            {
                transactionInfo.ResponseText = "";
                transactionInfo.Status = TransactionStatus.Error;
            }
            else if (response.Code == ANetResponseCode.Approved)
            {
                transactionInfo.ResponseText = response.ResponseText;
                transactionInfo.Status = TransactionStatus.Approved;
            }
            else
            {
                transactionInfo.ResponseText = response.ResponseText;
                transactionInfo.Status = TransactionStatus.Error;
            }
            return transactionInfo;
        }