Como mandar uma requisição completa!

#region Monta a requisicao

var boletoTransaction = new BoletoTransaction() {
    AmountInCents = 10000,
    BankNumber = "237",
    BillingAddress = new BillingAddress() {
        City = "Tatooine",
        Complement = "",
        Country = CountryEnum.Brazil.ToString(),
        Number = "123",
        District = "Mos Eisley",
        State = "RJ",
        Street = "Mos Eisley Cantina",
        ZipCode = "20001000"
    },
    DocumentNumber = "12345678901",
    Instructions = "Pagar antes do vencimento",
    Options = new BoletoTransactionOptions() {
        CurrencyIso = CurrencyIsoEnum.BRL,
        DaysToAddInBoletoExpirationDate = 5
    },
    TransactionReference = "NumeroDaTransacao"
};

// Cria o comprador.
Buyer buyer = new Buyer() {
    AddressCollection = new Collection<BuyerAddress>(),
    Birthdate = new DateTime(1990, 8, 20),
    BuyerCategory = BuyerCategoryEnum.Normal,
    BuyerReference = "C3PO",
    CreateDateInMerchant = DateTime.Now,
    DocumentNumber = "12345678901",
    DocumentType = DocumentTypeEnum.CPF,
    Email = "[email protected]",
    EmailType = EmailTypeEnum.Personal,
    FacebookId = "lukeskywalker8917",
    Gender = GenderEnum.M,
    HomePhone = "(21)123456789",
    MobilePhone = "(21)987654321",
    Name = "Luke Skywalker",
    PersonType = PersonTypeEnum.Person,
    TwitterId = "@lukeskywalker8917",
    WorkPhone = "(21)28467902"
};
// Adiciona um endereço para o comprador.
buyer.AddressCollection.Add(new BuyerAddress() {
    AddressType = AddressTypeEnum.Residential,
    City = "Tatooine",
    Complement = "",
    Country = CountryEnum.Brazil.ToString(),
    District = "Mos Eisley",
    Number = "123",
    State = "RJ",
    Street = "Mos Eisley Cantina",
    ZipCode = "20001000"
});

// Cria a transação de cartão de crédito.
var creditCardTransaction = new CreditCardTransaction() {
    AmountInCents = 10000,
    CreditCard = new CreditCard() {
        BillingAddress = new BillingAddress() {
            City = "Tatooine",
            Complement = "",
            Country = CountryEnum.Brazil.ToString(),
            District = "Mos Eisley",
            Number = "123",
            State = "RJ",
            Street = "Mos Eisley Cantina",
            ZipCode = "20001000"
        },
        CreditCardBrand = CreditCardBrandEnum.Visa,
        CreditCardNumber = "4111111111111111",
        ExpMonth = 10,
        ExpYear = 22,
        HolderName = "LUKE SKYWALKER",
        SecurityCode = "123"
    },
    CreditCardOperation = CreditCardOperationEnum.AuthOnly,
    InstallmentCount = 1,
    Options = new CreditCardTransactionOptions() {
        CurrencyIso = CurrencyIsoEnum.BRL,
        PaymentMethodCode = 1,
        SoftDescriptorText = "Jedi Mega Store"
    },
    TransactionReference = "NumeroDaTransacao"
};

// Dados da loja.
Merchant merchant = new Merchant() {
    MerchantReference = "IdDaLojaPlataforma"
};

// Opções da requisição.
SaleOptions saleOptions = new SaleOptions() {
    AntiFraudServiceCode = 0,
    CurrencyIso = CurrencyIsoEnum.BRL,
    IsAntiFraudEnabled = true, // Habilita a integração com o serviço de anti fraude
    Retries = 1 // Quantidade máxima de retentativas para o cartão de crédito.
};

// Dados da requisição no site da loja.
RequestData requestData = new RequestData() {
    EcommerceCategory = EcommerceCategoryEnum.B2C,
    IpAddress = "127.0.0.1",
    Origin = "SiteDeCompra",
    SessionId = "IdSesssaoNoSite"
};

// Cria o carrinho de compras.
ShoppingCart shoppintCart = new ShoppingCart() {
    DeliveryAddress = new DeliveryAddress() {
        City = "Galaxy far far away",
        Complement = "Bridge",
        Country = CountryEnum.Brazil.ToString(),
        District = "Command Room",
        Number = "321",
        State = "RJ",
        Street = "Death Star",
        ZipCode = "10002000"
    },
    DeliveryDeadline = DateTime.Now.AddDays(3),
    EstimatedDeliveryDate = DateTime.Now.AddDays(3),
    FreightCostInCents = 2000,
    ShippingCompany = "Empire",
    ShoppingCartItemCollection = new Collection<ShoppingCartItem>()
};

// Adiciona um produto no carrinho de compras.
shoppintCart.ShoppingCartItemCollection.Add(new ShoppingCartItem() {
    Description = "Red Lightsaber",
    DiscountAmountInCents = 0,
    ItemReference = "NumeroDoProduto",
    Name = "Lightsaber",
    Quantity = 1,
    TotalCostInCents = 18000,
    UnitCostInCents = 18000
});

