post https://sandbox.mundipaggone.com/Sale
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.