public AuthorizedBaseService(SquareConfig config, SquareMerchantCredentials credentials) : base(config) { Condition.Requires(credentials, "credentials").IsNotNull(); this.Credentials = credentials; this.ApiConfiguration = new Square.Connect.Client.Configuration() { AccessToken = this.Credentials.AccessToken }; }
public ActionResult ChargeNonce() { string accessToken = "sandbox-sq0atb-D4TFGj4GmAew2U1yDuxe3Q"; // Set the location ID string locId = "CBASECShk_d_mWkyYVT6bgiV52AgAQ"; //Create configuration object for apiClient Square.Connect.Client.Configuration apiConfiguration = new Square.Connect.Client.Configuration(); apiConfiguration.AccessToken = accessToken; //Create instance of api client Square.Connect.Client.ApiClient apiClient = new Square.Connect.Client.ApiClient(apiConfiguration); //Create instance of Orders api OrdersApi orderApi = new OrdersApi(apiConfiguration); //Create instance of Orders api CheckoutApi checkoutApi = new CheckoutApi(apiConfiguration); //Grab items from session and put them in a list List <Item> cartSession = (List <Item>)Session["cart"] != null ? (List <Item>)Session["cart"] : new List <Item>(); //Create Line Item Request instance List <CreateOrderRequestLineItem> lineItems = new List <CreateOrderRequestLineItem>(); //Create line item for each item stored in the cart session foreach (var item in cartSession) { int lineItemPrice = (int)(item.Product.ProductPrice * 100); Money price = new Money(lineItemPrice, Money.CurrencyEnum.USD); CreateOrderRequestLineItem lineItem = new CreateOrderRequestLineItem(item.Product.ProductTitle, item.Quantity.ToString(), price); lineItems.Add(lineItem); } string idempotencyKey = Guid.NewGuid().ToString(); //Create new order request instance with cart items CreateOrderRequest orderRequest = new CreateOrderRequest(idempotencyKey, null, lineItems); //Get return URL //var urlBuilder = //new System.UriBuilder(Request.Url.AbsoluteUri) //{ // Path = Url.Action("PaymentConfirmation", "Products"), // Query = null, //}; //Uri uri = urlBuilder.Uri; //string url = urlBuilder.ToString(); //UNCOMMENT AND CHANGE LAST NULL PARAMETER TO url CreateCheckoutRequest checkoutRequest = new CreateCheckoutRequest(idempotencyKey, orderRequest, true, null, null, null); try { var checkoutResponse = checkoutApi.CreateCheckout(locId, checkoutRequest); return(Redirect(checkoutResponse.Checkout.CheckoutPageUrl)); } catch (Exception) { throw; } }