public static Payment CreateFuturePayment() { FuturePayment pay = new FuturePayment(); pay.intent = "sale"; CreditCard card = CreditCardTest.GetCreditCard(); List<FundingInstrument> fundingInstruments = new List<FundingInstrument>(); FundingInstrument fundingInstrument = new FundingInstrument(); fundingInstrument.credit_card = card; fundingInstruments.Add(fundingInstrument); Payer payer = new Payer(); payer.payment_method = "credit_card"; payer.funding_instruments = fundingInstruments; List<Transaction> transactionList = new List<Transaction>(); Transaction trans = new Transaction(); trans.amount = AmountTest.GetAmount(); transactionList.Add(trans); pay.transactions = transactionList; pay.payer = payer; Payment paymnt = pay.Create(TestingUtil.GetApiContext()); return paymnt; }
public static Payment GetCardPaymentDetailsForPaypal(double amount) { Item cardItem = CreateCardItem(amount); List<Item> itms = new List<Item>(); itms.Add(cardItem); ItemList itemList = new ItemList(); itemList.items = itms; CreditCard crdtCard = GetPaymentCardDetails(); Transaction tran = GetCardTransactionDetails(itemList, amount); // Now, we have to make a list of trasaction and add the trasactions object // to this list. You can create one or more object as per your requirements List<Transaction> transactions = new List<Transaction>(); transactions.Add(tran); FundingInstrument fundInstrument = new FundingInstrument(); fundInstrument.credit_card = crdtCard; // The Payment creation API requires a list of FundingIntrument List<FundingInstrument> fundingInstrumentList = new List<FundingInstrument>(); fundingInstrumentList.Add(fundInstrument); // Now create Payer object and assign the fundinginstrument list to the object Payer payr = new Payer(); payr.funding_instruments = fundingInstrumentList; payr.payment_method = "credit_card"; // finally create the payment object and assign the payer object & transaction list to it Payment payment = new Payment(); payment.intent = "sale"; payment.payer = payr; payment.transactions = transactions; return payment; }
public ActionResult PaymentWithCreditCard() { //create and item for which you are taking payment //if you need to add more items in the list //Then you will need to create multiple item objects or use some loop to instantiate object Item item = new Item(); item.name = "Demo Item"; item.currency = "EUR"; item.price = "150"; item.quantity = "1"; item.sku = "sku"; //Now make a List of Item and add the above item to it //you can create as many items as you want and add to this list List<Item> itms = new List<Item>(); itms.Add(item); ItemList itemList = new ItemList(); itemList.items = itms; //Address for the payment Address billingAddress = new Address(); billingAddress.city = "NewYork"; billingAddress.country_code = "US"; billingAddress.line1 = "23rd street kew gardens"; billingAddress.postal_code = "43210"; billingAddress.state = "NY"; //Now Create an object of credit card and add above details to it //Please replace your credit card details over here which you got from paypal CreditCard crdtCard = new CreditCard(); crdtCard.billing_address = billingAddress; crdtCard.cvv2 = "874"; //card cvv2 number crdtCard.expire_month = 1; //card expire date crdtCard.expire_year = 2020; //card expire year crdtCard.first_name = "Aman"; crdtCard.last_name = "Thakur"; crdtCard.number = "1234567890123456"; //enter your credit card number here crdtCard.type = "visa"; //credit card type here paypal allows 4 types // Specify details of your payment amount. Details details = new Details(); details.shipping = "0"; details.subtotal = "150"; details.tax = "27"; // Specify your total payment amount and assign the details object Amount amnt = new Amount(); amnt.currency = "EUR"; // Total = shipping tax + subtotal. amnt.total = "177"; amnt.details = details; // Now make a transaction object and assign the Amount object Transaction tran = new Transaction(); tran.amount = amnt; tran.description = "Description about the payment amount."; tran.item_list = itemList; tran.invoice_number = "your invoice number which you are generating"; // Now, we have to make a list of transaction and add the transactions object // to this list. You can create one or more object as per your requirements List<Transaction> transactions = new List<Transaction>(); transactions.Add(tran); // Now we need to specify the FundingInstrument of the Payer // for credit card payments, set the CreditCard which we made above FundingInstrument fundInstrument = new FundingInstrument(); fundInstrument.credit_card = crdtCard; // The Payment creation API requires a list of FundingIntrument List<FundingInstrument> fundingInstrumentList = new List<FundingInstrument>(); fundingInstrumentList.Add(fundInstrument); // Now create Payer object and assign the fundinginstrument list to the object Payer payr = new Payer(); payr.funding_instruments = fundingInstrumentList; payr.payment_method = "credit_card"; // finally create the payment object and assign the payer object & transaction list to it Payment pymnt = new Payment(); pymnt.intent = "sale"; pymnt.payer = payr; pymnt.transactions = transactions; try { //getting context from the paypal //basically we are sending the clientID and clientSecret key in this function //to the get the context from the paypal API to make the payment //for which we have created the object above. //Basically, apiContext object has a accesstoken which is sent by the paypal //to authenticate the payment to facilitator account. //An access token could be an alphanumeric string APIContext apiContext = Configuration.GetAPIContext(); //Create is a Payment class function which actually sends the payment details //to the paypal API for the payment. The function is passed with the ApiContext //which we received above. Payment createdPayment = pymnt.Create(apiContext); //if the createdPayment.state is "approved" it means the payment was successful else not if (createdPayment.state.ToLower() != "approved") { return View("FailureView"); } } catch (PayPal.PayPalException ex) { //Logger.Log("Error: " + ex.Message); return View("FailureView"); } return View("SuccessView"); }
public static FundingInstrument GetFundingInstrument() { FundingInstrument instrument = new FundingInstrument(); instrument.credit_card = CreditCardTest.GetCreditCard(); return instrument; }
public ActionResult PaymentWithCreditCard(Donor d, string CreditCardNumber, string CreditCardType, string CreditCardExpMonth, string CreditCardExpYear) { //create and item for which you are taking payment //if you need to add more items in the list //Then you will need to create multiple item objects or use some loop to instantiate object Item item = new Item(); item.name = "Item Name"; item.currency = "USD"; item.price = d.Amount.ToString(); item.quantity = "1"; item.sku = "sku"; //Now make a List of Item and add the above item to it //you can create as many items as you want and add to this list List<Item> itms = new List<Item>(); itms.Add(item); ItemList itemList = new ItemList(); itemList.items = itms; //Address for the payment PayPal.Api.Address billingAddress = new PayPal.Api.Address(); billingAddress.city = d.City; billingAddress.country_code = "US"; billingAddress.line1 = d.Address1; billingAddress.postal_code = d.ZipCode; billingAddress.state = d.State; //Now Create an object of credit card and add above details to it //Please replace your credit card details over here which you got from paypal CreditCard crdtCard = new CreditCard(); crdtCard.billing_address = billingAddress; //crdtCard.cvv2 = "874"; //card cvv2 number //crdtCard.expire_month = 1; crdtCard.expire_month = Convert.ToInt32(CreditCardExpMonth); //crdtCard.expire_year = 2021; //card expire year crdtCard.expire_year = Convert.ToInt32(CreditCardExpYear); //crdtCard.first_name = "test"; crdtCard.first_name = d.FirstName; //crdtCard.last_name = "buyer"; crdtCard.last_name = d.LastName; //crdtCard.number = "4032033901230495"; crdtCard.number = CreditCardNumber; //crdtCard.type = "visa"; crdtCard.type = CreditCardType; // Specify details of your payment amount. Details details = new Details(); details.shipping = "0"; details.subtotal = d.Amount.ToString(); details.tax = "0"; // Specify your total payment amount and assign the details object Amount amnt = new Amount(); amnt.currency = "USD"; // Total = shipping tax + subtotal. amnt.total = d.Amount.ToString(); amnt.details = details; // Now make a transaction object and assign the Amount object Transaction tran = new Transaction(); tran.amount = amnt; tran.description = "Donation"; tran.item_list = itemList; tran.invoice_number = "your invoice number which you are generating"; // Now, we have to make a list of transaction and add the transactions object // to this list. You can create one or more object as per your requirements List<Transaction> transactions = new List<Transaction>(); transactions.Add(tran); // Now we need to specify the FundingInstrument of the Payer // for credit card payments, set the CreditCard which we made above FundingInstrument fundInstrument = new FundingInstrument(); fundInstrument.credit_card = crdtCard; // The Payment creation API requires a list of FundingIntrument List<FundingInstrument> fundingInstrumentList = new List<FundingInstrument>(); fundingInstrumentList.Add(fundInstrument); // Now create Payer object and assign the fundinginstrument list to the object Payer payr = new Payer(); payr.funding_instruments = fundingInstrumentList; payr.payment_method = "credit_card"; // finally create the payment object and assign the payer object & transaction list to it Payment pymnt = new Payment(); pymnt.intent = "sale"; pymnt.payer = payr; pymnt.transactions = transactions; try { //getting context from the paypal //basically we are sending the clientID and clientSecret key in this function //to the get the context from the paypal API to make the payment //for which we have created the object above. //Basically, apiContext object has a accesstoken which is sent by the paypal //to authenticate the payment to facilitator account. //An access token could be an alphanumeric string // 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(); var apiContext = new APIContext(accessToken); //Create is a Payment class function which actually sends the payment details //to the paypal API for the payment. The function is passed with the ApiContext //which we received above. Payment createdPayment = pymnt.Create(apiContext); //if the createdPayment.state is "approved" it means the payment was successful else not if (createdPayment.state.ToLower() != "approved") { return View("DonationFailureView"); } } catch (PayPal.PayPalException e) { string error = e.ToString(); return View("DonationFailureView"); } return View("DonationSuccessView"); }
private Payment DEBUG_Create() { Payment payment = new Payment(); FundingInstrument fundingInstrument = new FundingInstrument() { credit_card = new CreditCard() { number = "4032036390019741", type = "visa", expire_month = 11, expire_year = 2020 } }; List<FundingInstrument> fundingInstruments = new List<FundingInstrument>(); fundingInstruments.Add(fundingInstrument); payment = new Payment() { intent = "sale", payer = new Payer() { payment_method = "credit_card", funding_instruments = fundingInstruments } }; return payment; }
public ActionResult PaymentWithCreditCard(Bids bid) { ApplicationUser currentUser = HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>().FindById(User.Identity.GetUserId()); #region Item Info Item item = new Item(); item.name = bid.bidStake.ToString() + "% stake in " + bid.ventureID; item.currency = "USD"; item.price = bid.bid.ToString(); item.quantity = "1"; item.sku = bid.ventureID.ToString(); List<Item> itms = new List<Item>(); itms.Add(item); ItemList itemList = new ItemList(); itemList.items = itms; #endregion #region Billing Info Address billingAddress = new Address(); //billingAddress.city = currentUser.City; //billingAddress.country_code = currentUser.CountryCode; //billingAddress.line1 = currentUser.AddressLine1; //billingAddress.postal_code = currentUser.ZipCode; //billingAddress.state = currentUser.State; #endregion #region Credit Card CreditCard crdtCard = new CreditCard(); crdtCard.billing_address = billingAddress; //crdtCard.cvv2 = currentUser.CCV2; //crdtCard.expire_month = currentUser.CCExpireMonth; //crdtCard.expire_year = currentUser.CCExpireYear; //crdtCard.first_name = currentUser.FirstName; //crdtCard.last_name = currentUser.LastName; //crdtCard.number = currentUser.CCNumber; //crdtCard.type = currentUser.CCType; //paypal allows 4 types #endregion #region Transaction Details Details details = new Details(); details.shipping = "0"; details.subtotal = bid.bid.ToString(); details.tax = "0"; Amount amnt = new Amount(); amnt.currency = "USD"; amnt.total = details.subtotal; amnt.details = details; Transaction tran = new Transaction(); tran.amount = amnt; tran.description = bid.createdOn.ToString(); tran.item_list = itemList; tran.invoice_number = bid.Id.ToString(); #endregion #region Payment List<Transaction> transactions = new List<Transaction>(); transactions.Add(tran); FundingInstrument fundInstrument = new FundingInstrument(); fundInstrument.credit_card = crdtCard; List<FundingInstrument> fundingInstrumentList = new List<FundingInstrument>(); fundingInstrumentList.Add(fundInstrument); Payer payer = new Payer(); payer.funding_instruments = fundingInstrumentList; payer.payment_method = "credit_card"; // finally create the payment object and assign the payer object & transaction list to it Payment payment = new Payment(); payment.intent = "sale"; payment.payer = payer; payment.transactions = transactions; try { APIContext apiContext = Configuration.GetAPIContext(); Payment createdPayment = payment.Create(apiContext); if (createdPayment.state.ToLower() != "approved") { return View("FailureView"); } } catch (PayPal.PayPalException ex) { Logger.Log("Error: " + ex.Message); return View("FailureView"); } return View("SuccessView"); }
private Payment CreatePayment(IOrder order, string paymentType, string redirectUrl, CardDetails cardDetails) { //Create items for which you are taking payment var items = order.OrderDetails.GetList().Select(product => new Item { name = product.Name, currency = "GBP", price = product.Price.ToString(CultureInfo.InvariantCulture), quantity = product.Quantity.ToString(CultureInfo.InvariantCulture), sku = product.Category }).ToList(); // Create ItemList object var itemList = new ItemList { items = items }; // Specify the details of your payment amount. var subtotal = order.GetProductCost() - order.GetVat(); var details = new Details { shipping = order.DeliveryCharges.ToString(CultureInfo.InvariantCulture), subtotal = subtotal.ToString(CultureInfo.InvariantCulture), tax = order.GetVat().ToString(CultureInfo.InvariantCulture) }; // Specify your total payment amount and assign the details object var totalCost = order.GetProductCost() + order.DeliveryCharges; var amount = new Amount { currency = "GBP", total = totalCost.ToString(CultureInfo.InvariantCulture), //details = details }; // Now add transactions var transactions = new List<Transaction> { new Transaction { amount = amount, description = string.Format("Total amount = £{0}", order.GetProductCost() + order.DeliveryCharges), //item_list = itemList, //invoice_number = order.OrderNumber.ToString(CultureInfo.InvariantCulture) } }; Payer payer; if (paymentType.Equals("payPal", StringComparison.OrdinalIgnoreCase)) { payer = new Payer { payment_method = "paypal" }; } else { //Address for the payment var billingAddress = new Address { country_code = "GB", line1 = cardDetails.Address, postal_code = cardDetails.Postcode, city = cardDetails.City }; //Now Create an object of credit card and add above details to it var creditCard = new CreditCard { billing_address = billingAddress, cvv2 = cardDetails.CardVerificationCode.GetValueOrDefault().ToString(CultureInfo.InvariantCulture), expire_month = cardDetails.ExpirationMonth.GetValueOrDefault(), expire_year = cardDetails.ExpirationYear.GetValueOrDefault(), first_name = cardDetails.FirstName, last_name = cardDetails.LastName, number = cardDetails.CardNumber.GetValueOrDefault().ToString(CultureInfo.InvariantCulture), type = cardDetails.CardType.ToLower() }; // Now we need to create the FundingInstrument object of the Payer // for credit card payments, set the CreditCard which we made above var fundInstrument = new FundingInstrument { credit_card = creditCard }; // The Payment creation API requires a list of FundingIntrument var fundingInstrumentList = new List<FundingInstrument> { fundInstrument }; // Now create Payer object and assign the fundinginstrument list to the object payer = new Payer { funding_instruments = fundingInstrumentList, payment_method = "credit_card" }; } // Finally we need create the payment object and assign the payer object & transaction list to it var payment = new Payment { intent = "sale", payer = payer, transactions = transactions }; if (!string.IsNullOrEmpty(redirectUrl)) { var redirUrls = new RedirectUrls { cancel_url = redirectUrl, return_url = redirectUrl }; payment.redirect_urls = redirUrls; } return payment; }
protected override void RunSample() { // ### Api Context // Pass in a `APIContext` object to authenticate // the call and to send a unique request id // (that ensures idempotency). The SDK generates // a request id if you do not pass one explicitly. // See [Configuration.cs](/Source/Configuration.html) to know more about APIContext. var apiContext = Configuration.GetAPIContext(); // Items within a transaction. var item = new Item() { name = "Item Name", currency = "USD", price = "1", quantity = "5", sku = "sku" }; // A resource representing a credit card that can be used to fund a payment. var credCardToken = new CreditCardToken() { credit_card_id = "CARD-0F049886A57009534KRVL4LQ" }; var amnt = new Amount() { currency = "USD", total = "7", details = new Details() { shipping = "1", subtotal = "5", tax = "1" } }; // A transaction defines the contract of a // payment - what is the payment for and who // is fulfilling it. var tran = new Transaction() { amount = amnt, description = "This is the payment transaction description.", item_list = new ItemList() { items = new List<Item>() { item } } }; // A resource representing a Payer's funding instrument. For stored credit card payments, set the CreditCardToken field on this object. var fundInstrument = new FundingInstrument() { credit_card_token = credCardToken }; // A Payment Resource; create one using the above types and intent as 'sale' var pymnt = new Payment() { intent = "sale", payer = new Payer() { funding_instruments = new List<FundingInstrument>() { fundInstrument }, payment_method = "credit_card" }, transactions = new List<Transaction>() { tran } }; // ^ Ignore workflow code segment #region Track Workflow this.flow.AddNewRequest("Create credit card payment", pymnt); #endregion // Create a payment using a valid APIContext var createdPayment = pymnt.Create(apiContext); // ^ Ignore workflow code segment #region Track Workflow this.flow.RecordResponse(createdPayment); #endregion // For more information, please visit [PayPal Developer REST API Reference](https://developer.paypal.com/docs/api/). }