#endregion

// Cria requisição.
var createSaleRequest = new CreateSaleRequest() {
    // Adiciona o boleto na requisição.
    BoletoTransactionCollection = new Collection<BoletoTransaction>(new BoletoTransaction[] { boletoTransaction }),
    Buyer = buyer,
    // Adiciona a transação de cartão de crédito na requisição.
    CreditCardTransactionCollection = new Collection<CreditCardTransaction>(new CreditCardTransaction[] { creditCardTransaction }),
    Merchant = merchant,
    Options = saleOptions,
    Order = new Order() {
        OrderReference = "NumeroDoPedido"
    },
    RequestData = requestData,
    ShoppingCartCollection = new Collection<ShoppingCart>(new ShoppingCart[] { shoppintCart })
};

// Coloque a sua MerchantKey aqui.
Guid merchantKey = Guid.Parse("00000000-0000-0000-0000-000000000000");

// Cria o client que enviará a transação.
var serviceClient = new GatewayServiceClient(merchantKey, new Uri("https://sandbox.mundipaggone.com"));

// Autoriza a transação e recebe a resposta do gateway.
var httpResponse = serviceClient.Sale.Create(createSaleRequest);

Console.WriteLine("Código retorno: {0}", httpResponse.HttpStatusCode);
Console.WriteLine("Chave do pedido: {0}", httpResponse.Response.OrderResult.OrderKey);
if (httpResponse.Response.CreditCardTransactionResultCollection != null) {
    Console.WriteLine("Status transação de cartão: {0}", httpResponse.Response.CreditCardTransactionResultCollection.FirstOrDefault().CreditCardTransactionStatus);
}
if (httpResponse.Response.BoletoTransactionResultCollection != null) {
                Console.WriteLine("Status transação de boleto: {0}", httpResponse.Response.BoletoTransactionResultCollection.FirstOrDefault().BoletoTransactionStatus);
            }
