//TODO: créer un service Payment /// <summary> /// Envoie le montant de la transaction à effectuer à l'API de paiement /// Récupère un id de transaction (guid) /// et redirige vers la page de formulaire de saisie de la carte de crédit /// </summary> /// <param name="cart"></param> /// <returns></returns> public async Task <string> GetPaymentAuthorizationId(ShoppingCartModel cart) { var payment = new PaymentPromessModel() { amount = cart.totalAmount }; var json = JsonConvert.SerializeObject(payment); var content = new StringContent(json, Encoding.UTF8, "application/json"); HttpResponseMessage result; try { result = await client.PostAsync(routingService.PaymentAuthorizationUrl, content); } catch { throw; } if (!result.IsSuccessStatusCode) { throw new HttpRequestException("Unable to get an authorization for this transaction"); } IEnumerable <string> paymentAuthId = new Collection <string>(); result.Headers.TryGetValues("guid", out paymentAuthId); // Redirige vers la page de saisie des données de Carte de Crédit var CreditCardCFormUrl = routingService.GetPaymentMvcCCFormUrl(paymentAuthId.ElementAt(0)); return(CreditCardCFormUrl); }