Muitos ecommerces também utilizam boletos como meio de pagamento para seus clientes.
Colocamos aqui um exemplo de como criar um boleto na nossa API! Lembrando que você precisa cadastrar sua agência e conta com a nossa área de relacionamento com clientes!

// Cria a transação.
var transaction = new BoletoTransaction() {
    AmountInCents = 10000,
    BankNumber = "237",
  	NossoNumero="06206847",
    Instructions = "Pagar antes do vencimento",
    Options = new BoletoTransactionOptions() {
        DaysToAddInBoletoExpirationDate = 5
    }
};

// Cria requisição.
var createSaleRequest = new CreateSaleRequest() {
    // Adiciona a transação na requisição.
    BoletoTransactionCollection = new Collection<BoletoTransaction>(new BoletoTransaction[] { transaction }),
    Order = new Order() {
        OrderReference = "NumeroDoPedido"
    }
};

// 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.BoletoTransactionResultCollection != null) {
    Console.WriteLine("Url do boleto: {0}", httpResponse.Response.BoletoTransactionResultCollection.FirstOrDefault().BoletoUrl);
}
<?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 a requisição
    $createSaleRequest = new \Gateway\One\DataContract\Request\CreateSaleRequest();

    // Cria objeto de transação de boleto
    $boletoTransaction = new \Gateway\One\DataContract\Request\CreateSaleRequestData\BoletoTransaction();
    $createSaleRequest->addBoletoTransaction($boletoTransaction);
    $boletoTransaction
    ->setAmountInCents(10000)
    //A SDK já referência o número do banco a partir de um ENUM
    ->setBankNumber(\Gateway\One\DataContract\Enum\BankEnum::BRADESCO)
    ->setInstructions("Pagar antes do vencimento")
    ->getOptions()
    ->setDaysToAddInBoletoExpirationDate(5);

    //Define dados do pedido
    $createSaleRequest->getOrder()
    ->setOrderReference('NumeroDoPedido');
    
    // Cria um objeto ApiClient
    $client = new Gateway\ApiClient();

    // Faz a chamada para a criação da transação
    $response = $client->createSale($createSaleRequest);

    // Mapeia resposta
    $httpStatusCode = $response->isSuccess() ? 201 : 401;
  
}
catch (\Gateway\One\DataContract\Report\ApiError $error)
{
    $httpStatusCode = 400;
    $response = array("message" => $error->getMessage());
}
catch (Exception $ex)
{
    $httpStatusCode = 500;
    $response = array("message" => "Ocorreu um erro inesperado.");
}
finally {
    // Devolve resposta
    http_response_code($httpStatusCode);
    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.Instructions = 'Pagar antes do vencimento'
boletoTransaction.Options.DaysToAddInBoletoExpirationDate = 5

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

# adds to the boleto transaction collection
createSaleRequest.BoletoTransactionCollection << boletoTransaction
createSaleRequest.Order.OrderReference = 'NumeroDoPedido'

# 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 create_sale_request, boleto_transaction_options, boleto_transaction, order
from mundipaggOnePython import GatewayServiceClient
from enum_types import PlatformEnvironment, HttpContentTypeEnum

# Define o tipo de moeda e a quantidade de dias para a expiracao do boleto
boleto_options = boleto_transaction_options('BRL', 5)

transaction_collection = [ boleto_transaction(10000, bank_number = '237', instructions='Pagar antes do vencimento', options = boleto_options)]

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

request = create_sale_request(boleto_transaction_collection=transaction_collection, order=options_request)

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)

http_response = service_client.sale.create_with_request(create_sale_request=request)

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

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

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

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

// Cria o Sale Request para enviar o objeto de request
CreateSaleRequest createSaleRequest = new CreateSaleRequest();
createSaleRequest.setBoletoTransactionCollection(new ArrayList<>());
createSaleRequest.getBoletoTransactionCollection().add(boletoTransaction);
createSaleRequest.setOrder(order);

// 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);
{
    "BoletoTransactionCollection": [
        {
            "AmountInCents": 10000,
            "BankNumber": "237",
          	"NossoNumero":"06206847",
            "Instructions": "Pagar antes do vencimento",
            "Options": {
                "DaysToAddInBoletoExpirationDate": 5
            },
            "TransactionReference": "BoletoComBuyerRemessa"
        }
    ],
    "Buyer": {
        "AddressCollection": [
            {
                "AddressType": "Residential",
                "City": "Tatooine",
                "Complement": "",
                "Country": "Brazil",
                "District": "Mos Eisley",
                "Number": "123",
                "State": "RJ",
                "Street": "Mos Eisley Cantina",
                "ZipCode": "20001000"
            }
        ],
        "DocumentNumber": "12345678901",
        "DocumentType": "CPF",
        "Name": "Luke Skywalker",
        "PersonType": "Person"
    },
    "Order": {
        "OrderReference": "BoletoComBuyerRemessa"
    }
}

Com os exemplos acima você já consegue enviar uma requisição de boleto para nosso ambiente de produção.

👍

Registro de Boleto

Na novas carteiras com registro, ao gerar um boleto, o envio desses dados é uma exigência do banco. Para saber mais sobre boletos registrados clique aqui.

👍

Conciliação de Boleto

Ao gerar um boleto na MundiPagg, o status de pago não será atualizado automaticamente. É necessário habilitar o serviço de conciliação de boletos junto ao banco. A nossa equipe de atendimento auxiliará em todo o processo basta entrar em contato.

Após a conciliação, você poderá receber três tipos de status de transação: Paid caso o seu boleto tenha sido pago, OverPaid para casos em que foi pago um valor superior ao do boleto, ou UnderPaid para casos em que foi pago um valor inferior ao do boleto.

🚧

Medidas de Segurança para Boletos

Fraudadores criaram mecanismos para alterar os dados em boletos online. Para evitar esse tipo de problema é possível emitir o boleto em imagem. Se você deseja utilizar essa função envie um e-mail para a nossa equipe de relacionamento.

📘

Boletos com antifraude

Caso sua loja tenha o antifraude ativo, ao serem criados os pedidos passarão pela validação dos mesmos campos que as transações de cartão, sendo obrigatório o envio dos campos do Buyer, ShoppingCart e BuyerAddress.

📘

Alteração de URL para boletos com registro via API (Registro Online)

O cliente que utilizar o serviço de registro de boletos online (via API) irá receber em seu response a URL do tipo:
https://boleto.mundipagg.com/boleto?fmt=html&id=65r04zoLfqsITrq-wZyMnvmaBPJDVOM24_VPLwbw3w431CzdJ_uJHpWeJ4NHC2_XfQVxVQ==

O cliente que utilizar o serviço de registro de boleto via VAN irá receber em seu response a URL do tipo:
https://transactionv2.mundipaggone.com/Boleto/ViewBoleto.aspx?5b85dda5-d1bb-4bcd-a5f3-0db4ced8d45e

Language