<?php
try
{
    // Carrega dependências
    require_once(dirname(__FILE__) . '\vendor\autoload.php');

    // Define a url utilizada
    \Gateway\ApiClient::setBaseUrl("https://sandbox.mundipaggone.com");

    // Define a chave de loja
    \Gateway\ApiClient::setMerchantKey("85328786-8BA6-420F-9948-5352F5A183EB");

    // Cria objeto da requisição
    $request = new \Gateway\One\DataContract\Request\CreateSaleRequest();

    // Dados da transação de boleto
    $boletoTransaction = new \Gateway\One\DataContract\Request\CreateSaleRequestData\BoletoTransaction();
    
    $boletoTransaction
    ->setAmountInCents(10000)
    ->setBankNumber(\Gateway\One\DataContract\Enum\BankEnum::BRADESCO)
    ->setDocumentNumber("12345678901")
    ->setInstructions("Pagar antes do vencimento")
    ->setTransactionReference("NumeroDaTransacao")
    ->getOptions()
    ->setCurrencyIso(\Gateway\One\DataContract\Enum\CurrencyIsoEnum::BRL)
    ->setDaysToAddInBoletoExpirationDate(5);

    // Endereço de cobrança da transação de boleto
    $boletoTransaction->getBillingAddress()
    ->setAddressType(\Gateway\One\DataContract\Enum\AddressTypeEnum::BILLING)
    ->setStreet("Mos Eisley Cantina")
    ->setNumber("123")
    ->setComplement("")
    ->setDistrict("Mos Eisley")
    ->setCity("Tatooine")
    ->setState("RJ")
    ->setZipCode("20001000")
    ->setCountry(\Gateway\One\DataContract\Enum\CountryEnum::BRAZIL);

    $request->addBoletoTransaction($boletoTransaction);

    // Dados do comprador
    $request->getBuyer()
    ->setName("Luke Skywalker")
    ->setPersonType(\Gateway\One\DataContract\Enum\PersonTypeEnum::PERSON)
    ->setBuyerReference("C3PO")
    ->setDocumentNumber("12345678901")
    ->setDocumentType(\Gateway\One\DataContract\Enum\DocumentTypeEnum::CPF)
    ->setEmail("[email protected]")
    ->setEmailType(\Gateway\One\DataContract\Enum\EmailTypeEnum::PERSONAL)
    ->setGender(\Gateway\One\DataContract\Enum\GenderEnum::MALE)
    ->setHomePhone("(21)123456789")
    ->setMobilePhone("(21)987654321")
    ->setWorkPhone("(21)28467902")
    ->setBirthDate(\DateTime::createFromFormat('d/m/Y', '20/08/1990'))
    ->setFacebookId("lukeskywalker8917")
    ->setTwitterId("@lukeskywalker8917")
    ->setCreateDateInMerchant(new \DateTime())
    ->addAddress()
    ->setAddressType(\Gateway\One\DataContract\Enum\AddressTypeEnum::RESIDENTIAL)
    ->setStreet("Mos Eisley Cantina")
    ->setNumber("123")
    ->setComplement("")
    ->setDistrict("Mos Eisley")
    ->setCity("Tatooine")
    ->setState("RJ")
    ->setZipCode("20001000")
    ->setCountry(\Gateway\One\DataContract\Enum\CountryEnum::BRAZIL);

    // Dados da transação de cartão de crédito
    $creditCardTransaction = new \Gateway\One\DataContract\Request\CreateSaleRequestData\CreditCardTransaction();
    $request->addCreditCardTransaction($creditCardTransaction);
    $creditCardTransaction
    ->setAmountInCents(10000)
    ->setInstallmentCount(1)
    ->setCreditCardOperation(\Gateway\One\DataContract\Enum\CreditCardOperationEnum::AUTH_ONLY)
    ->setTransactionDateInMerchant(new DateTime())
    ->setTransactionReference("NumeroDaTransacao")
    ->getCreditCard()
    ->setCreditCardBrand(\Gateway\One\DataContract\Enum\CreditCardBrandEnum::VISA)
    ->setCreditCardNumber("4111111111111111")
    ->setExpMonth(10)
    ->setExpYear(2022)
    ->setHolderName("LUKE SKYWALKER")
    ->setSecurityCode("123")
    ->getBillingAddress()
    ->setAddressType(\Gateway\One\DataContract\Enum\AddressTypeEnum::BILLING)
    ->setStreet("Mos Eisley Cantina")
    ->setNumber("123")
    ->setComplement("")
    ->setDistrict("Mos Eisley")
    ->setCity("Tatooine")
    ->setState("RJ")
    ->setZipCode("20001000")
    ->setCountry(\Gateway\One\DataContract\Enum\CountryEnum::BRAZIL);

    // Opções da transação de cartão de crédito
    $creditCardTransaction->getOptions()
    ->setCurrencyIso(\Gateway\One\DataContract\Enum\CurrencyIsoEnum::BRL)
    ->setPaymentMethodCode(\Gateway\One\DataContract\Enum\PaymentMethodEnum::SIMULATOR)
    ->setSoftDescriptorText("Jedi Mega Store");

    $request->getMerchant()
    ->setMerchantReference("IdDaLojaPlataforma");

    //Opções do pedido
    $request->getOptions()
    ->setAntiFraudServiceCode(0)
    ->setCurrencyIso(\Gateway\One\DataContract\Enum\CurrencyIsoEnum::BRL)
    ->enableAntiFraud()
    ->setRetries(1);

    //Dados do pedido
    $request->getOrder()
    ->setOrderReference("NumeroDoPedido");            

    //Dados da requisição
    $request->getRequestData()
    ->setEcommerceCategory("B2C")
    ->setIpAddress("127.0.0.1")
    ->setOrigin("SiteDeCompra")
    ->setSessionId("IdSessaoNoSite");

    //Dados do Carrinho de compras
    $shoppingCart = $request->addShoppingCart();
    $shoppingCart->setDeliveryDeadline(DateTime::createFromFormat("Y-m-d H:i:s", '2015-12-14 18:36:45'));
    $shoppingCart->setEstimatedDeliveryDate(DateTime::createFromFormat("Y-m-d H:i:s", '2015-12-14 18:36:45'));
    $shoppingCart->setFreightCostInCents(2000);
    $shoppingCart->setShippingCompany("Empire");
    $shoppingCart->getDeliveryAddress()
    ->setAddressType(\Gateway\One\DataContract\Enum\AddressTypeEnum::SHIPPING)
    ->setStreet("Death Star")
    ->setNumber("321")
    ->setComplement("Bridge")
    ->setDistrict("Command Room")
    ->setCity("Galaxy far far away")
    ->setState("RJ")
    ->setZipCode("10002000")
    ->setCountry(\Gateway\One\DataContract\Enum\CountryEnum::BRAZIL);

    //Adiciona um item ao carrinho
    $shoppingCart->addShoppingCartItem()
    ->setDescription("Red Lightsaber")
    ->setDiscountAmountInCents(0)
    ->setItemReference("NumeroDoProduto")
    ->setName("Lightsaber")
    ->setQuantity(1)
    ->setUnitCostInCents(18000)
    ->setTotalCostInCents(18000);

    // Cria um novo objeto ApiClient
    $client = new Gateway\ApiClient();

    // Faz a chamada de criação
    $response = $client->createSale($request);

}
catch (\Gateway\One\DataContract\Report\CreditCardError $error)
{
    $response = array("message" => $error->getMessage());
}
catch (\Gateway\One\DataContract\Report\ApiError $error)
{
    $response = array("message" => $error->errorCollection->ErrorItemCollection[0]->Description);
}
catch (\Exception $ex)
{
    $response = array("message" => "Ocorreu um erro inesperado.");
}
finally
{
    header('Content-Type: application/json');
    print json_encode($response->getData());
}
require 'mundipagg_sdk'

# variable with merchant key
merchantKey = '85328786-8BA6-420F-9948-5352F5A183EB'

# instantiate class with request methods
# :sandbox for sandbox ambient 
# :production for production ambient
gateway = Gateway::Gateway.new(:sandbox, merchantKey)

