Criando uma cobrança

Nesse tutorial você aprenderá a criar uma Cobrança utilizando a API Mundipagg.

Com essa funcionalidade você pode realizar a cobrança com diversos meios de pagamento diferentes. Vamos mostrar dois exemplos de cobrança, com dois meios de pagamento, cartão de crédito e boleto.

Nesse tutorial iremos utilizar a SDK C# da Mundipagg disponível no gerenciador de pacotes NuGet com o nome de MundiAPI.PCL.

Criando uma cobrança com cartão de crédito

Primeiro você deve importar o pacote MundiAPI.PCL para a nossa aplicação de teste e depois adicionar nossas credenciais instanciando a classe MundiAPIClient.

using MundiAPI.PCL;
using MundiAPI.PCL.Models;

namespace TutorialCobranca {
    class Program {
        static void Main(string[] args) {

            // Neste exemplo estamos utilizando A sdk C# MundiAPI.PCL
            string basicAuthUserName = "sk_test_4AdjlqpseatnmgbW";
            string basicAuthPassword = "";

            var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

        }
    }
}

Para criar uma cobrança é muito simples. Basta iniciar o objeto CreatChargeRequest e informar o valor da cobrança em centavos.

using MundiAPI.PCL;
using MundiAPI.PCL.Models;

namespace TutorialCobranca {
    class Program {
        static void Main(string[] args) {

            // Neste exemplo estamos utilizando A sdk C# MundiAPI.PCL
            string basicAuthUserName = "sk_test_4AdjlqpseatnmgbW";
            string basicAuthPassword = "";

            var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

            var request = new CreateChargeRequest() {
                Amount = 1490
            };   
        }
    }
}

Depois você deve criar o Customer utilizando o CreateCustomerRequest.

using MundiAPI.PCL;
using MundiAPI.PCL.Models;

namespace TutorialCobranca {
    class Program {
        static void Main(string[] args) {

            // Neste exemplo estamos utilizando A sdk C# MundiAPI.PCL
            string basicAuthUserName = "sk_test_4AdjlqpseatnmgbW";
            string basicAuthPassword = "";

            var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

            var customer = new CreateCustomerRequest {
                Name = "Tony Stark",
                Email = "[email protected]",
            };
        }
    }
}

Em seguida, atribuir o Customer em nossa requisição de CreateChargeRequest.

using MundiAPI.PCL;
using MundiAPI.PCL.Models;

namespace TutorialCobranca {
    class Program {
        static void Main(string[] args) {

            // Neste exemplo estamos utilizando A sdk C# MundiAPI.PCL
            string basicAuthUserName = "sk_test_4AdjlqpseatnmgbW";
            string basicAuthPassword = "";

            var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

            var customer = new CreateCustomerRequest {
                Name = "Tony Stark",
                Email = "[email protected]",
            };
            
            var request = new CreateChargeRequest() {
                Amount = 1490,
                Customer = customer,
            };
        }
    }
}

Caso você já possua o Customer cadastrado , você não precisa realizar a criação do mesmo, pode informar o CustomerId.

using MundiAPI.PCL;
using MundiAPI.PCL.Models;

namespace TutorialCobranca {
    class Program {
        static void Main(string[] args) {

            // Neste exemplo estamos utilizando A sdk C# MundiAPI.PCL
            string basicAuthUserName = "sk_test_4AdjlqpseatnmgbW";
            string basicAuthPassword = "";

            var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

            var request = new CreateChargeRequest() {
                Amount = 1490,
                CustomerId = "cus_aGvrM1lCvxUKW9N7", //Exemplo de um CustomerId
            };
        }
    }
}

Agora você pode configurar as informações de pagamento, iniciando pelo Payment. Essa propriedade é responsável pelas informações de processamento do pagamento. você iniciará ela por meio do CreatePaymentRequest e informará na propriedade PaymentMethod o valor credit_card.

using MundiAPI.PCL;
using MundiAPI.PCL.Models;

namespace TutorialCobranca {
    class Program {
        static void Main(string[] args) {

            // Neste exemplo estamos utilizando A sdk C# MundiAPI.PCL
            string basicAuthUserName = "sk_test_4AdjlqpseatnmgbW";
            string basicAuthPassword = "";

            var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

            var request = new CreateChargeRequest() {
                Amount = 1490,
                CustomerId = "cus_aGvrM1lCvxUKW9N7",
                Payment = new CreatePaymentRequest() {
                    PaymentMethod = "credit_card",
                }
            };
        }
    }
}

