public static CreateSubscriptionItemRequest ConverteItemNovoDbEmApi(AssinaturaItemDb assinaturaItem) { try { var item = new CreateSubscriptionItemRequest { Description = assinaturaItem.Descricao, Cycles = assinaturaItem.Ciclos, Quantity = assinaturaItem.Quant, PricingScheme = new CreatePricingSchemeRequest { Price = assinaturaItem.GetValor() } }; return(item); } catch (Exception ex) { throw new Exception(ex.Message); } }
internal static CreateSubscriptionItemRequest BuildCreateSubscriptionItemRequest() { var request = new CreateSubscriptionItemRequest() { Description = "Novo item", Quantity = 1, PricingScheme = new CreatePricingSchemeRequest() { SchemeType = "volume", PriceBrackets = new List <CreatePriceBracketRequest>() { new CreatePriceBracketRequest() { StartQuantity = 0, Price = 100 } } } }; return(request); }
public BaseResponse <GetSubscriptionItemResponse> CreateSubscriptionItem(string subscriptionId, CreateSubscriptionItemRequest request) { var method = HttpMethod.Post; var endpoint = $"/subscriptions/{subscriptionId}/items"; return(this.HttpClientUtil.SendRequest <GetSubscriptionItemResponse>(method, endpoint, request)); }
public void ItemIncluirNaAssinatura(AssinaturaDb assinaturaDb, AssinaturaItemDb assinaturaItemDb, CreateSubscriptionItemRequest assinaturaItemApi) { try { // Secret key fornecida pela Mundipagg string basicAuthUserName = SistemaSingleton.Instancia.TokenApi; // Senha em branco. Passando apenas a secret key string basicAuthPassword = ""; var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword); var response = client.Subscriptions.CreateSubscriptionItem(assinaturaDb.Id_Api, assinaturaItemApi); assinaturaDal.ItemAssinaturaGravadaNaApiAtualizaBanco(assinaturaItemDb.Id.ToString(), response.Id); } catch (Exception ex) { throw new Exception(ex.Message); } }
public static CreateSubscriptionRequest ConverteAssinaturaDbEmApi(AssinaturaDb assinatura) { try { var billinAddress = new CreateAddressRequest { Line1 = assinatura.Cliente.Endereco_1, Line2 = assinatura.Cliente.Endereco_2, ZipCode = assinatura.Cliente.Cep, City = assinatura.Cliente.Cidade, State = assinatura.Cliente.Uf, Country = "BR" }; var card = new CreateCardRequest { HolderName = assinatura.MeioPagamento.Nome_Cartao, Number = assinatura.MeioPagamento.Numero_Cartao, ExpMonth = assinatura.MeioPagamento.Val_Mes, ExpYear = assinatura.MeioPagamento.Val_Ano, Cvv = assinatura.MeioPagamento.Cvc, BillingAddress = billinAddress }; // por enquanto não vai trabalhar com descontos //var discounts = new List<CreateDiscountRequest> { //new CreateDiscountRequest { //Cycles = 1, //Value = 0, //DiscountType = "percentage" //} //}; var items = new List <CreateSubscriptionItemRequest>(); foreach (var item in assinatura.ItensAssinatura) { var i = new CreateSubscriptionItemRequest { Description = item.Descricao, Quantity = item.Quant, PricingScheme = new CreatePricingSchemeRequest { Price = item.GetValor() } }; items.Add(i); } var metadata = new Dictionary <string, string> { { "id", assinatura.Id.ToString() } }; var request = new CreateSubscriptionRequest { PaymentMethod = "credit_card", Currency = "BRL", Interval = assinatura.Intervalo, IntervalCount = assinatura.Intervalo_Quantidade, BillingType = "exact_day", BillingDay = assinatura.Dia_Cobranca, Installments = assinatura.Quant_Parcelas, Customer = new CreateCustomerRequest { Name = assinatura.Cliente.Nome, //Email = assinatura.Cliente.Email, Document = assinatura.Cliente.Documento, Code = assinatura.Cliente.Codigo, Type = "individual" }, Card = card, // Discounts = discounts, Items = items, Metadata = metadata }; return(request); } catch (Exception ex) { throw new Exception(ex.Message); } }