# creates boleto transaction object
boletoTransaction = Gateway::BoletoTransaction.new

# 100 reais in cents
boletoTransaction.AmountInCents = 10000
boletoTransaction.BankNumber = '237'
boletoTransaction.BillingAddress.City = 'Tatooine'
boletoTransaction.BillingAddress.Complement = ''
boletoTransaction.BillingAddress.Country = 'Brazil'
boletoTransaction.BillingAddress.District = 'Mos Eisley'
boletoTransaction.BillingAddress.Number = '123'
boletoTransaction.BillingAddress.State = 'RJ'
boletoTransaction.BillingAddress.Street = 'Mos Eisley Cantina'
boletoTransaction.BillingAddress.ZipCode = '20001000'
boletoTransaction.DocumentNumber = '12345678901'
boletoTransaction.Instructions = 'Pagar antes do vencimento'
boletoTransaction.Options.CurrencyIso = 'BRL'
boletoTransaction.Options.DaysToAddInBoletoExpirationDate = 5
boletoTransaction.TransactionReference = 'NumeroDaTransacao'


# create credit card transaction object
creditCardTransaction = Gateway::CreditCardTransaction.new

# 100 reais in cents 
creditCardTransaction.AmountInCents = 10000
creditCardTransaction.CreditCard.BillingAddress.City = 'Tatooine'
creditCardTransaction.CreditCard.BillingAddress.Complement = ''
creditCardTransaction.CreditCard.BillingAddress.Country = 'Brazil'
creditCardTransaction.CreditCard.BillingAddress.District = 'Mos Eisley'
creditCardTransaction.CreditCard.BillingAddress.Number = '123'
creditCardTransaction.CreditCard.BillingAddress.State = 'RJ'
creditCardTransaction.CreditCard.BillingAddress.Street = 'Mos Eisley Cantina'
creditCardTransaction.CreditCard.BillingAddress.ZipCode = '20001000'
creditCardTransaction.CreditCard.CreditCardBrand = 'Visa'
creditCardTransaction.CreditCard.CreditCardNumber = '4111111111111111'
creditCardTransaction.CreditCard.ExpMonth = 10
creditCardTransaction.CreditCard.ExpYear = 22
creditCardTransaction.CreditCard.HolderName = 'LUKE SKYWALKER'
creditCardTransaction.CreditCard.SecurityCode = '123'
creditCardTransaction.CreditCardOperation = 'AuthOnly'
creditCardTransaction.InstallmentCount = 1
creditCardTransaction.Options.CurrencyIso = 'BRL'
creditCardTransaction.Options.PaymentMethodCode = 1
creditCardTransaction.Options.SoftDescriptorText = 'Jedi Mega Store'

shoppingCartItem = Gateway::ShoppingCartItemCollection.new
shoppingCartItem.Description = 'Red Lightsaber'
shoppingCartItem.DiscountAmountInCents = 0
shoppingCartItem.ItemReference = 'NumeroDoProduto'
shoppingCartItem.Name = 'Lightsaber'
shoppingCartItem.Quantity = 1
shoppingCartItem.TotalCostInCents = 18000
shoppingCartItem.UnitCostInCents = 18000

shoppingCartCollection = Gateway::ShoppingCartCollection.new
shoppingCartCollection.DeliveryAddress.City = 'Galaxy far far away'
shoppingCartCollection.DeliveryAddress.Complement = 'Bridge'
shoppingCartCollection.DeliveryAddress.Country = 'Brazil'
shoppingCartCollection.DeliveryAddress.District = 'Command Room'
shoppingCartCollection.DeliveryAddress.Number = '321'
shoppingCartCollection.DeliveryAddress.State = 'RJ'
shoppingCartCollection.DeliveryAddress.Street = 'Death Star'
shoppingCartCollection.DeliveryAddress.ZipCode = '10002000'
shoppingCartCollection.DeliveryDeadline = DateTime.new(2015, 12, 14, 18, 36, 45).strftime("%Y-%m-%dT%H:%M:%S")
shoppingCartCollection.EstimatedDeliveryDate = DateTime.new(2015, 12, 14, 18, 36, 45).strftime("%Y-%m-%dT%H:%M:%S")
shoppingCartCollection.FreighCostInCents = 2000
shoppingCartCollection.ShippingCompany = 'Empire'
shoppingCartCollection.ShoppingCartItemCollection << shoppingCartItem

# creates request object for transaction creation
createSaleRequest = Gateway::CreateSaleRequest.new

# adds to the boleto transaction collection
createSaleRequest.BoletoTransactionCollection << boletoTransaction

buyerAddress = Gateway::BuyerAddress.new
buyerAddress.AddressType = 'Residential'
buyerAddress.City = 'Tatooine'
buyerAddress.Complement = ''
buyerAddress.Country = 'Brazil'
buyerAddress.District = 'Mos Eisley'
buyerAddress.Number = '123'
buyerAddress.State = 'RJ'
buyerAddress.Street = 'Mos Eisley Cantina'
buyerAddress.ZipCode = '20001000'

