public override void GetPaymentInfo(SerializedOrderHolder holder) { var payment = holder.BTOrder.Payments[0]; payment.PaymentCode = "BB"; payment.NumberOfInstallments = 1; payment.AuthNumber = AuthorizationCode; payment.TransactionCode = TransactionCode; }
public override void GetPaymentInfo(SerializedOrderHolder holder) { var payment = holder.BTOrder.Payments[0]; var orderPayment = (holder.Order as Order_V01).Payments[0] as WirePayment_V01; payment.PaymentCode = "BT"; // orderPayment.PaymentCode = "BB"; // Need this? what other data? payment.NumberOfInstallments = 1; }
public override void GetPaymentInfo(SerializedOrderHolder holder) { var payment = holder.BTOrder.Payments[0]; var orderPayment = (holder.Order as Order_V01).Payments[0] as WirePayment_V01; payment.PaymentCode = "BT"; payment.NumberOfInstallments = 1; payment.AuthNumber = AuthorizationCode; payment.TransactionCode = TransactionCode; }
/// <summary> /// pass additional info /// </summary> /// <param name="holder"></param> public override void GetPaymentInfo(SerializedOrderHolder holder) { if ((holder.Order as Order_V01) == null || SpecialResponse == null) { return; } string[] bankInfo = SpecialResponse.Split(','); if (bankInfo.Length == 2 && (holder.Order as Order_V01).Payments != null && ((holder.Order as Order_V01).Payments).Count > 0) { var btPayment = holder.BTOrder.Payments[0]; var orderPayment = (holder.Order as Order_V01).Payments[0] as CreditPayment_V01; btPayment.PaymentCode = orderPayment.TransactionType = "DC"; orderPayment.Card.IssuingBankID = bankInfo[0]; // this is PayChannel orderPayment.AuthorizationMerchantAccount = bankInfo[1]; // this is PaymentID } }
public override void GetPaymentInfo(SerializedOrderHolder holder) { ServiceProvider.SubmitOrderBTSvc.Payment payment = holder.BTOrder.Payments[0]; var orderPayment = (holder.Order as Order_V01).Payments[0] as CreditPayment_V01; string theCardType = PostedValues[TheCardType]; switch (theCardType) { case Visa: { CardType = IssuerAssociationType.Visa; break; } case MasterCard: { CardType = IssuerAssociationType.MasterCard; break; } case AmericanExpress: { CardType = IssuerAssociationType.AmericanExpress; break; } case Naranja: { CardType = IssuerAssociationType.TarjetaNaranja; break; } default: { if (theCardType.StartsWith(MasterCard, StringComparison.CurrentCultureIgnoreCase)) { CardType = IssuerAssociationType.MasterCard; } break; } } payment.PaymentCode = CreditCard.CardTypeToHPSCardType(CardType); orderPayment.Card.IssuerAssociation = CreditCard.GetCardType(payment.PaymentCode); }
public TransactionInfo GetTransactionData(string refId) { ValidateCaller(); var transactionInfo = new TransactionInfo(); if (string.IsNullOrEmpty(refId)) { LoggerHelper.Error("PagoSeguro.GetTransactionData called with empty Order Number"); transactionInfo.RefID = "Invalid RefId"; return(transactionInfo); } LoggerHelper.Info(string.Format(TransactionInitiated, refId)); SerializedOrderHolder order = OrderProvider.GetPaymentGatewayOrder(refId); if (null != order && null != order.Order) { PaymentGatewayInvoker.LogMessage(PaymentGatewayLogEntryType.Request, refId, order.DistributorId, "PagoSeguroPaymentGateway", PaymentGatewayRecordStatusType.Unknown, string.Format(TransactionInitiated, refId)); var totals = (order.Order as Order_V01).Pricing as OrderTotals_V01; if (null != totals) { transactionInfo.Monto = Convert.ToDouble(totals.AmountDue); transactionInfo.RefID = refId; } else { LoggerHelper.Error(string.Format(InvalidOrMissingOrderData, refId)); transactionInfo.RefID = "Invalid Data for RefId"; } } else { LoggerHelper.Error(string.Format(InvalidOrMissingOrderNumber, refId)); transactionInfo.RefID = "Invalid RefId"; } return(transactionInfo); }
public virtual void GetPaymentInfo(SerializedOrderHolder holder) { var payment = holder.BTOrder.Payments[0]; var orderPayment = (holder.Order as Order_V01).Payments[0] as CreditPayment_V01; if (!string.IsNullOrEmpty(CardNumber)) { payment.AccountNumber = CardNumber; } else { payment.AccountNumber = PaymentInfoProvider.GetDummyCreditCardNumber(IssuerAssociationType.Visa); } payment.PaymentCode = HLConfigManager.CurrentPlatformConfigs[holder.Locale].PaymentsConfiguration.PaymentGatewayPayCode; if (string.IsNullOrEmpty(payment.PaymentCode)) { payment.PaymentCode = CreditCard.CardTypeToHPSCardType(CardType); } orderPayment.Card.IssuerAssociation = CreditCard.GetCardType(payment.PaymentCode); if (!string.IsNullOrEmpty(AuthorizationCode)) { payment.AuthNumber = AuthorizationCode; } orderPayment.AuthorizationCode = payment.AuthNumber; if (!string.IsNullOrEmpty(TransactionCode)) { payment.TransactionCode = TransactionCode; } orderPayment.TransactionID = payment.TransactionCode; //They don't always return the full cardnumber, so if less than 15, use the base method which has a fixer in it if (payment.AccountNumber.Length < 15) { payment.AccountNumber = new string('*', 16 - payment.AccountNumber.Length) + payment.AccountNumber; } orderPayment.Card.AccountNumber = payment.AccountNumber; }
private void SubmitOrder(string orderNumber) { string distributorId = string.Empty; string locale = string.Empty; string error = string.Empty; MyHLShoppingCart shoppingCart = null; var holder = new SerializedOrderHolder(); var response = new PagoSeguroPaymentGatewayResponse(); response.OrderNumber = orderNumber; response.IsApproved = true; if (OrderProvider.deSerializeAndSubmitOrder(response, out error, out holder)) { locale = holder.Locale; if (!String.IsNullOrEmpty(holder.Email)) { //DistributorProvider.LoadDistributor(holder.DistributorId, holder.Token); shoppingCart = ShoppingCartProvider.GetBasicShoppingCartFromService(holder.ShoppingCartId, holder.DistributorId, locale); shoppingCart.EmailAddress = holder.Email; shoppingCart.Totals = (holder.Order as Order_V01).Pricing as OrderTotals_V01; EmailHelper.SendEmail(shoppingCart, holder.Order as Order_V01); } if (null != shoppingCart) { ShoppingCartProvider.UpdateInventory(shoppingCart, shoppingCart.CountryCode, shoppingCart.Locale, true); shoppingCart.CloseCart(); } } else { PaymentGatewayInvoker.LogMessage(PaymentGatewayLogEntryType.Error, orderNumber, distributorId, "PagoSeguroPaymentGateway", PaymentGatewayRecordStatusType.InError, error); } }
/// <summary> /// pass additional info /// </summary> /// <param name="holder"></param> public override void GetPaymentInfo(SerializedOrderHolder holder) { Order_V01 orderv01 = (holder.Order as Order_V01); if (orderv01 == null) { return; } if (orderv01.Payments != null && (orderv01.Payments).Count > 0) { var orderPayment = orderv01.Payments[0] as CreditPayment_V01; if (orderPayment != null && SpecialResponse != null) { var btPayment = holder.BTOrder.Payments[0]; btPayment.PaymentCode = orderPayment.TransactionType = "CC"; //Use back 'CC' as Payment Code for BT handling. string[] bankInfo = SpecialResponse.Split(','); if (bankInfo.Length == 2) { orderPayment.Card.IssuingBankID = bankInfo[0]; // this is PayChannel orderPayment.AuthorizationMerchantAccount = bankInfo[1]; // this is PaymentID } } } }
public override void GetPaymentInfo(SerializedOrderHolder holder) { ServiceProvider.SubmitOrderBTSvc.Payment payment = holder.BTOrder.Payments[0]; CreditPayment_V01 orderPayment = (holder.Order as Order_V01).Payments[0] as CreditPayment_V01; List <string> PaymentGatewayLog = OrderProvider.GetPaymentGatewayLog(OrderNumber, PaymentGatewayLogEntryType.Response); string theOne = PaymentGatewayLog.Find(i => i.Contains(CardNum)); if (!string.IsNullOrEmpty(theOne)) { NameValueCollection theResponse = GetRequestVariables(theOne); // Card Number if (!string.IsNullOrEmpty(theResponse[CardNum])) { CardNumber = theResponse[CardNum]; } // Authorization Code if (!string.IsNullOrEmpty(theResponse[AuthCode])) { base.AuthorizationCode = theResponse[AuthCode]; } base.GetPaymentInfo(holder); //WebPay Amount if (!string.IsNullOrEmpty(theResponse[Amount])) { payment.Amount = Int32.Parse(theResponse[Amount]); } orderPayment.Amount = payment.Amount; // Number of Installments PaymentOptions_V01 options = new PaymentOptions_V01(); if (!string.IsNullOrEmpty(theResponse[InstallmentNumber])) { options.NumberOfInstallments = Int32.Parse(theResponse[InstallmentNumber]); } else { options.NumberOfInstallments = 1; } payment.NumberOfInstallments = options.NumberOfInstallments; orderPayment.PaymentOptions = options; // Installment Type is Card Type (VN for credit card, VD for debit card); borrow the Auth Merchant field to place the data to display on the page if (!string.IsNullOrEmpty(theResponse[InstallmentType])) { payment.AuthMerchant = theResponse[InstallmentType]; switch (theResponse[InstallmentType].ToString().ToUpper()) { case "VN": CardType = IssuerAssociationType.Visa; break; case "VD": CardType = IssuerAssociationType.GenericDebitCard; break; default: CardType = IssuerAssociationType.Visa; break; } } orderPayment.AuthorizationMerchantAccount = payment.AuthMerchant; } }
private void SubmitOrder(PaymentGatewayResponse response) { LoggerHelper.Info(string.Format("SubmitOrder. OrderNumber - {0}", response.OrderNumber)); string distributorId = string.Empty; string locale = string.Empty; string error = string.Empty; var holder = new SerializedOrderHolder(); if (OrderProvider.deSerializeAndSubmitOrder(response, out error, out holder)) { if (holder != null && !String.IsNullOrEmpty(holder.Email)) { try { MyHLShoppingCart shoppingCart = null; if (response.ReloadShoppingCart) { shoppingCart = ShoppingCartProvider.GetBasicShoppingCartFromService(holder.ShoppingCartId, holder.DistributorId, locale); } else { shoppingCart = ShoppingCartProvider.GetShoppingCart(holder.DistributorId, holder.Locale, true); } //ExceptionFix: Validating shoppingCart is not null if (shoppingCart != null) { shoppingCart.EmailAddress = holder.Email; if (holder.Order != null) { shoppingCart.Totals = (holder.Order as Order_V01).Pricing as OrderTotals_V01; if (shoppingCart.ShoppingCartID == holder.ShoppingCartId) { EmailHelper.SendEmail(shoppingCart, holder.Order as Order_V01); } } CleanupOrder(shoppingCart, shoppingCart.DistributorID); } } catch (Exception ex) { LoggerHelper.Error(string.Format("PaymentGatewayManager SubmitOrder-SendEmail fails : {0} ", ex.Message)); } } } else { LoggerHelper.Info(string.Format("SubmitOrder. deSerializeAndSubmitOrder could not deSerializeAndSubmitOrder. OrderNumber - {0}", response.OrderNumber)); LoggerHelper.Error(error); if (error.Contains("DUPLICATE")) { } else if (error.Contains("TIMEOUT")) { lbSubmitOrderStatus.Text = PlatformResources.GetGlobalResourceString("ErrorMessage", "Resubmit"); } else if (error.Contains("ORDER CANNOT BE FULFILLED FOR THE DISTRIBUTOR")) { lbSubmitOrderStatus.Text = PlatformResources.GetGlobalResourceString("ErrorMessage", "CantOrder"); } else { lbSubmitOrderStatus.Text = PlatformResources.GetGlobalResourceString("ErrorMessage", "TransactionFail"); } } }