Enviando uma requisição de transação de cartão de crédito com InstantBuy

// Cria a transação.
var transaction = new CreditCardTransaction() {
    AmountInCents = 10000,
    CreditCard = new CreditCard() {
        // Chave do cartão (InstantBuyKey)
        InstantBuyKey = Guid.Parse("3b3b5b62-6660-428d-905e-96f49d46ae28")
    },
    InstallmentCount = 1
};

// Cria requisição.
var createSaleRequest = new CreateSaleRequest() {
    // Adiciona a transação na requisição.
    CreditCardTransactionCollection = new Collection<CreditCardTransaction>(new CreditCardTransaction[] { 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.CreditCardTransactionResultCollection != null) {
    Console.WriteLine("Status transação: {0}", httpResponse.Response.CreditCardTransactionResultCollection.FirstOrDefault().CreditCardTransactionStatus);
}
<?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 da loja
    \Gateway\ApiClient::setMerchantKey("85328786-8BA6-420F-9948-5352F5A183EB");

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

    // Define dados da transação
    $createSaleRequest->addCreditCardTransaction()
        ->setAmountInCents(10000)
        ->setInstallmentCount(1)
        ->getCreditCard()
        ->setInstantBuyKey("3b3b5b62-6660-428d-905e-96f49d46ae28")
        ;

    //Define dados do pedido
    $createSaleRequest->getOrder()
    ->setOrderReference('NumeroDoPedido');

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

    // Faz a chamada para criação
    $response = $apiClient->createSale($createSaleRequest);
    
}
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');
    var_dump($response);
}
?>
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)

# create credit card transaction object
creditCardTransaction = Gateway::CreditCardTransaction.new
creditCardTransaction.AmountInCents = 10000
creditCardTransaction.CreditCard.InstantBuyKey = '3b3b5b62-6660-428d-905e-96f49d46ae28'
creditCardTransaction.InstallmentCount = 1

# creates request object for transaction creation
createSaleRequest = Gateway::CreateSaleRequest.new
createSaleRequest.CreditCardTransactionCollection << creditCardTransaction
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 creditcard, creditcard_transaction, creditcard_transaction_options, create_sale_request, order, creditcard_instant_buy
from mundipaggOnePython import GatewayServiceClient
from enum_types import PlatformEnvironment, HttpContentTypeEnum

#Coleta os dados do cartão.
creditcard_data = creditcard_instant_buy(instant_buy_key = '3b3b5b62-6660-428d-905e-96f49d46ae28')

#Cria a transação.
transaction_collection = [creditcard_transaction(10000, creditcard_data)]

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

#Cria a request.
request = create_sale_request(creditcard_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(request)

json_response = http_response.json()

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

// Cria um cartão de crédito e define endereço de cobrança
CreditCard creditCard = new CreditCard();
creditCard.setInstantBuyKey(UUID.fromString("3b3b5b62-6660-428d-905e-96f49d46ae28"));

// 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.setInstallmentCount(1);

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

// Cria o Sale Request para enviar o objeto de request
CreateSaleRequest createSaleRequest = new CreateSaleRequest();
createSaleRequest.setCreditCardTransactionCollection(new ArrayList<>());
createSaleRequest.getCreditCardTransactionCollection().add(creditCardTransaction);
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);

return httpResponse.getRawResponse();
{
    "CreditCardTransactionCollection": [
        {
            "AmountInCents": 10000,
            "CreditCard": {
                "InstantBuyKey": "3b3b5b62-6660-428d-905e-96f49d46ae28"
            },
            "InstallmentCount": 1
        }
    ],
    "Order": {
        "OrderReference": "NumeroDoPedido"
    }
}

A transação com o Instant Buy é semelhante a uma transação normal, porém você não precisa enviar os dados do cartão. Basta substituí-los pela InstantBuyKey, como no exemplo acima!

🚧

SecurityCode

Muitas adquirentes pedem o envio do CVV em uma transação. Lembre-se a Mundi não guarda o SecurityCode, portanto é essencial que você ou desabilite a necessidade do CVV na adquirente ou nos envie com o InstantBuyKey na requisição.

Language