createSaleRequest.Buyer.AddressCollection << buyerAddress
createSaleRequest.Buyer.Birthdate = DateTime.new(1990,8,20,0,0,0).strftime("%Y-%m-%dT%H:%M:%S")
createSaleRequest.Buyer.BuyerCategory = 'Normal'
createSaleRequest.Buyer.BuyerReference = 'C3PO'
createSaleRequest.Buyer.CreateDateInMerchant = DateTime.new(2015,12,11,18,36,45).strftime("%Y-%m-%dT%H:%M:%S")
createSaleRequest.Buyer.DocumentNumber = '12345678901'
createSaleRequest.Buyer.DocumentType = 'CPF'
createSaleRequest.Buyer.Email = '[email protected]'
createSaleRequest.Buyer.EmailType = 'Personal'
createSaleRequest.Buyer.FacebookId = 'lukeskywalker8917'
createSaleRequest.Buyer.Gender = 'M'
createSaleRequest.Buyer.HomePhone = '(21)123456789'
createSaleRequest.Buyer.MobilePhone = '(21)987654321'
createSaleRequest.Buyer.Name = 'Luke Skywalker'
createSaleRequest.Buyer.PersonType = 'Person'
createSaleRequest.Buyer.TwitterId = '@lukeskywalker8917'
createSaleRequest.Buyer.WorkPhone = '(21)28467902'

# adds to the credit card transaction collection
createSaleRequest.CreditCardTransactionCollection << creditCardTransaction
createSaleRequest.Merchant.MerchantReference = 'IdDaLojaPlataforma'
createSaleRequest.Options.AntiFraudServiceCode = 0
createSaleRequest.Options.CurrencyIso = 'BRL'
createSaleRequest.Options.IsAntiFraudEnabled = true
createSaleRequest.Options.Retries = 1
createSaleRequest.Order.OrderReference = 'NumeroDoPedido'
createSaleRequest.RequestData.EcommerceCategory = 'B2C'
createSaleRequest.RequestData.IpAddress = '127.0.0.1'
createSaleRequest.RequestData.Origin = 'SiteDeCompra'
createSaleRequest.RequestData.SessionId = 'IdSesssaoNoSite'

# adds shopping cart collection in the request
createSaleRequest.ShoppingCartCollection << shoppingCartCollection

# make the request and returns a response hash
response = gateway.CreateSale(createSaleRequest)

# prints the response
puts response
# -*- coding: utf-8 -*-

from uuid import UUID
from data_contracts import creditcard, creditcard_transaction, creditcard_transaction_options, create_sale_request, order, buyer_address, buyer, billing_address,sale_options, delivery_address, shopping_cart_item, shopping_cart, boleto_transaction_options, boleto_transaction, merchant, request_data
from mundipaggOnePython import GatewayServiceClient
from enum_types import PlatformEnvironment, HttpContentTypeEnum
from datetime import datetime

# Cria o endereco do comprador
buyer_address_collection_data = [buyer_address(address_type = 'Residential', city = 'Tatooine', complement = '', country = 'Brazil', district = 'Mos Eisley', number = '123', state = 'RJ', street = 'Mos Eisley Cantina', zip_code = '20001000')]

#Cria o comprador
buyer_data = buyer(address_collection = buyer_address_collection_data, birth_date = '1990-08-20T00:00:00',buyer_category = 'Normal', buyer_reference = 'C3PO', create_date_in_merchant = datetime.now().strftime("%Y-%m-%dT%H:%M:%S"), document_number = '12345678901' , document_type = 'CPF', email = '[email protected]', email_type = 'Personal',facebook_id = 'lukeskywalker8917', gender = 'M', home_phone = '(21)123456789', mobile_phone = '(21)987654321', name = 'Luke Skywalker', person_type = 'Person', twitter_id = '@lukeskywalker8917', work_phone = '(21)28467902')

# Cria o endereco de cobranca
billing_address_data = billing_address(city = 'Tatooine', complement = '', country = 'Brazil', district = 'Mos Eisley', number = '123', state = 'RJ', street = 'Mos Eisley Cantina', zip_code = '20001000')

# Criando a transacao de cartao de credito.
##Coleta os dados do cartão.
creditcard_data = creditcard(billing_address= billing_address_data, creditcard_number='4111111111111111', creditcard_brand='Visa', exp_month=10, exp_year=22,
                             security_code='123', holder_name='LUKE SKYWALKER')

## Cria as opcoes do cartao de credito
creditcard_transaction_options_data = creditcard_transaction_options(payment_method_code = 1, soft_descriptor_text = 'Jedi Mega Store', currency_iso = 'BRL')

## Cria a transação de cartao de credito.
credit_card_transaction_collection_data = [creditcard_transaction(10000, creditcard_data, 'AuthOnly', installment_count = 1, options = creditcard_transaction_options_data, transaction_reference = 'NumeroDaTransacao')]

# Criando a transacao de boleto
boleto_options = boleto_transaction_options(currency_iso = 'BRL', days_to_add_in_boleto_expiration_date = 5)

