async public Task <bool> CreatPayer(int roomId, string payerName) { var bill = await Get(roomId); int payerId = 0; foreach (var item in bill.PayerInfo) { if (item.PayerId > payerId) { payerId = item.PayerId; } if (item.PayerName == payerName) { return(false); } } payerId++; var newPayer = new PayerInfo() { PayerId = payerId, PayerName = payerName }; var update = Builders <Bill> .Update.Push(b => b.PayerInfo, newPayer); await _bills.UpdateOneAsync(b => b.RoomId == roomId, update); return(true); }
/// <summary> /// Validate the object. /// </summary> /// <exception cref="ValidationException"> /// Thrown if validation fails /// </exception> public virtual void Validate() { if (PayerInfo != null) { PayerInfo.Validate(); } if (ContributionType != null) { if (ContributionType.Length > 1) { throw new ValidationException(ValidationRules.MaxLength, "ContributionType", 1); } } if (PeriodId != null) { if (PeriodId.Length > 2) { throw new ValidationException(ValidationRules.MaxLength, "PeriodId", 2); } } if (PaymentTypeId != null) { if (PaymentTypeId.Length > 1) { throw new ValidationException(ValidationRules.MaxLength, "PaymentTypeId", 1); } } }
private static string GetTableRefund(string externalId, string summary, PayerInfo payer) { var table = new StringBuilder(); table.Append("<tr>"); table.Append("<td valign=\"top\" style=\"padding-left: 15px; \">"); table.Append($"<h5 style=\"font-size: 14px; color:#444;margin-top: 10px;\">{externalId}</h5>"); table.Append("</td>"); table.Append("<td valign=\"top\" style=\"padding-left: 15px; \">"); table.Append($"<h5 style=\"margin-top: 15px; \">{summary}</h5>"); table.Append("</td>"); table.Append("<td valign=\"top\" style=\"padding-left: 15px; \">"); table.Append($"<h5 style=\"font-size: 14px; color:#444;margin-top: 10px;\">{payer.email}</h5>"); table.Append("</td>"); table.Append("<td valign=\"top\" style=\"padding-left: 15px; \">"); table.Append($"<h5 style=\"font-size: 14px; color:#444;margin-top:15px\"><b>{payer.first_name}</b></h5>"); table.Append("</td>"); table.Append("<td valign=\"top\" style=\"padding-left: 15px; \">"); table.Append($"<h5 style=\"font-size: 14px; color:#444;margin-top:15px\"><b>{payer.phone}</b></h5>"); table.Append("</td>"); table.Append("<td valign=\"top\" style=\"padding-left: 15px; \">"); table.Append($"<h5 style=\"font-size: 14px; color:#444;margin-top:15px\"><b>{payer.country_code}</b></h5>"); table.Append("</td>"); table.Append("</tr>"); return(table.ToString()); }
public static string GetRefundBody(string externalId, string summary, PayerInfo payer) { var template = GetTemplateAsync("Orders.Domain.Messaging.Email.Templates.RefundTemplate.html"); template = template.Replace("#{{tableOrders}}", GetTableRefund(externalId, summary, payer)); return(template); }
public static PayerInfo GetPayerInfoBasic() { PayerInfo info = new PayerInfo(); info.first_name = "Joe"; info.last_name = "Shopper"; info.payer_id = "100"; return(info); }
public static PayerInfo GetPayerInfoBasic() { PayerInfo info = new PayerInfo(); info.first_name = "Joe"; info.last_name = "Shopper"; info.payer_id = "100"; info.shipping_address = ShippingAddressTest.GetShippingAddress(); return(info); }
public static PayerInfo GetPayerInfoBasic() { PayerInfo info = new PayerInfo { first_name = "Joe", last_name = "Shopper", payer_id = "100" }; return(info); }
private PayerInfo GetPayerInfo() { PayerInfo info = new PayerInfo(); info.first_name = "Joe"; info.last_name = "Shopper"; info.email = "*****@*****.**"; info.payer_id = "100"; info.phone = "12345"; info.shipping_address = GetShippingAddress(); return(info); }
/// <summary> /// Validate the object. /// </summary> /// <exception cref="ValidationException"> /// Thrown if validation fails /// </exception> public virtual void Validate() { if (PayerInfo == null) { throw new ValidationException(ValidationRules.CannotBeNull, "PayerInfo"); } if (FormCode == null) { throw new ValidationException(ValidationRules.CannotBeNull, "FormCode"); } if (PeriodId == null) { throw new ValidationException(ValidationRules.CannotBeNull, "PeriodId"); } if (PeriodType == null) { throw new ValidationException(ValidationRules.CannotBeNull, "PeriodType"); } if (PayerInfo != null) { PayerInfo.Validate(); } if (FormCode != null) { if (FormCode.Length > 7) { throw new ValidationException(ValidationRules.MaxLength, "FormCode", 7); } } if (PeriodId != null) { if (PeriodId.Length > 7) { throw new ValidationException(ValidationRules.MaxLength, "PeriodId", 7); } } if (PeriodType != null) { if (PeriodType.Length > 7) { throw new ValidationException(ValidationRules.MaxLength, "PeriodType", 7); } } if (ObligationId != null) { if (ObligationId.Length > 40) { throw new ValidationException(ValidationRules.MaxLength, "ObligationId", 40); } } }
private AccountTypePayerInfo GetPayerInfo(PayerInfo payer) { switch (payer.Type) { case PayerType.Indv: return(new AccountTypePayerInfo { Item = new AccountIndType { Item = payer.SNILS } }); case PayerType.Legal: return(new AccountTypePayerInfo { Item = new RegOrgVersionType { orgVersionGUID = payer.OrgVersionGuid } }); default: return(new AccountTypePayerInfo { }); } }
//舊版 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); }
private PayerInfo GetPayerInfo(string token, string payerId) { var payer = new PayerInfo(); var req = new GetExpressCheckoutDetailsReq(); var request = new GetExpressCheckoutDetailsRequestType(); req.GetExpressCheckoutDetailsRequest = request; request.Token = token; request.Version = Settings.Version; // System.Net.ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult); var credentials = PaypalSecurityHeader(); GetExpressCheckoutDetailsResponseType response = _paypalService2.GetExpressCheckoutDetails(ref credentials, req); if (response.Ack == AckCodeType.Success) { try { payer.Email = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Payer; } catch (Exception) { payer.Email = ""; } payer.FirstName = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.PayerName.FirstName; payer.LastName = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.PayerName.LastName; if (response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.PayerStatusSpecified == true) { if (response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.PayerStatus == PayPalUserStatusCodeType.verified) { payer.IsVerify = true; } payer.AccountVerifyCode = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.PayerStatus.ToString(); } payer.Address1 = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.Street1; payer.Address2 = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.Street2; payer.City = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.CityName; payer.State = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.StateOrProvince; payer.PostCode = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.PostalCode; payer.PhoneNo = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.ContactPhone; payer.Country = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.CountryName; payer.CountryCode = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.Country.ToString(); payer.PayerId = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.PayerID; payer.Token = response.GetExpressCheckoutDetailsResponseDetails.Token; //if (response.GetExpressCheckoutDetailsResponseDetails.Note > "") //{ // payer.note = payer.note + response.GetExpressCheckoutDetailsResponseDetails.Note; //} //payer.OrderTotal = response.GetExpressCheckoutDetailsResponseDetails.PaymentDetails(0).OrderTotal.Value; //payer.IsValid = true; if (response.GetExpressCheckoutDetailsResponseDetails.BillingAddress == null) { payer.Address1 = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.Street1; payer.Address2 = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.Street2; payer.City = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.CityName; payer.State = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.StateOrProvince; payer.PostCode = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.PostalCode; payer.Country = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.CountryName; if (response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.AddressStatusSpecified == true) { if (response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.AddressStatus == AddressStatusCodeType.Confirmed) { payer.IsValidAddress = true; } payer.AddressVerifyCode = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.AddressStatus.ToString(); } } else { payer.Address1 = response.GetExpressCheckoutDetailsResponseDetails.BillingAddress.Street1; payer.Address2 = response.GetExpressCheckoutDetailsResponseDetails.BillingAddress.Street2; payer.City = response.GetExpressCheckoutDetailsResponseDetails.BillingAddress.CityName; payer.State = response.GetExpressCheckoutDetailsResponseDetails.BillingAddress.StateOrProvince; payer.PostCode = response.GetExpressCheckoutDetailsResponseDetails.BillingAddress.PostalCode; payer.Country = response.GetExpressCheckoutDetailsResponseDetails.BillingAddress.CountryName; if (response.GetExpressCheckoutDetailsResponseDetails.BillingAddress.AddressStatusSpecified == true) { if (response.GetExpressCheckoutDetailsResponseDetails.BillingAddress.AddressStatus == AddressStatusCodeType.Confirmed) { payer.IsValidAddress = true; } payer.AddressVerifyCode = response.GetExpressCheckoutDetailsResponseDetails.BillingAddress.AddressStatus.ToString(); } } //Shipping addd----------------------------- if (response.GetExpressCheckoutDetailsResponseDetails.PayerInfo == null) { payer.Address1 = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.Street1; payer.Address2 = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.Street2; payer.City = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.CityName; payer.State = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.StateOrProvince; payer.PostCode = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.PostalCode; payer.CountryCode = response.GetExpressCheckoutDetailsResponseDetails.PayerInfo.Address.Country.ToString(); } } return(payer); }
public async Task <Payment> RunSample(PaymentInformation paymentInformation) { APIContext apiContext = Configuration.GetAPIContext(""); Transaction transaction = new Transaction(); Transaction transaction2 = transaction; Amount amount = new Amount(); amount.currency = "USD"; amount.total = paymentInformation.Total; Amount amount2 = amount; Details details = new Details(); details.shipping = paymentInformation.Shipping; details.subtotal = paymentInformation.SubTotal; details.tax = paymentInformation.Tax; Details details2 = details; amount2.details = details2; Amount amount3 = amount; ((CartBase)transaction2).amount = amount3; ((CartBase)transaction).description = paymentInformation.Description; Transaction transaction3 = transaction; ItemList itemList = new ItemList(); ItemList itemList2 = itemList; ShippingAddress shippingAddress = new ShippingAddress(); ((BaseAddress)shippingAddress).city = paymentInformation.SCity; ((BaseAddress)shippingAddress).country_code = paymentInformation.SCountryCode; ((BaseAddress)shippingAddress).line1 = paymentInformation.SAddress; ((BaseAddress)shippingAddress).postal_code = paymentInformation.SCountryCode; ((BaseAddress)shippingAddress).state = paymentInformation.SState; shippingAddress.recipient_name = paymentInformation.SReceiverName; ShippingAddress shippingAddress2 = shippingAddress; itemList2.shipping_address = shippingAddress2; ItemList itemList3 = itemList; ((CartBase)transaction3).item_list = itemList3; ((CartBase)transaction).invoice_number = Common.GetRandomInvoiceNumber(); Transaction transaction4 = transaction; Payer payer = new Payer(); payer.payment_method = "credit_card"; Payer payer2 = payer; List <FundingInstrument> list = new List <FundingInstrument>(); List <FundingInstrument> list2 = list; FundingInstrument fundingInstrument = new FundingInstrument(); FundingInstrument fundingInstrument2 = fundingInstrument; CreditCard creditCard = new CreditCard(); CreditCard creditCard2 = creditCard; Address address = new Address(); ((BaseAddress)address).city = paymentInformation.BCity; ((BaseAddress)address).country_code = paymentInformation.BCountry; ((BaseAddress)address).line1 = paymentInformation.BAddress; ((BaseAddress)address).postal_code = paymentInformation.BPostal; ((BaseAddress)address).state = paymentInformation.SState; Address address2 = address; creditCard2.billing_address = address2; creditCard.cvv2 = paymentInformation.CVV2; creditCard.expire_month = paymentInformation.expire_month; creditCard.expire_year = paymentInformation.expire_year; creditCard.first_name = paymentInformation.first_name; creditCard.last_name = paymentInformation.last_name; creditCard.number = paymentInformation.number; creditCard.type = paymentInformation.type; CreditCard creditCard3 = creditCard; fundingInstrument2.credit_card = creditCard3; FundingInstrument fundingInstrument3 = fundingInstrument; list2.Add(fundingInstrument3); List <FundingInstrument> list3 = list; payer2.funding_instruments = list3; Payer payer3 = payer; PayerInfo payerInfo = new PayerInfo(); payerInfo.email = paymentInformation.EmailID; PayerInfo payerInfo2 = payerInfo; payer3.payer_info = payerInfo2; Payer payer4 = payer; Payment payment = new Payment(); payment.intent = "sale"; payment.payer = payer4; Payment payment2 = payment; List <Transaction> list4 = new List <Transaction>(); list4.Add(transaction4); List <Transaction> list5 = list4; payment2.transactions = list5; Payment payment3 = payment; try { return(payment3.Create(apiContext)); } catch (PaymentsException ex) { Payment payment4 = new Payment(); payment4.state = ex.Details.message; return(payment4); } }
public ActionResult Test() { //decimal subtotal = priceItem - priceItem * tax; string sPriceItem = Helpers.Tools.PriceFormat(priceItem); string sTax = Helpers.Tools.PriceFormat(priceItem * tax); string sSubtotal = Helpers.Tools.PriceFormat(decimal.Parse(sPriceItem) - decimal.Parse(sTax)); // Get a reference to the config var config = ConfigManager.Instance.GetProperties(); // Use OAuthTokenCredential to request an access token from PayPal var accessToken = new OAuthTokenCredential(config).GetAccessToken(); Session["accesstoken"] = accessToken; APIContext apiContext = new APIContext(accessToken); apiContext.Config = config; Details dtl = new Details() { tax = sTax, subtotal = sSubtotal, shipping = "0", }; //contact infor Address addr = new Address() { city = sCity, country_code = sCountryCode, line1 = sAddressLine1, line2 = sAddressLine2, phone = sPhone, postal_code = sPostalCode, state = sProvince, }; PayerInfo payInfo = new PayerInfo() { //billing_address = addr, //country_code= sCountryCode, first_name = sFirstName, last_name = sLastName, //middle_name ="", email = sEmail, //phone =sPhone, }; Amount amnt = new Amount() { currency = currency, total = sPriceItem, details = dtl, }; List <Transaction> transactionList = new List <Transaction>(); Transaction tran = new Transaction() { description = sItemName, custom = sItemName + " some additional information", amount = amnt }; transactionList.Add(tran); Payer payr = new Payer(); payr.payment_method = "paypal"; payr.payer_info = payInfo; RedirectUrls redirUrls = new RedirectUrls(); redirUrls.cancel_url = "https://devtools-paypal.com/guide/pay_paypal/dotnet?cancel=true"; //redirUrls.return_url = "https://devtools-paypal.com/guide/pay_paypal/dotnet?success=true"; redirUrls.return_url = "https://localhost:44320/PayPal/ReturnTest"; Payment pymnt = new Payment(); pymnt.intent = "sale"; pymnt.payer = payr; pymnt.transactions = transactionList; pymnt.redirect_urls = redirUrls; Payment createdPayment = pymnt.Create(apiContext); string ApprovalURL = createdPayment.GetApprovalUrl(); // saving the paymentID in the key guid //Session.Add(guid, createdPayment.id); Response.Redirect(ApprovalURL); return(View()); }
public async Task <TransactionResponse> ProcessTransactionAsync(TransactionRequest transDef) { if (transDef == null) { throw (new ArgumentNullException("transDef")); } if (!await InitializeAsync()) { return(new TransactionResponse(BaseResponse.ResultCodesEnum.NotReady, _errorList)); } if (!IsValidTransaction(transDef, out var errorList)) { return(new TransactionResponse(TransactionResponse.ResultCodesEnum.InvalidParametersError, errorList)); } var cardType = await _repo.Get(transDef.CardCode); if (cardType is null || !cardType.MerchantNumber.HasValue) { return(new TransactionResponse(BaseResponse.ResultCodesEnum.InvalidParametersError, "El cardCode [" + transDef.CardCode + "] no tiene un 'Código de Comercio' asignado.")); } //Map TransDef to SellRequest, then ProcessSell var commandResponse = await _commLayer.ProcessTransaction( new SellRequest { Amount = transDef.Amount, Installments = transDef.Installments, CardCode = transDef.CardCode, IsOnlineTransaction = true, InvoiceNumber = transDef.InvoiceNumber, MerchantNumber = cardType.MerchantNumber.Value, MerchantCuit = _merchantCuit, MerchantName = _merchantName, TipAmount = transDef.TipAmount, PlanCode = 0 } ); //Map result back to TransResponse switch (commandResponse.ResultCode) { case CommandResponse.ResultCodesEnum.Error: return(new TransactionResponse(BaseResponse.ResultCodesEnum.ProcessorError, commandResponse.ResultText)); case CommandResponse.ResultCodesEnum.Timeout: return(new TransactionResponse(BaseResponse.ResultCodesEnum.Timeout, commandResponse.ResultText)); case CommandResponse.ResultCodesEnum.UserCancel: return(new TransactionResponse(BaseResponse.ResultCodesEnum.UserCancel, commandResponse.ResultText)); case CommandResponse.ResultCodesEnum.Success: var sellResponse = (SellResponse)commandResponse.Content; var retVal = new TransactionResponse() { AuthCode = sellResponse.AuthCode.ToString(), PayerInfo = new PayerInfo { FirstName = sellResponse.CustomerName }, ProcessorResponse = sellResponse.ResponseMessage, ResultDescription = sellResponse.ResponseText, ResultCode = sellResponse.ResponseCode switch { "00" => BaseResponse.ResultCodesEnum.Approved, "08" => BaseResponse.ResultCodesEnum.Approved, "85" => BaseResponse.ResultCodesEnum.Approved, "88" => BaseResponse.ResultCodesEnum.Approved, _ => BaseResponse.ResultCodesEnum.Rejected }, CardInfo = new CardInfo { CardType = cardType.Name, FirstSix = sellResponse.CardFirst6.ToString(), LastFour = sellResponse.CardLast4.ToString() }, VoucherCode = sellResponse.VoucherCode.ToString(), TerminalId = sellResponse.TerminalId.ToString() }; retVal.TotalPaid = retVal.ResultCode == BaseResponse.ResultCodesEnum.Approved ? transDef.Amount : 0; retVal.NetReceived = retVal.TotalPaid; return(retVal); }
public void ToStringTest() { PayerInfo info = CreatePayerInfo(); Assert.IsFalse(info.ToString().Length == 0); }
public void ConvertToJsonTest() { PayerInfo info = CreatePayerInfo(); Assert.IsFalse(info.ConvertToJson().Length == 0); }
private Payment CreatePayment(APIContext apiContext, string redirectUrl) { //similar to credit card create itemlist and add item objects to it var itemList = new ItemList() { items = new List <Item>() }; itemList.items.Add(new Item() { name = "SharePoint Easy Nav", currency = "USD", price = Convert.ToString(500), quantity = "1", sku = "sku" }); Address billingAddress = new Address(); billingAddress.city = "Juneau"; billingAddress.country_code = "US"; billingAddress.line1 = "Street 1"; billingAddress.postal_code = "99801"; billingAddress.state = "NY"; billingAddress.phone = "95666666666"; PayerInfo payerinfo = new PayerInfo(); payerinfo.billing_address = billingAddress; payerinfo.email = "*****@*****.**"; var payer = new Payer() { payment_method = "paypal", payer_info = payerinfo }; // Configure Redirect Urls here with RedirectUrls object var redirUrls = new RedirectUrls() { cancel_url = redirectUrl, return_url = redirectUrl }; // similar as we did for credit card, do here and create details object var details = new Details() { tax = Convert.ToString(200), //shipping = "1", subtotal = Convert.ToString(500) }; // similar as we did for credit card, do here and create amount object var amount = new Amount() { currency = "USD", total = Convert.ToString(700), // Total must be equal to sum of shipping, tax and subtotal. details = details }; var transactionList = new List <Transaction>(); transactionList.Add(new Transaction() { //description = "Transaction description.", invoice_number = "BR000011111", amount = amount, item_list = itemList }); this.payment = new Payment() { intent = "sale", payer = payer, transactions = transactionList, redirect_urls = redirUrls }; // Create a payment using a APIContext return(this.payment.Create(apiContext)); }