Logo depois irá informar os dados do Card do Customer utilizando a propriedade CreditCard de CreatePaymentRequest informando para ela um CreateCreditCardPaymentRequest com a propriedade Card criado a partir de um CreateCardRequest.

using MundiAPI.PCL;
using MundiAPI.PCL.Models;

namespace TutorialCobranca {
    class Program {
        static void Main(string[] args) {

            // Neste exemplo estamos utilizando A sdk C# MundiAPI.PCL
            string basicAuthUserName = "sk_test_4AdjlqpseatnmgbW";
            string basicAuthPassword = "";

            var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);
            
            var request = new CreateChargeRequest() {
                Amount = 1490,
                CustomerId = "cus_aGvrM1lCvxUKW9N7",
                Payment = new CreatePaymentRequest() {
                    PaymentMethod = "credit_card",
                    CreditCard = new CreateCreditCardPaymentRequest(){
                        Card = new CreateCardRequest {
                            Number = "342793631858229",
                            HolderName = "Tony Stark",
                            ExpMonth = 1,
                            ExpYear = 18,
                            Cvv = "3531",
                        }
                    }
                }
            };
        }
    }
}

Isso pode ser feito também informando um CardId, previamente cadastrado, junto do CVV.

using MundiAPI.PCL;
using MundiAPI.PCL.Models;

namespace TutorialCobranca {
    class Program {
        static void Main(string[] args) {

            // Neste exemplo estamos utilizando A sdk C# MundiAPI.PCL
            string basicAuthUserName = "sk_test_4AdjlqpseatnmgbW";
            string basicAuthPassword = "";

            var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

            var request = new CreateChargeRequest() {
                Amount = 1490,
                CustomerId = "cus_aGvrM1lCvxUKW9N7",
                Payment = new CreatePaymentRequest() {
                    PaymentMethod = "credit_card",
                    CreditCard = new CreateCreditCardPaymentRequest(){
                        CardId = "card_qBkxRKtmEfgyv1Zd",
                        Card = new CreateCardRequest {
                            Cvv = "353",
                        }
                    }
                }
            };
        }
    }
}

Para finalizar, você utilizará o CreateCharge informando o nosso CreateChargeRequest

using MundiAPI.PCL;
using MundiAPI.PCL.Models;

namespace TutorialCobranca {
    class Program {
        static void Main(string[] args) {

            // Neste exemplo estamos utilizando A sdk C# MundiAPI.PCL
            string basicAuthUserName = "sk_test_4AdjlqpseatnmgbW";
            string basicAuthPassword = "";

            var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

            var request = new CreateChargeRequest() {
                Amount = 1490,
                CustomerId = "cus_aGvrM1lCvxUKW9N7",
                Payment = new CreatePaymentRequest() {
                    PaymentMethod = "credit_card",
                    CreditCard = new CreateCreditCardPaymentRequest(){
                        CardId = "card_qBkxRKtmEfgyv1Zd",
                        Card = new CreateCardRequest {
                            Cvv = "353",
                        }
                    }
                }
            };

            var response = client.Charges.CreateCharge(request);
        }
    }
}

Criando uma cobrança com boleto

Para criação da cobrança com meio de pagamento boleto, é necessário informar no PaymentMethod o valor boleto. Além disso, é preciso passar a propriedade Boleto com um CreateBoletoPaymentRequest informando o Bank com o código do banco desejado e o DueAt, a data de vencimento do boleto em DateTime.

Para finalizar, chamar o método CreateCharge para realizar a requisição.

using MundiAPI.PCL;
using MundiAPI.PCL.Models;
using System;

namespace TutorialCobranca {
    class Program {
        static void Main(string[] args) {

            // Neste exemplo estamos utilizando A sdk C# MundiAPI.PCL
            
            string basicAuthUserName = "sk_test_4AdjlqpseatnmgbW";
            string basicAuthPassword = "";

            var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

            var request = new CreateChargeRequest() {
                Amount = 1490,
                CustomerId = "cus_aGvrM1lCvxUKW9N7",
                Payment = new CreatePaymentRequest() {
                    PaymentMethod = "boleto",
                    Boleto = new CreateBoletoPaymentRequest() {
                        Bank = "033",
                        DueAt = DateTime.Now.AddDays(3)  
                    }
 
                }
            };

            var response = client.Charges.CreateCharge(request);
        }
    }
}

📘

Para mais informações acesse a nossa API Reference.