boleto_transaction_collection_data = [ boleto_transaction(10000, bank_number = '237', document_number='12345678901', instructions='Pagar antes do vencimento', options = boleto_options,billing_address = billing_address_data )]

# Habilita o antiFraud
sale_options_data = sale_options(is_anti_fraud_enabled = True, anti_fraud_service_code = 0, retries = 1, currency_iso_field = 'BRL')

##Cria o numero do pedido
order_data = order(order_reference='NumeroDoPedido')

# Criando o carrinho de compra
## Cria o endereco de entrega para o carrinho de compras
delivery_address_data = delivery_address(city = 'Galaxy far far away', complement = 'Bridge', country = 'Brazil', district = 'Command Room', number = '321', state = 'RJ', street = 'Death Star', zip_code = '10002000')

## Cria a colecao de item do carrinho de compras 
shopping_cart_item_collection_data = [shopping_cart_item(description = 'Red Lightsaber', discount_amount_in_cents = 0, item_reference = 'NumeroDoProduto', name = 'Lightsaber', quantity = 1, total_cost_in_cents = 18000, unit_cost_in_cents = 18000)]

## Cria o carrinho de compra
shopping_cart_collection_data = [shopping_cart(delivery_address = delivery_address_data, delivery_deadline = datetime.now().strftime("%Y-%m-%dT%H:%M:%S"), estimated_delivery_date = datetime.now().strftime("%Y-%m-%dT%H:%M:%S"), freight_cost_in_cents = 2000,shipping_company = 'Empire',  shopping_cart_item_collection = shopping_cart_item_collection_data)]

# Cria o merchant
merchant_data = merchant(merchant_reference = 'IdDaLojaPlataforma')

# Cria os dados da requisição
request_data_data = request_data(ecommerce_category = 'B2C', ip_address = '127.0.0.1', origin = 'SiteDeCompra', session_id = 'IdSesssaoNoSite')

# Cria a requisicao
request = create_sale_request(creditcard_transaction_collection = credit_card_transaction_collection_data, boleto_transaction_collection = boleto_transaction_collection_data, order = order_data, buyer = buyer_data, shopping_cart_collection = shopping_cart_collection_data, options = sale_options_data, merchant = merchant_data, request_data = request_data_data)

# Coloque sua MerchantKey aqui.
merchant_key = UUID('85328786-8BA6-420F-9948-5352F5A183EB')
end_point = "https://sandbox.mundipaggone.com"
service_client = GatewayServiceClient(merchant_key, PlatformEnvironment.sandbox, HttpContentTypeEnum.json, end_point)

# envia a transação e recebe a resposta do gateway.
http_response = service_client.sale.create_with_request(request)

#Obtem a resposta em json.
json_response = http_response.json()
// Define loja
UUID merchantKey = UUID.fromString("85328786-8BA6-420F-9948-5352F5A183EB"); // Chave da Loja - MerchantKey

// Cria objeto do endereço
BillingAddress billingAddress= new BillingAddress();
billingAddress.setCity("Tatooine");
billingAddress.setComplement("");
billingAddress.setCountry(CountryEnum.Brazil);
billingAddress.setDistrict("Mos Eisley");
billingAddress.setNumber("123");
billingAddress.setState("RJ");
billingAddress.setStreet("Mos Eisley Cantina");
billingAddress.setZipCode("20001000");

// Cria um objeto de transação de boleto
BoletoTransaction boletoTransaction = new BoletoTransaction();
boletoTransaction.setAmountInCents(10000L);
boletoTransaction.setBankNumber("237");
boletoTransaction.setBillingAddress(billingAddress);
boletoTransaction.setDocumentNumber("12345678901");
boletoTransaction.setInstructions("Pagar antes do vencimento");
boletoTransaction.setTransactionReference("NumeroDaTransacao");

// Cria o objeto de options
BoletoTransactionOptions boletoTransactionOptions = new BoletoTransactionOptions();
boletoTransactionOptions.setCurrencyIso(CurrencyIsoEnum.BRL);
boletoTransactionOptions.setDaysToAddInBoletoExpirationDate(5);
boletoTransaction.setOptions(boletoTransactionOptions);

// Cria objeto de endereço do Buyer
BuyerAddress buyerAddress = new BuyerAddress();
buyerAddress.setAddressType(AddressTypeEnum.Residential);
buyerAddress.setCity("Tatooine");
buyerAddress.setComplement("");
buyerAddress.setCountry(CountryEnum.Brazil);
buyerAddress.setDistrict("Mos Eisley");
buyerAddress.setNumber("123");
buyerAddress.setState("RJ");
buyerAddress.setStreet("Mos Eisley Cantina");
buyerAddress.setZipCode("20001000");

// Cria coleção de endereços do buyer
ArrayList<BuyerAddress> buyerAddressCollection = new ArrayList<BuyerAddress>();
buyerAddressCollection.add(buyerAddress);

