public string SendPayment(PaypalPaymentParam paymentParam) { try { APIContext apiContext = PaypalConfig.GetAPIContext(); var guid = Convert.ToString((new Random()).Next(100000)); var createdPayment = CreatePayment(apiContext, paymentParam.CallbackUrl + "?guid=" + guid, paymentParam); var links = createdPayment.links.GetEnumerator(); string paypalRedirectUrl = null; while (links.MoveNext()) { Links lnk = links.Current; if (lnk.rel.ToLower().Trim().Equals("approval_url")) { paypalRedirectUrl = lnk.href; } } paymentParam.Session.Add(guid, ((Payment)createdPayment).id); return(paypalRedirectUrl); } catch { return("NG"); } }
public float ExecutePayment(ExecutePaymentParam paymentParam) { try { APIContext apiContext = PaypalConfig.GetAPIContext(); var paymentExecution = new PaymentExecution() { payer_id = paymentParam.PayerId }; payment = new Payment() { id = paymentParam.Session[paymentParam.Guid] as string }; var executedPayment = payment.Execute(apiContext, paymentExecution); if (executedPayment.state.ToLower() != "approved") { return(-1); } return(GetTotalMoney(executedPayment.transactions)); } catch { return(-1); } }
public ActionResult TestPayout() { var payout = new PayPal.Api.Payout() { sender_batch_header = new PayoutSenderBatchHeader { sender_batch_id = "batch_" + System.Guid.NewGuid().ToString().Substring(0, 8), email_subject = "You have a payment" }, items = new List <PayoutItem> { new PayoutItem { recipient_type = PayoutRecipientType.EMAIL, amount = new Currency { value = "0.99", currency = "USD" }, receiver = "*****@*****.**", note = "Thank you.", sender_item_id = "item_1" }, new PayoutItem { recipient_type = PayoutRecipientType.EMAIL, amount = new Currency { value = "0.90", currency = "USD" }, receiver = "*****@*****.**", note = "Thank you.", sender_item_id = "item_2" }, new PayoutItem { recipient_type = PayoutRecipientType.EMAIL, amount = new Currency { value = "2.00", currency = "USD" }, receiver = "4532216992026816", note = "Thank you.", sender_item_id = "item_3" } } }; var createdPayout = payout.Create(PaypalConfig.GetAPIContext(), false); return(Success(1)); }
public float SendPaymentByCreditCard(PaypalPaymentParam paymentParam) { CreditCard creditCard = new CreditCard() { billing_address = new Address() { city = "Johnstown", country_code = "US", line1 = "52 N Main ST", postal_code = "43210", state = "OH" }, cvv2 = paymentParam.CreditCard.cvv2, expire_month = paymentParam.CreditCard.expire_month, expire_year = paymentParam.CreditCard.expire_year, first_name = paymentParam.CreditCard.first_name, last_name = paymentParam.CreditCard.last_name, type = "visa", number = paymentParam.CreditCard.number, }; FundingInstrument fundInstrument = new FundingInstrument(); fundInstrument.credit_card = creditCard; var fundingInstruments = new List <FundingInstrument>(); fundingInstruments.Add(fundInstrument); Payer payer = new Payer() { funding_instruments = fundingInstruments, payment_method = "credit_card" }; var payment = new Payment() { intent = "sale", payer = payer, transactions = GetTransactions(paymentParam), }; try { APIContext apiContext = PaypalConfig.GetAPIContext(); Payment createdPayment = payment.Create(apiContext); if (createdPayment.state.ToLower() != "approved") { return(-1); } return(GetTotalMoney(createdPayment.transactions));; } catch { return(-1); } }
public PayoutBatch SendPayout(string subject, List <PayoutItem> payouts) { try { var payout = new Payout() { sender_batch_header = new PayoutSenderBatchHeader { sender_batch_id = "batch_" + System.Guid.NewGuid().ToString().Substring(0, 8), email_subject = subject }, items = payouts }; return(payout.Create(PaypalConfig.GetAPIContext(), false)); } catch { return(null); } }
public ActionResult PaymentWithPaypal() { if (Session["TaiKhoan"] == null) { Redirect("/Login/Index"); } var kh = Session["TaiKhoan"] as TaiKhoan; var giohang = db.giohangs.Where(x => x.makhachhang == kh.makh).ToList <giohang>(); List <sanpham> dssp = new List <sanpham>(); foreach (var item in giohang) { var sanphamGioHang = db.sanphams.Where(x => x.masp == item.masp && x.slsp >= item.soluongdamua && x.trangthai == 1).SingleOrDefault(); if (sanphamGioHang != null) { sanphamGioHang.slsp = item.soluongdamua; dssp.Add(sanphamGioHang); } } if (dssp.Count <= 0) { return(Redirect("/product/giohang")); } APIContext apiContext = PaypalConfig.GetAPIContext(); try { string payerId = Request.Params["PayerID"]; if (string.IsNullOrEmpty(payerId)) { string baseURI = Request.Url.Scheme + "://" + Request.Url.Authority + "/Product/PaymentWithPaypal?"; var guid = Convert.ToString((new Random()).Next(100000)); var createdPayment = CreatePayment(apiContext, baseURI + "guid=" + guid); var links = createdPayment.links.GetEnumerator(); string paypalRedirectUrl = string.Empty; while (links.MoveNext()) { Links link = links.Current; if (link.rel.ToLower().Trim().Equals("approval_url")) { paypalRedirectUrl = link.href; } } Session.Add(guid, createdPayment.id); return(Redirect(paypalRedirectUrl)); } else { var guid = Request.Params["guid"]; var executePayment = ExecutePayment(apiContext, payerId, Session[guid] as string); if (executePayment.state.ToLower() != "approved") { return(Redirect("/product/giohang")); } } } catch (Exception ex) { return(Redirect("/product/giohang")); } var khachhang = Session["TaiKhoan"] as TaiKhoan; List <sanpham> dsSanPham = (List <sanpham>)Session["giohang"]; //foreach (var item in dsSanPham) //{ // var sl = item.slsp; // sanpham spduocmua = new sanpham(); // spduocmua = db.sanphams.SingleOrDefault(x => x.masp == item.masp); // spduocmua.slsp -= sl; // db.SaveChanges(); //} foreach (var item in dsSanPham) { muahang spDaMua = new muahang(); spDaMua.makhachhang = khachhang.makh; spDaMua.masp = item.masp; spDaMua.soluongdamua = item.slsp; spDaMua.gia = item.gia; spDaMua.ngaymua = DateTime.Now; db.muahangs.Add(spDaMua); var itemToRemove = db.giohangs.SingleOrDefault(x => x.masp == item.masp && x.makhachhang == khachhang.makh); db.giohangs.Remove(itemToRemove); db.SaveChanges(); } return(Redirect("/product/giohang")); }