public void PayPointPayPal() { var papi = new PayPointApi(); PayPointAccount account = new PayPointAccount(); papi.PayPointPayPal(account, "www.google.com", "www.google.com", "www.google.com", 5.0M, "GBP", true); }
public void PayPointPayPal(PayPointAccount account, string notificationUrl, string returnUrl, string cancelUrl, decimal amount, string currency = "GBP", bool isTest = false) { try { string transactionId = "TRAN" + Guid.NewGuid(); string options = string.Format("notificationurl={0},returnurl={1},cancelurl={2}", notificationUrl, returnUrl, cancelUrl); if (isTest) { options += ",test_status=true"; } this._service.Url = account.ServiceUrl; var str = this._service. performTransactionViaAlternatePaymentMethod(account.Mid, account.VpnPassword, "PayPal", "ExpressCheckout", "Initialise", "Transaction", transactionId, amount.ToString(CultureInfo.InvariantCulture), currency, options); Log.Debug(str); var ret = new PayPointReturnData(str); if (!ret.HasError) { } } catch (Exception ex) { Log.Error(ex); } }
public PayPointFacade(DateTime? firstOpenLoanDate = null, string origin = "ezbob") { var payPointAccountRepository = ObjectFactory.GetInstance<PayPointAccountRepository>(); PayPointAccount = payPointAccountRepository.GetAccount(firstOpenLoanDate); this.remotePassword = PayPointAccount.RemotePassword; this.mid = PayPointAccount.Mid; this.templateUrl = string.Format(PayPointAccount.TemplateUrl, origin); this.paypointOptions = PayPointAccount.Options; } // constructor
public void adds_new_test_credit_card_after_callback() { var customer = new EZBob.DatabaseLib.Model.Database.Customer(); var paypointAccount = new PayPointAccount(); var card = customer.TryAddPayPointCard("0f22b1c-e8ec-4299-83c2-ed9f9443abf2", null, null, null, paypointAccount); Assert.That(customer.PayPointCards.Count, Is.EqualTo(1)); Assert.That(card.ExpireDate.HasValue, Is.False); Assert.That(card.CardNo, Is.Null); Assert.That(card.TransactionId, Is.EqualTo("0f22b1c-e8ec-4299-83c2-ed9f9443abf2")); }
public void Test1() { PayPointApi papi = new PayPointApi(); PayPointAccount account = new PayPointAccount(); papi.RefundCard(account, "Mr Cardholder", "4444333322221111", 50.99M, new DateTime(2015, 1, 1), "1", new DateTime(2009, 1, 1), "product=ezbob", "123", true); string repo = papi.GetReport(account, "CSV", "Date", DateTime.Now.ToString("yyyyMMdd"), "GBP"); /*SECVPNService service = new SECVPNService(); * service. * * string r = service.validateCardFull("secpay", "secpay", "TRAN00001_SC", "127.0.0.1", "Mr Cardholder", * "4444333322221111", "50.99", "0115", "1", "0109", * "prod=funny_book,item_amount=25.00x1;prod=sad_book,item_amount=12.50x2", "", "", * "test_status=true,dups=false,card_type=Visa,cv2=123"); * string res = service.refundCardFull("secpay", "secpay", "TRAN00001_SC", "50.99", "secpay", "TRAN00001_SC_refund"); * var report = service.getReport("secpay", "secpay", "secpay", "CSV", "Date", "201204", "GBP", "", false, false);*/ }
public void tes_card_does_not_override() { var customer = new EZBob.DatabaseLib.Model.Database.Customer(); var paypointAccount = new PayPointAccount(); var payPointCard = new PayPointCard() { Customer = customer, DateAdded = new DateTime(2012, 10, 10), Id = 1, TransactionId = "0f22b1c-e8ec-4299-83c2-ed9f9443abf3", PayPointAccount = paypointAccount }; customer.PayPointCards.Add(payPointCard); var card = customer.TryAddPayPointCard("0f22b1c-e8ec-4299-83c2-ed9f9443abf2", null, null, null, paypointAccount); Assert.That(customer.PayPointCards.Count, Is.EqualTo(2)); }
//----------------------------------------------------------------------------------- public PayPointReturnData RefundCard(PayPointAccount account, string cardHolder, string cardNumber, decimal amount, DateTime expiryDate, string issueNumber, DateTime startDate, string order, string cv2, bool isTest) { Log.InfoFormat("RefundCard: cardHolder={0}, cardNumber={1}, amount = {2}, expiryDate = {3}, issueNumber={4}, startDate={5}, order={6}, cv2={7}, isTest = {8}", cardHolder, cardNumber, amount, expiryDate, issueNumber, startDate, order, cv2, isTest); this._service.Url = account.ServiceUrl; try { string transactionId = "TRAN" + Guid.NewGuid(); string transactionIdNew = transactionId + "_refund"; string options = String.Format("dups=false,card_type=Visa,cv2={0}", cv2); if (isTest) { options += ",test_status=true"; } string startDateStr = startDate.ToString("MMyy"); string expiryDateStr = expiryDate.ToString("MMyy"); var str = this._service.validateCardFull(account.Mid, account.VpnPassword, transactionId, "127.0.0.1", cardHolder, cardNumber, amount.ToString(CultureInfo.InvariantCulture), expiryDateStr, issueNumber, startDateStr, order, String.Empty, String.Empty, options); Log.Debug("validateCardFull result: " + str); var ret = new PayPointReturnData(str); if (!ret.HasError) { str = this._service.refundCardFull(account.Mid, account.VpnPassword, transactionId, amount.ToString(CultureInfo.InvariantCulture), account.RemotePassword, transactionIdNew); ret = new PayPointReturnData(str); Log.Debug("refundCardFull result: " + str); } else { Log.InfoFormat("RefundCard completed successfully"); } return(ret); } catch (Exception ex) { Log.Error(ex); return(new PayPointReturnData { Error = ex.Message }); } }
public void if_new_card_expire_date_and_cardno_equal_to_existing_overwrite_it() { var customer = new EZBob.DatabaseLib.Model.Database.Customer(); var paypointAccount = new PayPointAccount(); var payPointCard = new PayPointCard() { CardNo = "1234", Customer = customer, DateAdded = new DateTime(2012, 10, 10), ExpireDate = new DateTime(2014, 10, 1), Id = 1, TransactionId = "0f22b1c-e8ec-4299-83c2-ed9f9443abf3", PayPointAccount = paypointAccount }; customer.PayPointCards.Add(payPointCard); var card = customer.TryAddPayPointCard("0f22b1c-e8ec-4299-83c2-ed9f9443abf2", "1234", "1014", null, paypointAccount); Assert.That(customer.PayPointCards.Count, Is.EqualTo(1)); Assert.That(customer.PayPointCards.First().TransactionId, Is.EqualTo("0f22b1c-e8ec-4299-83c2-ed9f9443abf2")); }
//----------------------------------------------------------------------------------- public string GetReport(PayPointAccount account, string reportType, string filterType, string filter, string currency) { _service.Url = account.ServiceUrl; Log.InfoFormat("GetReport: reportType={0}, filterType={1}, filter = {2}, currency = {3}", reportType, filterType, filter, currency); try { var report = _service.getReport(account.Mid, account.VpnPassword, account.RemotePassword, reportType, filterType, filter, currency, String.Empty, false, false); if (report.Length > 1000) { Log.Debug("GetReport result (first 1000 symbols): " + report.Substring(0, 1000)); } else { Log.Debug("GetReport result: " + report); } Log.InfoFormat("GetReport completed successfully"); return(report); } catch (Exception ex) { Log.Error(ex); return(null); } }
// step 2 - actual paypoint transaction (proceedeed according to "old" amount) // no NL here for phase 1 public PayPointReturnData RepeatTransactionEx(PayPointAccount account, string transactionId, decimal amount) { var newTransactionId = transactionId + DateTime.Now.ToString("yyyy-MM-dd_hh:mm:ss"); string str; PayPointReturnData ret; Log.InfoFormat("RepeatTransaction: for transactionId='{0}', amount='{1}', newTransactionId='{2}'", transactionId, amount, newTransactionId); if (account.DebugModeEnabled) { Log.InfoFormat("Paypoint RepeatTransactionEx Debug Mode - not invoking the service call"); var code = "A"; var isValid = true; var message = "debug mode"; var respCode = 0; if (!account.DebugModeIsValidCard) { message = "Card is not valid debug mode"; code = "B"; isValid = false; } else { if (account.EnableCardLimit && amount > account.CardLimitAmount) { message = "Amount more than card amount debug mode"; code = "P:A"; isValid = false; } } Random r = new Random(); var rand = r.Next(10); if (account.DebugModeErrorCodeNEnabled && rand > 6) { isValid = false; code = "N"; message = "INSUFF FUNDS"; respCode = 5; } str = string.Format("?valid={0}&trans_id={1}&code={2}&auth_code=9999&message={3}&resp_code={4}", isValid, transactionId, code, message, respCode); ret = new PayPointReturnData(str); } else { str = _service.repeatCardFullAddr(account.Mid, account.VpnPassword, transactionId, amount.ToString(CultureInfo.InvariantCulture), account.RemotePassword, newTransactionId, null, null, null, null, "repeat=true"); // input for step 3 (NL) ret = new PayPointReturnData(str); } if (ret.HasError) { if (ret.Code == "N") { Log.WarnFormat("RepeatTransaction error: {0} error {1} message {2} respCode {3}", str, ret.Error, ret.Message, (ResponseCode)ret.RespCode); } else { Log.ErrorFormat("RepeatTransaction error: {0} error {1} message {2} respCode {3}", str, ret.Error, ret.Message, (ResponseCode)ret.RespCode); } throw new PayPointException(str, ret); } Log.DebugFormat("RepeatTransaction successful: " + str); return(ret); }
} // ValidateOfferDate /// <summary> /// Add new paypoint card from paypoint callback. /// </summary> /// <param name="transId">Paypoint transaction id. null for test card</param> /// <param name="cardNo">Last digits of credit card. null for test card</param> /// <param name="expiry">Format: MMYY</param> /// <returns></returns> public virtual PayPointCard TryAddPayPointCard(string transId, string cardNo, string expiry, string cardHolder, PayPointAccount account) { var card = new PayPointCard { Customer = this, DateAdded = DateTime.UtcNow, CardNo = cardNo, TransactionId = transId, ExpireDateString = expiry, CardHolder = cardHolder, PayPointAccount = account, IsDefaultCard = true }; if (!string.IsNullOrEmpty(expiry) && expiry.Length == 4) { DateTime dt; if (DateTime.TryParseExact(expiry, "MMyy", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal, out dt)) { card.ExpireDate = dt; } } // if //if (!string.IsNullOrEmpty(card.CardNo) && card.ExpireDate.HasValue) { // var existing = PayPointCards // .Where(c => c.ExpireDate != null) // .Where(c => c.ExpireDate.Value.Year == card.ExpireDate.Value.Year) // .Where(c => c.ExpireDate.Value.Month == card.ExpireDate.Value.Month) // .FirstOrDefault(c => c.CardNo == card.CardNo); // if (existing != null) { // existing.TransactionId = card.TransactionId; // existing.DateAdded = card.DateAdded; // return existing; // } // if //} // if if (PayPointCards.Any()) { foreach (var payPointCard in PayPointCards) { payPointCard.IsDefaultCard = false; } } PayPointCards.Add(card); return(card); } // TryAddPayPointCard
private bool AddPayPointCardToCustomer(string transactionid, string cardno, EZBob.DatabaseLib.Model.Database.Customer customer, string expiry, decimal?amount, PayPointAccount account) { bool paymentAdded = false; customer.TryAddPayPointCard(transactionid, cardno, expiry, customer.PersonalInfo.Fullname, account); bool hasOpenLoans = customer.Loans.Any(x => x.Status != LoanStatus.PaidOff); if (amount > 0 && hasOpenLoans) { Loan loan = customer.Loans.First(x => x.Status != LoanStatus.PaidOff); var nlPayment = new NL_Payments() { Amount = amount.Value, CreatedByUserID = this.context.UserId, //CreationTime = DateTime.UtcNow, // LoanID = nlLoanId, //PaymentTime = DateTime.UtcNow, Notes = "Add paypoint card", //PaymentStatusID = (int)NLPaymentStatuses.Active, PaymentMethodID = (int)NLLoanTransactionMethods.SystemRepay, PaymentSystemType = NLPaymentSystemTypes.Paypoint }; var f = new LoanPaymentFacade(); f.PayLoan(loan, transactionid, amount.Value, Request.UserHostAddress, DateTime.UtcNow, "system-repay", false, null, nlPayment); paymentAdded = true; } if (amount > 0 && !hasOpenLoans) { this.serviceClient.Instance.PayPointAddedWithoutOpenLoan(customer.Id, this.context.UserId, amount.Value, transactionid); } this.serviceClient.Instance.PayPointAddedByUnderwriter(customer.Id, cardno, this.context.User.FullName, this.context.User.Id); return(paymentAdded); }