CheckoutSdk

Mundi Checkout PHP

Introdução

A SDK PHP Mundi Checkout é uma ferramenta disponibilizada para facilitar ainda mais a sua integração com a API Mundi Checkout. Ela permite a abstração da criação dos contratos de requisição para os recursos disponíveis na API Mundi Checkout, assim como de seu envio e do recebimento do contrato de resposta. Esta é a soluçao ideal se você deseja facilitar a integração de seu e-commerce com a API Mundi Checkout utilizando a linguagem PHP

Configurações Iniciais

A primeira coisa a ser feita para a utilização da SDK do Mundi Checkout é definir a chave da loja e o ambiente de integração desejados.

Detalhes dos atributos do objeto ApiClient

MerchantKey - Chave da loja (Tipo: Guid, Obrigatório: Sim, exceto para o recurso Checkout na Nuvem)

Environment - Ambiente de integração com a API Mundi Checkout. (Tipo: Enum, Valores: Development, Staging, Production)

Exemplo de configuração do ApiClient:

    \MundiPagg\ApiClient::
    setEnvironment(\MundiPagg\Checkout\DataContract\Enum\ApiEnvironmentEnum::STAGING);

    \MundiPagg\ApiClient::
    setMerchantKey("54409272-781D-4470-BFA3-C58A5A005B49");

É importante notar que o valor da chave de loja deve ser substituído pela chave de sua loja, informada no momento da afiliação.

Criação do Token

Para que uma requisição de criação de um token seja efetuada, deve-se preencher o objeto do contrato de requisição TokenRequest e em seguida chamar o método processCheckoutRequest, do ApiClient, passando este objeto de requisição como parâmetro. Este método enviará a requisição para a plataforma Mundi Checkout, retornando um objeto TokenResponse, contendo a resposta da requisição.

Exemplo de Criação do Token

// Define dados do pedido
$tokenRequest->getOrder()
    ->setOrderReference("210931f938129")
    ->setAmountInCents(1099)
    ->setIpAddress("127.127.127.127")
;

// Define opções do pedido
$tokenRequest->getOptions()
    ->disableAmountInCentsUpdate()
    ->enableCreditCardPayment()
    ->disableBoletoPayment()
    ->disableAntiFraud()
;

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

// Faz a chamada para criação do token
$tokenResponse = $apiClient->processCheckoutRequest($tokenRequest);

Checkout na Nuvem:

O recurso Checkout na Nuvem permite que um botão de pagamento para um pedido utilizando o Mundi Checkout seja enviado para um Email ou uma conta do Twitter, possibilitando que seu pagamento seja feito posteriormente. Para utilizar este recurso, você deve preencher um objeto do contrato de requisição SendPaymentRequest informando a chave de token do pedido a ser enviado e enviar esta requisição para a API do Mundi Checkout, através do método processSendPaymentRequest, do ApiClient.

Exemplo de envio do botão de pagamento.

//Cria o objeto do envio do botão de pagamento
$sendPaymentRequest = new \MundiPagg\Checkout\DataContract\Request\SendPaymentRequest();

// Define opções do envio do botão de pagamento
$sendPaymentRequest->getOptions()
    ->enableSendByEmail()
    ->disableSendByTwitter()
;

//Define a chave de token para o pedido a ser enviado (tokenKey deve ter sido criada anteriormente)
$sendPaymentRequest->setTokenKey($tokenKey);

//Define o Email:
$sendPaymentRequest->setEmail("[email protected]");

//Define a mensagem customizada
$sendPaymentRequest->setCustomEmailMessage("Teste - Checkout na Nuvem");

//Define o remetente:
$sendPaymentRequest->setSenderName("REMETENTE");

//Define o destinatário:
$sendPaymentRequest->setReceiverName("DESTINATARIO");

//Envia a solicitação
$sendPaymentResponse = $apiClient->processSendPaymentRequest($sendPaymentRequest);

Cancelamento:

Após a confirmação de um pedido, caso seja necessário efetuar o cancelamento de suas transações, uma requisição pode ser enviada para a API do Mundi Checkout, através do envio de uma requisição CancelRequest. Este objeto deve ser preenchido com a chave de token do pedido, e enviada através do método processCancelRequest, do ApiClient.

Exemplo de cancelamento das transações de um pedido.

//Cria o objeto do cancelamento
$cancelRequest = new \MundiPagg\Checkout\DataContract\Request\CancelRequest();

//Define a chave de token para o pedido a ser cancelado (tokenKey deve ter sido criada anteriormente)
$cancelRequest->setTokenKey($tokenKey);

//Solicita o cancelamento
$cancelResponse = $apiClient->processCancelRequest($cancelRequest);

Consulta

A qualquer momento após a criação do token, uma consulta para saber as informações do pedido e de suas transações pode ser feita na API Mundi Checkout, utilizando o recurso Query. Para isto, basta que um objeto QueryRequest seja criado, preenchendo ao menos um de seus atributos: QueryRequest.TokenKey, QueryRequest.OrderKey ou QueryRequest.OrderReference. Ao enviar uma solicitação para à API através do método processQueryRequest, um objeto QueryResponse será retornado, informando todas as informações desejadas.

Exemplo de consulta a um pedido.

//Cria o objeto do cancelamento
$queryRequest = new \MundiPagg\Checkout\DataContract\Request\QueryRequest();

//Obtem a chave do token da resposta
$tokenKey = "$tokenResponse->TokenKey";

//Define a chave de token para o pedido a ser cancelado
$queryRequest->setTokenKey($tokenKey);

//Solicita o cancelamento
$queryResponse = $apiClient->processQueryRequest($queryRequest);