// Cria objeto do buyer
Buyer buyer = new Buyer();
buyer.setAddressCollection(buyerAddressCollection);
buyer.setBirthdate(Date.valueOf("1990-12-11"));
buyer.setBuyerCategory(BuyerCategoryEnum.Normal);
buyer.setBuyerReference("C3PO");
buyer.setCreateDateInMerchant(Date.valueOf("2015-12-11"));
buyer.setDocumentNumber("12345678901");
buyer.setDocumentType(DocumentTypeEnum.CPF);
buyer.setEmail("[email protected]");
buyer.setEmailType(EmailTypeEnum.Personal);
buyer.setFacebookId("lukeskywalker8917");
buyer.setGender(GenderEnum.M);
buyer.setHomePhone("(21)123456789");
buyer.setMobilePhone("(21)987654321");
buyer.setName("Luke Skywalker");
buyer.setPersonType(PersonTypeEnum.Person);
buyer.setTwitterId("@lukeskywalker8917");
buyer.setWorkPhone("(21)28467902");

// Cria um cartão de crédito e define endereço de cobrança
CreditCard creditCard = new CreditCard();
creditCard.setBillingAddress(billingAddress);
creditCard.setCreditCardBrand(CreditCardBrandEnum.Visa);
creditCard.setCreditCardNumber("4111111111111111");
creditCard.setExpMonth(10);
creditCard.setExpYear(22);
creditCard.setHolderName("LUKE SKYWALKER");
creditCard.setSecurityCode("123");

// Cria a transação de cartão de crédito e define cartão criado anteriormente
CreditCardTransaction creditCardTransaction = new CreditCardTransaction();
creditCardTransaction.setAmountInCents(10000L);
creditCardTransaction.setCreditCard(creditCard);
creditCardTransaction.setCreditCardOperation(CreditCardOperationEnum.AuthOnly);
creditCardTransaction.setInstallmentCount(1);
creditCardTransaction.setOptions(new CreditCardTransactionOptions());
creditCardTransaction.getOptions().setCurrencyIso(CurrencyIsoEnum.BRL);
creditCardTransaction.getOptions().setPaymentMethodCode(1);
creditCardTransaction.getOptions().setSoftDescriptorText("Jedi Mega Store");
creditCardTransaction.setTransactionReference("NumeroDaTransacao");

// Cria o objeto order para adicionar o Order Reference
Order order = new Order();
order.setOrderReference("NúmeroDoPedido");

// Cria item o shopping cart
ShoppingCartItem shoppingCartItem = new ShoppingCartItem();
shoppingCartItem.setDescription("Red Lightsaber");
shoppingCartItem.setDiscountAmountInCents(0L);
shoppingCartItem.setItemReference("NumeroDoProduto");
shoppingCartItem.setName("Lightsaber");
shoppingCartItem.setQuantity(1);
shoppingCartItem.setTotalCostInCents(18000);
shoppingCartItem.setUnitCostInCents(18000);

// Cria shopping cart
ShoppingCart shoppingCart = new ShoppingCart();
shoppingCart.setDeliveryAddress(new DeliveryAddress());
shoppingCart.getDeliveryAddress().setCity("Galaxy Far Far Away");
shoppingCart.getDeliveryAddress().setComplement("Bridge");
shoppingCart.getDeliveryAddress().setCountry(CountryEnum.Brazil);
shoppingCart.getDeliveryAddress().setDistrict("Command Room");
shoppingCart.getDeliveryAddress().setNumber("321");
shoppingCart.getDeliveryAddress().setState("RJ");
shoppingCart.getDeliveryAddress().setStreet("Death Star");
shoppingCart.getDeliveryAddress().setZipCode("10002000");
shoppingCart.setDeliveryDeadline(Date.valueOf("2015-12-14"));
shoppingCart.setEstimatedDeliveryDate(Date.valueOf("2015-12-14"));
shoppingCart.setFreightCostInCents(2000);
shoppingCart.setShippingCompany("Empire");
shoppingCart.setShoppingCartItemCollection(new ArrayList<>());
shoppingCart.getShoppingCartItemCollection().add(shoppingCartItem);

// Cria o Sale Request para enviar o objeto de request
CreateSaleRequest createSaleRequest = new CreateSaleRequest();
createSaleRequest.setCreditCardTransactionCollection(new ArrayList<>());
createSaleRequest.getCreditCardTransactionCollection().add(creditCardTransaction);
createSaleRequest.setBoletoTransactionCollection(new ArrayList<>());
createSaleRequest.getBoletoTransactionCollection().add(boletoTransaction);
createSaleRequest.setMerchant(new Merchant());
createSaleRequest.getMerchant().setMerchantReference("IdDaLojaPlataforma");
createSaleRequest.setOptions(new SaleOptions());
createSaleRequest.getOptions().setAntiFraudServiceCode(0);
createSaleRequest.getOptions().setCurrencyIso(CurrencyIsoEnum.BRL);
createSaleRequest.getOptions().setIsAntiFraudEnabled(Boolean.TRUE);
createSaleRequest.getOptions().setRetries(1);
createSaleRequest.setOrder(order);
createSaleRequest.setRequestData(new RequestData());
createSaleRequest.getRequestData().setEcommerceCategory(EcommerceCategoryEnum.B2C);
createSaleRequest.getRequestData().setIpAddress("127.0.0.1");
createSaleRequest.getRequestData().setOrigin("SiteDeCompra");
createSaleRequest.getRequestData().setSessionId("IdSessaoNoSite");
createSaleRequest.setShoppingCartCollection(new ArrayList<>());
createSaleRequest.getShoppingCartCollection().add(shoppingCart);

// Cria o cliente que vai enviar a transação
GatewayServiceClient serviceClient = new GatewayServiceClient(merchantKey, "https://sandbox.mundipaggone.com");

// Submete a transação e retorna a resposta do gateway
HttpResponseGenerics<CreateSaleResponse, CreateSaleRequest> httpResponse
        = serviceClient.getSale().Create(createSaleRequest);

return httpResponse.getRawResponse();
{
    "BoletoTransactionCollection": [
        {
            "AmountInCents": 10000,
            "BankNumber": "237",
            "BillingAddress": {
                "City": "Tatooine",
                "Complement": "",
                "Country": "Brazil",
                "District": "Mos Eisley",
                "Number": "123",
                "State": "RJ",
                "Street": "Mos Eisley Cantina",
                "ZipCode": "20001000"
            },
            "DocumentNumber": "12345678901",
            "Instructions": "Pagar antes do vencimento",
            "Options": {
                "CurrencyIso": "BRL",
                "DaysToAddInBoletoExpirationDate": 5
            },
            "TransactionReference": "NumeroDaTransacao"
        }
    ],
    "Buyer": {
        "AddressCollection": [
            {
                "AddressType": "Residential",
                "City": "Tatooine",
                "Complement": "",
                "Country": "Brazil",
                "District": "Mos Eisley",
                "Number": "123",
                "State": "RJ",
                "Street": "Mos Eisley Cantina",
                "ZipCode": "20001000"
            }
        ],
        "Birthdate": "1990-08-20T00:00:00",
        "BuyerCategory": "Normal",
        "BuyerReference": "C3PO",
        "CreateDateInMerchant": "2015-12-11T18:36:45",
        "DocumentNumber": "12345678901",
        "DocumentType": "CPF",
        "Email": "[email protected]",
        "EmailType": "Personal",
        "FacebookId": "lukeskywalker8917",
        "Gender": "M",
        "HomePhone": "(21)123456789",
        "MobilePhone": "(21)987654321",
        "Name": "Luke Skywalker",
        "PersonType": "Person",
        "TwitterId":"@lukeskywalker8917",
        "WorkPhone": "(21)28467902"
    },
    "CreditCardTransactionCollection": [
        {
            "AmountInCents": 10000,
            "CreditCard": {
                "BillingAddress": {
                    "City": "Tatooine",
                    "Complement": "",
                    "Country": "Brazil",
                    "District": "Mos Eisley",
                    "Number": "123",
                    "State": "RJ",
                    "Street": "Mos Eisley Cantina",
                    "ZipCode": "20001000"
                },
                "CreditCardBrand": "Visa",
                "CreditCardNumber": "4111111111111111",
                "ExpMonth": 10,
                "ExpYear": 22,
                "HolderName": "LUKE SKYWALKER",
                "SecurityCode": "123"
            },
            "CreditCardOperation": "AuthOnly",
            "InstallmentCount": 1,
            "Options": {
                "CurrencyIso": "BRL",
                "PaymentMethodCode": 1,
                "SoftDescriptorText": "Jedi Mega Store",
              	"IsRecurringTransaction": "false"
            },
            "TransactionReference": "NumeroDaTransacao"
        }
    ],
    "Merchant": {
        "MerchantReference": "IdDaLojaPlataforma"
    },
    "Options": {
        "AntiFraudServiceCode": 0,
        "CurrencyIso": "BRL",
        "IsAntiFraudEnabled": true,
        "Retries": 1
    },
    "Order": {
        "OrderReference": "NumeroDoPedido"
    },
    "RequestData": {
        "EcommerceCategory": "B2C",
        "IpAddress": "127.0.0.1",
        "Origin": "SiteDeCompra",
        "SessionId": "IdSesssaoNoSite"
    },
    "ShoppingCartCollection": [
        {
            "DeliveryAddress": {
                "City": "Galaxy far far away",
                "Complement": "Bridge",
                "Country": "Brazil",
                "District": "Command Room",
                "Number": "321",
                "State": "RJ",
                "Street": "Death Star",
                "ZipCode": "10002000"
            },
            "DeliveryDeadline": "2015-12-14T18:36:45",
            "EstimatedDeliveryDate": "2015-12-14T18:36:45",
            "FreightCostInCents": 2000,
            "ShippingCompany": "Empire",
            "ShoppingCartItemCollection": [
                {
                    "Description": "Red Lightsaber",
                    "DiscountAmountInCents": 0,
                    "ItemReference": "NumeroDoProduto",
                    "Name": "Lightsaber",
                    "Quantity": 1,
                    "TotalCostInCents": 18000,
                    "UnitCostInCents": 18000
                }
            ]
        }
    ]
}
Language