{Developer's Center}

Seja bem vindo! Aqui você vai encontrar toda a documentação, SDKs e links referentes à MundiPagg, reunidos em um só lugar.

/* Mug.fill("coffee") */

Suggest Edits

Introdução

Bem vindo a API Reference da Mundipagg !

 


A API Mundipagg foi desenvolvida de acordo com os melhores padrões REST.

As operações são feitas por requisições aos endpoints, de acordo com os verbos HTTP, com corpos de mensagem em JSON. As respostas podem ser interpretadas através do código de status HTTP. Isso permite que quaisquer aplicações consumam a API de forma simples e clara, independente da linguagem utilizada.

Para facilitar ainda mais a integração, fornecemos SDKs em todas as principais linguagens de programação. Saiba mais sobre as nossas SDKs.

Também oferecemos uma chave de testes na API para que a integração seja feita com testes a vontade, sem se preocupar com cobranças reais nos cartões de crédito utilizados.

 
Suggest Edits

Segurança

Normas PCI Compliance

 


Para manter a segurança na troca de mensagens é necessário que nossos servidores sejam liberados no seu ambiente. Recomendamos fortemente que você libere o domínio: api.mundipagg.com. Caso não seja possível a liberação do domínio, segue abaixo a lista de IP's que devem ser liberados:

IPs

208.93.65.185
40.70.66.232
208.93.65.172
52.147.171.141

Além disso, por sermos uma empresa com certficado PCI Compliance precisamos manter a segurança na troca de informações com a nossa API. Seguem as configurações aceitas:

Protocolos aceitos

TLS 1.1
TLS 1.2 (A Mundipagg recomenda fortemente a utilização deste protocolo)

Hashs Codes

SHA256
SHA384
SHA512

Cipher Suites

Com criptografia igual ou superior a 128 bits.

 
Suggest Edits

Autenticação

Obtendo sua Chave de API

 


Antes de começar, você precisa obter suas chaves de API.
Para isso, siga os seguintes passos:
1 - Acesse este link e crie sua Loja e seu Usuário em nosso Dash,
2 - Após acessar o Dash, navegue até a área de Configurações e resgate suas chaves.

Clientes integrados na versão anterior da API

Caso você já seja cliente Mundipagg e esteja integrado na versão anterior da API, entre em contato com o nosso time de migração através do email migracao@mundipagg.com

Endpoints para teste e produção

As chamadas de testes e de produção devem ser feitas para o mesmo endpoint: https://api.mundipagg.com/core/v1.

O que definirá se a transação irá utilizar o nosso simulador ou se seguirá o fluxo de produção é o tipo da Chave de API enviada.

Tipos de Chave

Nós disponibilizaremos 02 chaves para que você possa realizar testes:

  • Exemplo de Chave Secreta de Sandbox: sk_test_tra6ezsW3BtPPXQa
  • Exemplo de Chave Pública de Sandbox: pk_test_gaa5xzfz7CfPPZAv

Após o fechamento do contrato o cliente receberá as chaves do ambiente de produção:

  • Exemplo de Chave Secreta de Produção: sk_fbt5cahT3BbHAXZy
  • Exemplo de Chave Pública de Produção: pk_ghc3waxT4BaCZXAb

Autorização Basic Auth

Para se autenticar conosco você deve enviar a Chave de API no cabeçalho Authorization, seguindo o padrão da HTTP Basic Authentication.

var fs = require('fs');
const request = require("request");
var body = JSON.parse(fs.readFileSync('body.json', 'utf8'));

var options = {                 
    method: 'POST',             
    uri: 'https://api.mundipagg.com/core/v1/orders',                    
    headers: {               
      'Authorization': 'Basic ' + new Buffer("sk_test_tra6ezsW3BtPPXQa:").toString('base64'),
      'Content-Type': 'application/json'              
    },
    json : body
};    

request(options, function(error, response, body) {  
    console.log(response.body);
});

Chave Pública de API (PK)

Essas chaves serão utilizadas para representar a sua loja na integração com o checkout transparente.

NÃO COMPARTILHE SUAS CHAVES DE API

A sua chave da API é SECRETA e não deve ser compartilhada com terceiros.

Autorização Bearer Token para Gerenciamento de Wallets

Para o gerenciamento de Wallets você deverá autenticar-se nos servidores da Mundipagg através de um Access Token, que é um token temporário que permitirá o gerenciamento de cartões, pedido, cobranças e muitos outros recursos, sem que dados sensíveis trafeguem em seus servidores. Saiba mais sobre Wallets.

Para se autenticar conosco através do Access Token você deve enviá-lo no cabeçalho Authorization, seguindo o padrão da HTTP Bearer Token.

var fs = require('fs');
const request = require("request");
var body = JSON.parse(fs.readFileSync('body_card.json', 'utf8'));

var access_token = '4wdOK29W6RvyYbgPv63VPMYopk4Jy752dqbQxmm3qOgKy8dbexRvXQaGDZE0AYws88s7z64lWJnM1P7Vk9jYL2No5wp89jg1leNnG0WwXZOKDaLER3MXq07jQLokJn5m'

var customer_id = 'cus_9El4qnTEKFKQoV7r'

console.log(body);

var options = {                 
    method: 'POST',             
    uri: 'https://api.mundipagg.com/core/v1//customers/'+customer_id+'/cards',                    
    headers: {               
      'Authorization': 'Bearer ' + access_token,
      'Content-Type': 'application/json'              
    },
    json : body
};    

  request(options, function(error, response, body) {  
    console.log(options.headers['Authorization']);
    console.log(response.body);
});

Saiba mais informações sobre como criar e utilizar o Access Token

 
Suggest Edits

Erros

HTTP Status Codes

 


A nossa API valida cada um dos campos enviados na requisição antes de prosseguir com a criação, consulta ou gerenciamento dos pedidos, transações e recursos.

Utilizamos os códigos de resposta convencionais do HTTP para indicar o sucesso ou a falha de uma requisição. Sendo assim, códigos 2xx indicam sucesso, 4xx indicam erros por algum dado informado incorretamente (por exemplo, algum campo obrigatório não enviado ou um cartão sem data de validade) e 5xx indicando erros nos servidores da Mundipagg.

Tabela dos HTTP Status Code:

Código
Status
Definição

200

OK

Sucesso

400

Bad Request

Requisição inválida

401

Unauthorized

Chave de API inválida

404

Not Found

O recurso solicitado não existe

412

Precondition Failed

Parâmetros válidos mas a requisição falhou

422

Unprocessable Entity

Parâmetros inválidos

500

Internal Server Error

Ocorreu um erro interno

{
  "message": "Customer not found."
}
{
  "message": "The request is invalid.",
  "errors": {
    "customer.name": [
      "The name field is required."
    ]
  },
  "request": {
    "name": null,
    "email": "tstark@avengers.com",
  }
}
 
Suggest Edits

Paginação

 


A API Mundipagg tem suporte a buscas em massa através dos métodos list. Deste modo, você pode listar compradores, assinaturas, pedidos e diversos outros objetos da Mundipagg. Todos esses métodos de listagem possuem uma estrutura em comum, que é a de paginação.

{
  "data": [...],
  "paging": {
    "total": 11,
    "previous": null,
    "next": "{url}?page=2&size=10"
  }
}
 
 


A maioria dos nossos objetos - como customer, card, address, subscription, plan, order, charge e invoice - possuem o parâmetro metadata, pelo qual você consegue armazenar dados chave-valor.

Metadados são interessantes para o armazenamento estruturado de dados complementares relacionados a algum objeto. Um exemplo seria adição do nome do pai de um cliente para ter essa informação em sua carteira de clientes.

{
  ...
  "metadata": {
    "meu_campo1": "valor1",
    "meu_campo2": "valor2"
  }
}
 
Suggest Edits

Telefones

O objeto phones possui os seguintes atributos:

 
Atributos
Tipo
Descrição

home_phone

object

Telefone residencial.

mobile_phone

object

Telefone móvel.

Tanto o home_phone quanto o mobile_phone são compostos pelos seguintes atributos:

Atributos
Tipo
Descrição

country_code

string

Código do País (Apenas numérico).

area_code

string

Código da área (Apenas numérico).

number

string

Número do telefone (Apenas numérico).

"phones": {
  "home_phone": {
    "country_code": "55",
    "number": "000000000",
    "area_code": "21"
  },
  "mobile_phone": {
    "country_code": "55",
    "number": "000000000",
    "area_code": "21"
  }
}
 
Suggest Edits

Entregas

O objeto shipping contém informações referentes à entrega do produto ao comprador, e possui os seguintes atributos:

 
Atributos
Tipo
Descrição

amount

integer

Valor da entrega.

description

string

Descrição da entrega.

recipient_name

string

Destinatário da entrega.

recipient_phone

string

Telefone do destinatário.

address

object

Endereço de entrega. Saiba mais sobre endereços.

max_delivery_date

string

Data de entrega máxima.

estimated_delivery_date

string

Data de entrega estimada.

type

string

Tipo de entrega.

"shipping" : {
    "amount": 100,
    "description": "Express Shipping",
    "recipient_name": "Tony Stark",
    "recipient_phone": "24586787867",
    "address": {
        "line_1": "10880, Malibu Point, Malibu Central",
        "zip_code": "90265",
        "city": "Malibu",
        "state": "CA",
        "country": "US"
    },
    "max_delivery_date": "2020-07-31",
  	"estimated_delivery_date": "2020-07-30",
    "type": "Express"
 }
 
Suggest Edits

Visão Geral sobre Wallet

A API Mundipagg fornece o recurso Wallet, que permite o armazenamento de cartões associados a um comprador, viabilizando a realização de compras com um clique, por exemplo. Saiba mais sobre Wallet vs. Carteira de Clientes.

 
 
 
Suggest Edits

Clientes

O objeto customer possibilita a criação e gerenciamento de uma Carteira de Clientes. Um customer possui os seguintes atributos:

 
Atributos
Tipo
Descrição

id

string

Código do cliente. Formato cus_XXXXXXXXXXXXXXXX.

name

string

Nome do cliente.

email

string

E-mail do cliente.

phones

object

Telefones do cliente. Saiba mais sobre telefones.

document

string

CPF ou CNPJ do cliente.

type

enum

Tipo de cliente. Valores possíveis: individual e company.

gender

string

Sexo do cliente. Valores possíveis: male ou female.

address

object

Endereço do cliente. Saiba mais sobre endereços.

fb_id

integer

Código do cliente no Facebook.

fb_access_token

string

Token de acesso do Facebook. Usado para fazer chamadas da GraphAPI e obter informações do usuário.

delinquent

boolean

Indica se o cliente está inadimplente.

code

string

Código de referência do cliente no sistema da loja.

created_at

datetime

Data de criação do cliente.

updated_at

datetime

Data de atualização do cliente.

birthdate

datetime

Data de nascimento do cliente.

metadata

object

Informações adicionais sobre o cliente. Saiba mais sobre metadata.

 
Suggest Edits

Criar cliente

Este recurso cria um objeto customer que representa um cliente.

 
posthttps://api.mundipagg.com/core/v1/customers

Body Params

name
string
required

Nome do cliente. Max: 64 caracteres.

email
string

E-mail do cliente. Max: 64 caracteres

code
string

Código de referência do cliente no sistema da loja. Max: 52 caracteres

document
string

CPF ou CNPJ do cliente. Max: 16 caracteres

type
string
required

Tipo de cliente. Valores possíveis: individual (pessoa física) ou company (pessoa jurídica).
Obrigatório, caso o document seja enviado.

gender
string

Sexo do cliente . Valores possíveis: male ou female

address
object

Endereço do cliente. Saiba mais sobre endereços

phones
object

Telefones do cliente. Saiba mais sobre o telefones

phones.home_phone
object

Telefone residencial do cliente

phones.mobile_phone
object

Telefone móvel do cliente

birthdate
date

Data de nascimento do cliente.

metadata
string

Objeto chave/valor utilizado para armazenar informações adicionais sobre o cliente. Saiba mais sobre metadata


O e-mail do cliente é único

É importante destacar que o campo e-mail é único, ou seja, caso seja requisitada a criação de um cliente com um e-mail já cadastrado, o endpoint irá atualizar os dados do customer anteriormente cadastrado com o email informado.

{
    "name": "Tony Stark",
    "email": "tonystarkk@avengers.com",
    "code": "MY_CUSTOMER_001",
    "document": "123456789",
    "type": "individual",
    "gender": "male",
    "address": {
    	"line_1": "375, Av. General Justo, Centro",
    	"line_2": "8º andar",
    	"zip_code": "20021130",
    	"city": "Rio de Janeiro",
    	"state": "RJ",
    	"country": "BR"
    },
    "birthdate": "05/03/1984",    
    "phones": {
      "home_phone": {
        "country_code": "55",
        "area_code": "21",
        "number": "000000000"
      },
      "mobile_phone": {
        "country_code": "55",
        "area_code": "21",
        "number": "000000000"
      }
    },
    "metadata": {
      "company": "Avengers"
    }
}
using MundiAPI.PCL;
using MundiAPI.PCL.Models;
using System.Collections.Generic;
using System.Web.Mvc;

namespace MundipaggTest.Controllers {

public class HomeController : Controller {

public ActionResult Index() {

    // Secret key fornecida pela Mundipagg
    string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";

    // Senha em branco. Passando apenas a secret key
    string basicAuthPassword = "";

    var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

    var metadata = new Dictionary<string, string>();
    metadata.Add("id", "my_customer_id");

    var address = new CreateAddressRequest {
        Line1 = "375, Av. General Justo, Centro",
        Line2 = "8º andar",
        ZipCode = "20021130",
        ZipCode = "20021130",
        City = "Rio de Janeiro",
        State = "RJ",
        Country = "BR"
    };

    var phones = new CreatePhonesRequest {
        HomePhone = new CreatePhoneRequest {

            AreaCode = "21",
            CountryCode = "55",
            Number = "000000000"
        },
        MobilePhone = new CreatePhoneRequest {

            AreaCode = "21",
            CountryCode = "55",
            Number = "000000000"
        },
    };

    var request = new CreateCustomerRequest {
        Name = "Tony Stark",
        Email = "tonystark@avengers.com",
        Type = "individual",
        Document = "93095135270",
        Gender = "male",
        Code = "MY_CUSTOMER_001"
        Phones = phones,
        Address = address,
        Metadata = metadata
    };

    var response = client.Customers.CreateCustomer(request);

    return View();
}
}
}
//This example was built using MundiAPI-PHP SDK.
//For more information, please refer to https://github.com/mundipagg/MundiAPI-PHP

$secretKey = 'sk_test_4tdVXpseumRmqbo'; //the secret key will be provided by MundiPagg.
$basicAuthPassword = ''; //fill it with an empty string

$apiClient = new \MundiAPILib\MundiAPIClient(
    $secretKey,
    $basicAuthPassword
);

$customerController = $apiClient->getCustomers();

$request = new \MundiAPILib\Models\CreateCustomerRequest();
$request->name = "sdk customer test";
$request->email = "tonystark@avengers.com";
$request->type = "individual";
$request->document = "55342561094";
$request->code = "MY_CUSTOMER_001";

$request->address = new \MundiAPILib\Models\CreateAddressRequest();
$request->address->line1 = "375, Av. General Justo, Centro";
$request->address->line2 = "8º andar";
$request->address->zipCode = "20021130";
$request->address->city = "Rio de Janeiro";
$request->address->state = "RJ";
$request->address->country = "BR";
$request->address->metadata = new \MundiAPILib\Models\UpdateMetadataRequest();
$request->address->metadata->id = "my_address_id";

$request->phones = new \MundiAPILib\Models\CreatePhonesRequest();
$request->phones->homePhone = new \MundiAPILib\Models\CreatePhoneRequest();
$request->phones->homePhone->areaCode = "21";
$request->phones->homePhone->countryCode = "55";
$request->phones->homePhone->number = "000000000";
$request->phones->mobilePhone = new \MundiAPILib\Models\CreatePhoneRequest();
$request->phones->mobilePhone->areaCode = "21";
$request->phones->mobilePhone->countryCode = "55";
$request->phones->mobilePhone->number = "000000000";

$result = $customerController->createCustomer($request);

echo json_encode($result, JSON_PRETTY_PRINT);
package examples.customer;

import com.mundipagg.api.MundiAPIClient;
import com.mundipagg.api.http.client.*;
import com.mundipagg.api.models.*;
import com.mundipagg.api.controllers.*;

import java.util.LinkedHashMap;

public class CreateCustomer {
	
	public static void main(String[] args) {

        String basicAuthUserName = "sk_test_4tdVXpseumRmqbo"; // The username to use with basic authentication
        String basicAuthPassword = ""; // The password to use with basic authentication

        MundiAPIClient client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

        CustomersController customers_controller = new CustomersController();

        CreateCustomerRequest request = new CreateCustomerRequest();
        request.setName("sdk customer test");
        request.setEmail("tonystark@avengers.com");
        request.setType("individual");
        request.setDocument("55342561094");
        request.setCode("MY_CUSTOMER_001");

        request.setAddress(new CreateAddressRequest());
        request.getAddress().setLine1("375, Av. General Justo, Centro");
        request.getAddress().setLine2("8º andar");
        request.getAddress().setZipCode("20021130");
        request.getAddress().setCity("Rio de Janeiro");
        request.getAddress().setState("RJ");
        request.getAddress().setCountry("BR");
        LinkedHashMap<String, String> metadata = new LinkedHashMap<String, String>();
        metadata.put("id","my_address_id");
        UpdateMetadataRequest updateMetadata = new UpdateMetadataRequest();
        updateMetadata.setMetadata(metadata);
        request.getAddress().setMetadata(updateMetadata.getMetadata());

        request.setPhones(new CreatePhonesRequest());
        request.getPhones().setHomePhone(new CreatePhoneRequest());
        request.getPhones().getHomePhone().setAreaCode("21");
        request.getPhones().getHomePhone().setCountryCode("55");
        request.getPhones().getHomePhone().setNumber("000000000");
        request.getPhones().setMobilePhone(new CreatePhoneRequest());
        request.getPhones().getMobilePhone().setAreaCode("21");
        request.getPhones().getMobilePhone().setCountryCode("55");
        request.getPhones().getMobilePhone().setNumber("000000000");

        customers_controller.createCustomerAsync(request, new APICallBack<GetCustomerResponse>() {
            @Override
            public void onSuccess(HttpContext context, GetCustomerResponse response) {

                System.out.println("Status response: " + context.getResponse().getStatusCode());
                System.out.println("Customer create !");
                System.out.println("Status response: " + context.getResponse().getStatusCode());
                System.out.println("Customer ID: " + response.getId());

            }

            @Override
            public void onFailure(HttpContext context, Throwable error) {

                System.out.println("Status response: " + context.getResponse().getStatusCode());
                System.out.println(error.getMessage());
                error.printStackTrace();

            }
        });
    }

}
from mundiapi.mundiapi_client import MundiapiClient
from mundiapi.models import *
from mundiapi.controllers import *
from mundiapi.exceptions.error_exception import *

MundiapiClient.config.basic_auth_user_name = "YOUR_SECRET_KEY:"
customers_controller = customers_controller.CustomersController()

request = create_customer_request.CreateCustomerRequest()
request.name = "sdk customer test"
request.email = "tonystark@avengers.com"

try:
    result = customers_controller.create_customer(request)
    assert result is not None
    print("Customer id: ", result.id)

except ErrorException as ex:
    print(ex.message)
    print("Errors: ", ex.errors)
except Exception as ex:
    raise ex
A binary file was returned

You couldn't be authenticated

{
    "id": "cus_QA5V47r9c0Im3dzN",
    "name": "Tony Stark",
    "email": "tonystarkk@avengers.com",
    "code": "MY_CUSTOMER_001",
    "document": "123456789",
    "type": "individual",
    "gender": "male",
    "delinquent": false,
    "address": {
        "id": "addr_KewjagEfrCbY1doZ",
        "line_1": "375, Av. General Justo, Centro",
        "line_2": "8º andar",
        "zip_code": "20021130",
        "city": "Rio de Janeiro",
        "state": "RJ",
        "country": "BR",
        "status": "active",
        "created_at": "2017-09-22T15:36:46Z",
        "updated_at": "2018-04-03T17:46:20Z"
    },
    "created_at": "2017-09-22T15:36:46Z",
    "updated_at": "2018-04-03T17:46:20Z",
    "birthdate": "1984-05-03T00:00:00Z",
    "phones": {
        "home_phone": {
            "country_code": "55",
            "number": "000000000",
            "area_code": "21"
        },
        "mobile_phone": {
            "country_code": "55",
            "number": "000000000",
            "area_code": "21"
        }
    },
    "metadata": {
        "id": "my_customer_id",
        "company": "Avengers"
    }
}
{
    "message": "The request is invalid.",
    "errors": {
        "customer.name": [
            "The name field is required."
        ]
    },
    "request": {
        "email": "tonystarkk@avengers.com",
        "code": "MY_CUSTOMER_001",
        "document": "123456789",
        "type": "individual",
        "address": {
            "line_1": "375, Av. General Justo, Centro",
            "line_2": "8º andar",
            "zip_code": "20021130",
            "city": "Rio de Janeiro",
            "state": "RJ",
            "country": "BR",
        },
        "birthdate": "1984-05-03T00:00:00Z",
        "phones": {
            "home_phone": {
                "country_code": "55",
                "number": "000000000",
                "area_code": "21"
            },
            "mobile_phone": {
                "country_code": "55",
                "number": "000000000",
                "area_code": "21"
            }
        },
        "gender": "male",
        "metadata": {
            "company": "Avengers"
        }
    }
}
 
Suggest Edits

Obter cliente

Através do identificador do cliente (customer_id) é possível recuperar seus dados.

 
gethttps://api.mundipagg.com/core/v1/customers/customer_id

Path Params

customer_id
string
required

Código do cliente. Formato cus_XXXXXXXXXXXXXXXX.


Access Token

Para a autenticação deste endpoint via access_token, deverá ser enviada a public_key da loja no parâmetro appId na query string. Saiba mais sobre Access Tokens.

using MundiAPI.PCL;
using System.Web.Mvc;

namespace MundipaggTest.Controllers {

    public class HomeController : Controller {

public ActionResult Index() {

    // Secret key fornecida pela Mundipagg
    string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";
    // Senha em branco. Passando apenas a secret key
    string basicAuthPassword = "";

    var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);
    string customerId = "cus_6l5dMWZ0hkHZ4XnE";

    var response = client.Customers.GetCustomer(customerId);

    return View();
}
}
}
//This example was built using MundiAPI-PHP SDK.
//For more information, please refer to https://github.com/mundipagg/MundiAPI-PHP

$secretKey = 'sk_test_4tdVXpseumRmqbo'; //the secret key will be provided by MundiPagg.
$basicAuthPassword = ''; //fill it with an empty string

$apiClient = new \MundiAPILib\MundiAPIClient(
    $secretKey,
    $basicAuthPassword
);

$customersController = $apiClient->getCustomers();

$customerId = "cus_6l5dMWZ0hkHZ4XnE";

$result = $customersController->getCustomer($customerId);

echo json_encode($result, JSON_PRETTY_PRINT);
package examples.customer;

import com.mundipagg.api.MundiAPIClient;
import com.mundipagg.api.controllers.CustomersController;
import com.mundipagg.api.http.client.APICallBack;
import com.mundipagg.api.http.client.HttpContext;
import com.mundipagg.api.models.GetCustomerResponse;

public class GetCustomerById {
	
	public static void main(String[] args) {

        String basicAuthUserName = "sk_test_4tdVXpseumRmqbo"; // The username to use with basic authentication
        String basicAuthPassword = ""; // The password to use with basic authentication

        MundiAPIClient client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

        String customerId = "cus_YL6zwglSxhg2X14g";

        CustomersController customers_controller = new CustomersController();

        customers_controller.getCustomerAsync(customerId, new APICallBack<GetCustomerResponse>() {
            @Override
            public void onSuccess(HttpContext context, GetCustomerResponse response) {

                System.out.println("Status response: " + context.getResponse().getStatusCode());
                System.out.println("Customer found!");
                System.out.println("Customer ID: " + response.getId());

            }

            @Override
            public void onFailure(HttpContext context, Throwable error) {

                System.out.println("Status response: " + context.getResponse().getStatusCode());
                System.out.println(error.getMessage());
                error.printStackTrace();

            }
        });
    }

}
from mundiapi.mundiapi_client import MundiapiClient
from mundiapi.models import *
from mundiapi.controllers import *
from mundiapi.exceptions.error_exception import *

MundiapiClient.config.basic_auth_user_name = "YOUR_SECRET_KEY:"
customers_controller = customers_controller.CustomersController()

request = create_customer_request.CreateCustomerRequest()
request.name = "sdk customer test"
request.email = "tonystark@avengers.com"

try:
    result = customers_controller.create_customer(request)
    myCustomer = customers_controller.get_customer(result.id)
    assert result is not None
    assert myCustomer is not None
    assert result.id == myCustomer.id
    print("Customer id: ", myCustomer.id)

except ErrorException as ex:
    print(ex.message)
    print("Errors: ", ex.errors)
except Exception as ex:
    raise ex
A binary file was returned

You couldn't be authenticated

{
    "id": "cus_6l5dMWZ0hkHZ4XnE",
    "name": "Wonderful Woman",
    "email": "wonderfulwoman@avengers.com",
  	"gender": "female",
    "delinquent": false,
    "address": {
        "id": "addr_ONzp3ZbTvfDJ35k9",
        "line_1": "375, Av. General Justo, Centro",
        "line_2": "8º andar",
        "zip_code": "20021130",
        "city": "Rio de Janeiro",
        "state": "RJ",
        "country": "BR",
        "status": "active",
        "created_at": "2017-08-22T19:50:44Z",
        "updated_at": "2017-08-22T19:50:44Z"
    },
    "created_at": "2017-08-22T19:50:44Z",
    "updated_at": "2017-08-22T19:50:51Z",
    "phones": {},
    "metadata": {
        "company": "Avengers"
    }
}
{
    "message": "Customer not found."
}
 
Suggest Edits

Editar cliente

Com o verbo HTTP PUT, através do identificador do cliente (customer_id) é possível atualizar informações referentes ao cliente.

 
puthttps://api.mundipagg.com/core/v1/customers/customer_id

Path Params

customer_id
string
required

Código do cliente. Formato cus_XXXXXXXXXXXXXXXX.

Body Params

name
string
required

Nome do cliente. Max: 64 caracteres.

email
string

E-mail do cliente. Max: 64 caracteres

phones
object

Telefones do cliente. Saiba mais sobre telefones

document
string

CPF ou CNPJ do cliente. Max: 16 caracteres

code
string

Código de referência do cliente no sistema da loja. Max: 52 caracteres

type
string

Tipo de cliente . Valores possíveis: individual (pessoa física) ou company (pessoa jurídica)
Obrigatório, caso o document seja enviado.

gender
string

Sexo do cliente . Valores possíveis: male ou female

address
object

Endereço do cliente. Saiba mais sobre endereços

birthdate
date

Data de nascimento do cliente.

metadata
object

Objeto chave/valor utilizado para armazenar informações adicionais sobre o cliente. Saiba mais sobre metadata

 
{
  "name": "Peter Parker",
  "email": "parker@avengers.com",
  "gender": "male"
}
using MundiAPI.PCL;
using MundiAPI.PCL.Models;
using System.Web.Mvc;

namespace MundipaggTest.Controllers {

public class HomeController : Controller {

    public ActionResult Index() {

    // Secret key fornecida pela Mundipagg
    string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";
    // Senha em branco. Passando apenas a secret key
    string basicAuthPassword = "";

    var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);
    string customerId = "cus_6l5dMWZ0hkHZ4XnE";

    var request = new UpdateCustomerRequest {
        Name = "Peter Parker",
        Email = "parker@avengers.com"
    };

    var response = client.Customers.UpdateCustomer(customerId, request);

    return View();
}
}
}
//This example was built using MundiAPI-PHP SDK.
//For more information, please refer to https://github.com/mundipagg/MundiAPI-PHP

$secretKey = 'sk_test_4tdVXpseumRmqbo'; //the secret key will be provided by MundiPagg.
$basicAuthPassword = ''; //fill it with an empty string

$apiClient = new \MundiAPILib\MundiAPIClient(
    $secretKey,
    $basicAuthPassword
);

$customerController = $apiClient->getCustomers();

$request = new \MundiAPILib\Models\UpdateCustomerRequest();
$request->name = "Peter Parker";
$request->email = "parker@avengers.com";

$customerId = "cus_6l5dMWZ0hkHZ4XnE";

$result = $customerController->updateCustomer($customerId, $request);

echo json_encode($result, JSON_PRETTY_PRINT);
package examples.customer;

import com.mundipagg.api.MundiAPIClient;
import com.mundipagg.api.controllers.CustomersController;
import com.mundipagg.api.http.client.APICallBack;
import com.mundipagg.api.http.client.HttpContext;
import com.mundipagg.api.models.GetCustomerResponse;
import com.mundipagg.api.models.UpdateCustomerRequest;

public class UpdateCustomer {
	
	public static void main(String[] args) {

        String basicAuthUserName = "sk_test_4tdVXpseumRmqbo"; // The username to use with basic authentication
        String basicAuthPassword = ""; // The password to use with basic authentication

        MundiAPIClient client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

        CustomersController customers_controller = new CustomersController();

        UpdateCustomerRequest request = new UpdateCustomerRequest();

        request.setName("Peter Parker");
        request.setEmail("parker@avangers.com");

        String customerId = "cus_YL6zwglSxhg2X14g";

        customers_controller.updateCustomerAsync(customerId, request, new APICallBack<GetCustomerResponse>() {
            @Override
            public void onSuccess(HttpContext context, GetCustomerResponse response) {

                System.out.println("Status response: " + context.getResponse().getStatusCode());
                System.out.println("Customer update!");
                System.out.println("Customer ID: " + response.getId());

            }

            @Override
            public void onFailure(HttpContext context, Throwable error) {

                System.out.println("Status response: " + context.getResponse().getStatusCode());
                System.out.println(error.getMessage());
                error.printStackTrace();

            }
        });
    }

}
from mundiapi.mundiapi_client import MundiapiClient
from mundiapi.models import *
from mundiapi.controllers import *
from mundiapi.exceptions.error_exception import *

MundiapiClient.config.basic_auth_user_name = "YOUR_SECRET_KEY:"
customers_controller = customers_controller.CustomersController()

createRequest = create_customer_request.CreateCustomerRequest()
createRequest.name = "sdk customer test"
createRequest.email = "tonystark@avengers.com"

updateRequest = update_customer_request.UpdateCustomerRequest()
updateRequest.name = "New Customer Name"

try:
    result = customers_controller.create_customer(createRequest)
    customers_controller.update_customer(result.id, updateRequest)
    updatedCustomer = customers_controller.get_customer(result.id)
    assert result is not None
    assert updatedCustomer is not None
    assert result.id == updatedCustomer.id
    assert createRequest.name != updatedCustomer.name
    assert updatedCustomer.name == updateRequest.name
    print("Customer id: ", updatedCustomer.id)
    print("Old name: ", createRequest.name)
    print("New name: ", updatedCustomer.name)

except ErrorException as ex:
    print(ex.message)
    print("Errors: ", ex.errors)
except Exception as ex:
    raise ex
A binary file was returned

You couldn't be authenticated

{
  "id": "cus_6l5dMWZ0hkHZ4XnE",
  "name": "Peter Parker",
  "email": "parker@avengers.com",
  "document": "26224451990",
  "gender": "male",
  "type": "individual",
  "delinquent": false,
  "created_at": "2017-05-02T23:26:49Z",
  "updated_at": "2017-05-02T23:28:16Z",
  "phones": {
    "home_phone": {
      "country_code": "55",
      "number": "0000002000",
      "area_code": "021"
    }
  },
  "metadata": {
    "id": "my_customer_id"
  }
}
{
    "message": "Customer not found."
}
{
    "message": "The request is invalid.",
    "errors": {
        "customer.name": [
            "The name field is required."
        ]
    },
    "request": {
        "email": "parker@avengers.com",
        "phones": {}
    }
}
 
Suggest Edits

Listar clientes

Este recurso permite a obtenção da carteira de clientes do lojista. Pode ser utilizados alguns parâmetros como filtro da listagem.

 
gethttps://api.mundipagg.com/core/v1/customers

Query Params

name
string

Nome do cliente.

document
string

CPF ou CNPJ do cliente. Max: 16 caracteres

email
string

E-mail do cliente

gender
string

Sexo do cliente . Valores possíveis: male ou female

page
int32

Página atual.

size
int32

Quantidade de itens por página.

code
string

Código do cliente no sistema do lojista


Paginação

Este recurso utiliza paginação para manipulação da listagem resultante. Saiba mais sobre paginação.

using MundiAPI.PCL;
using System.Web.Mvc;

namespace MundipaggTest.Controllers {

    public class HomeController : Controller {

    public ActionResult Index() {

    // Secret key fornecida pela Mundipagg
    string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";
    // Senha em branco. Passando apenas a secret key
    string basicAuthPassword = "";

    var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

    var response = client.Customers.GetCustomers();

    return View();
    }
}
}
A binary file was returned

You couldn't be authenticated

{
  "data": [
    {
      "id": "cus_n2Y17zAt67s2Oplg",
      "name": "Monitor",
      "gender": "male",
      "email": "9bfdfb6b-405f-489e-a4e0-b66101c86743@mundipagg.com",
      "delinquent": false,
      "created_at": "2017-04-19T17:43:10Z",
      "updated_at": "2017-04-19T17:43:10Z"
    },
    {
      "id": "cus_Z7DvZNpUZhYlvndR",
      "name": "Monitor",
      "gender": "female",
      "email": "c17b44be-85a8-4a1c-a9d1-5e0109cb4ece@mundipagg.com",
      "delinquent": false,
      "created_at": "2017-04-19T17:42:51Z",
      "updated_at": "2017-04-19T17:42:51Z"
    },
  "paging": {
    "total": 545797,
    "next": "https://api.mundipagg.com:4443/core/v1/customers?page=2&size=10"
  }
}
{
    "message": "Authorization has been denied for this request."
}
 
Suggest Edits

Cartões

O objeto card descreve um cartão (crédito, voucher ou private label) associado a um customer. Este recurso viabiliza a criação de uma Wallet, que representa todos os card associados a um customer. Saiba mais sobre Wallet.

 
Atributos
Tipo
Descrição

id

string

Código do cartão. Formato card_XXXXXXXXXXXXXXXX.

last_four_digits

string

Quatro últimos dígitos do cartão.

first_six_digits

string

Primeiros seis dígitos do cartão.

brand

string

Bandeira do cartão.
Para cartões de crédito, temos como valores possíveis : Elo, Mastercard, Visa, Amex, JCB, Aura, Hipercard, Diners ou Discover. Para voucher, temos como valores possíveis VR, Sodexo ou Alelo .

holder_name

string

Nome impresso no cartão.

holder_document

string

CPF ou CNPJ do portador do cartão.

exp_month

integer

Mês de vencimento do cartão.

exp_year

integer

Ano de vencimento do cartão. Formatos: yy ou yyyy.

status

enum

Status do cartão. Valores possíveis: active, deleted ou expired.

created_at

datetime

Data de criação do cartão.

update_at

datetime

Data de atualização do cartão.

deleted_at

datetime

Data de exclusão do cartão.

billing_address

object

Endereço de cobrança. Saiba mais sobre endereços.

customer

object

Dados do cliente. Saiba mais sobre clientes.

private_label

boolean

Indica se é um cartão private label.

type

string

Tipo do cartão. Valores possíveis: credit ou voucher.

metadata

object

Informações adicionais sobre o cartão. Saiba mais sobre metadata.

Autenticação para gerenciamento de Wallets

Além da autenticação via chave secreta de API (secret_key), os objetos card podem ser gerenciados utilizando-se a autenticação via access_token. Para conhecer essa forma de autenticação acesse nossa referência sobre Access Token.

 
Suggest Edits

Criar cartão

Este recurso cria um card associado ao customer através do customer_id informado.

 
posthttps://api.mundipagg.com/core/v1/customers/customer_id/cards

Path Params

customer_id
string
required

Código do cliente. Formato: cus_XXXXXXXXXXXXXXXX

Body Params

number
string
required

Número do cartão. Entre 13 e 19 caracteres

holder_name
string
required

Nome do portador como está impresso no cartão. Máximo de 64 caracteres (Caracteres especiais e números não são aceitos)

holder_document
string

CPF ou CNPJ do portador do cartão. Obrigatório caso o tipo do cartão seja voucher (bandeiras VR ou Sodexo).

exp_month
int32
required

Mês de validade do cartão. Valor entre 1 e 12 (inclusive)

exp_year
int32
required

Ano de validade do cartão. Formatos yy ou yyyy. Ex: 23 ou 2023.

cvv
string

Código de segurança do cartão. O campo aceita 4 ou 3 caracteres, variando por bandeira.

brand
string

Bandeira do cartão. Para cartões de crédito, temos como valores possíveis: Elo, Mastercard, Visa, Amex, JCB, Aura, Hipercard, Diners ou Discover. Para voucher, temos como valores possíveis: Alelo, VR ou Sodexo.

private_label
boolean

Indica se o cartão é um private label.

billing_address_id
string

Código do endereço de cobrança. Max: 36 caracteres.<>Opcional, pode ser utilizado no lugar do billing_address.

billing_address
object

Endereço de cobrança.

options
object

Objeto com opções para a criação do cartão. Um exemplo de opção que pode ser adicionada ao cartão é o verify_card : true, que informa que haverá uma validação do cartão antes da utilização (Zero Dollar Auth).

metadata
object

Objeto chave/valor utilizado para armazenar informações adicionais sobre o cartão. Saiba mais sobre metadata


CARTÃO JÁ CADASTRADO

Caso um cliente tente cadastrar um mesmo cartão mais de uma vez*, será retornado o mesmo card_id do cartão previamente cadastrado.

BRAND É OBRIGATÓRIO PARA PRIVATE LABEL

Caso o cartão seja private label (ou seja private_label = true), brand será um campo obrigatório.

{
    "number": "4000000000000010",
    "holder_name": "Tony Stark",
    "holder_document": "93095135270",
    "exp_month": 1,
    "exp_year": 20,
    "cvv": "351",
    "brand": "Mastercard",
    "private_label": false,
    "billing_address": {
        "line_1": "375, Av. General Osorio, Centro",
        "line_2": "7º Andar",
        "zip_code": "220000111",
        "city": "Rio de Janeiro",
        "state": "RJ",
        "country": "BR"
    },
    "options": {
        "verify_card": true
    }
}
using MundiAPI.PCL;
using MundiAPI.PCL.Models;
using System.Collections.Generic;
using System.Web.Mvc;

namespace MundipaggTest.Controllers {

public class HomeController : Controller {

public ActionResult Index() {

    // Secret key fornecida pela Mundipagg
    string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";

    // Senha em branco. Passando apenas a secret key
    string basicAuthPassword = "";

    var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

    string customerId = "cus_6l5dMWZ0hkHZ4XnE";
    var metadata = new Dictionary<string, string>();
    metadata.Add("company", "Avengers");

    var billingAddress = new CreateAddressRequest {
        Line1 = "375, Av. General Justo, Centro",
        Line2 = "7º andar",
        ZipCode = "22000111",
        City = "Rio de Janeiro",
        State = "RJ",
        Country = "BR"
    };

    var request = new CreateCardRequest {
        Number = "5425019448107793",
        HolderName = "Tony Stark",
        ExpMonth = 1,
        ExpYear = 20,
        Cvv = "351",
        Brand = "Mastercard",
        PrivateLabel = false,
        BillingAddress = billingAddress,
        Metadata = metadata,
    };

    var response = client.Customers.CreateCard(customerId, request);
    
    return View();
}
}
}
//This example was built using MundiAPI-PHP SDK.
//For more information, please refer to https://github.com/mundipagg/MundiAPI-PHP

$secretKey = 'sk_test_4tdVXpseumRmqbo'; //the secret key will be provided by MundiPagg.
$basicAuthPassword = ''; //fill it with an empty string

$apiClient = new \MundiAPILib\MundiAPIClient(
    $secretKey,
    $basicAuthPassword
);

$customerController = $apiClient->getCustomers();

$customer = new \MundiAPILib\Models\CreateCustomerRequest();
$customer->name = "sdk customer test";
$customer->email = "tonystark@avengers.com";

$request = new \MundiAPILib\Models\CreateCardRequest();

$request->number = "4000000000000010";
$request->holderName = "Tony Stark";
$request->holderDocument = "93095135270";
$request->expMonth = 1;
$request->expYear = 25;
$request->cvv = "351";
// Brand is Optional field and autodetected;
$request->brand = "Mastercard";
$request->privateLabel = false;
// Billing Address;
$request->billingAddress = new \MundiAPILib\Models\CreateAddressRequest();
$request->billingAddress->line1 = "375, Av. General Osorio, Centro";
$request->billingAddress->line2 = "7º Andar";
$request->billingAddress->zipCode = "220000111";
$request->billingAddress->city = "Rio de Janeiro";
$request->billingAddress->state = "RJ";
$request->billingAddress->country = "BR";
// Card Options: Verify OneDollarAuth;
$request->options = new \MundiAPILib\Models\CreateCardOptionsRequest();
$request->options->verifyCard = true;

$createdCustomer = $customerController->createCustomer($customer);
$result = $customerController->createCard($createdCustomer->id, $request);

echo json_encode($result, JSON_PRETTY_PRINT);
from mundiapi.mundiapi_client import MundiapiClient
from mundiapi.models import *
from mundiapi.controllers import *
from mundiapi.exceptions.error_exception import *

MundiapiClient.config.basic_auth_user_name = "YOUR_SECRET_KEY:"
customers_controller = customers_controller.CustomersController()

customer = create_customer_request.CreateCustomerRequest()
customer.name = "sdk customer test"
customer.email = "tonystark@avengers.com"

request = create_card_request.CreateCardRequest()

request.number = "4000000000000010"
request.holder_name = "Tony Stark"
request.holder_document = "93095135270"
request.exp_month = 1
request.exp_year = 20
request.cvv = "351"
request.brand = "Mastercard"
request.private_label = False
# Billing Address
request.billing_address = create_address_request.CreateAddressRequest()
request.billing_address.line_1 = "375 Av. General Osorio Centro"
request.billing_address.line_2 = "7º Andar"
request.billing_address.zip_code = "220000111"
request.billing_address.city = "Rio de Janeiro"
request.billing_address.state = "RJ"
request.billing_address.country = "BR"
# Card Options
request.options = create_card_options_request.CreateCardOptionsRequest()
request.options.verify_card = True

try:
    createdCustomer = customers_controller.create_customer(customer)
    result = customers_controller.create_card(createdCustomer.id, request)
    assert createdCustomer is not None
    assert result is not None
    print("Customer id: ", createdCustomer.id)
    print("Card id: ", result.id)

except ErrorException as ex:
    print(ex.message)
    print("Errors: ", ex.errors)
except Exception as ex:
    raise ex
A binary file was returned

You couldn't be authenticated

{
    "id": "card_8ELY0AwVF9HDa3jK",
    "first_six_digits": "542501",
    "last_four_digits": "7793",
    "brand": "Mastercard",
    "holder_name": "Tony Stark",
    "holder_document": "93095135270",
    "exp_month": 1,
    "exp_year": 2020,
    "status": "active",
    "created_at": "2017-07-07T19:50:33Z",
    "updated_at": "2017-07-07T19:50:33Z",
    "billing_address": {
        "zip_code": "220000111",
        "city": "Rio de Janeiro",
        "state": "RJ",
        "country": "BR",
        "line_1": "375, Av. General Osorio, Centro",
        "line_2": "7º Andar"
    },
    "customer": {
        "id": "cus_yoqONwOJI1IBNbjl",
        "name": "Tony Stark",
        "email": "0fee2dc5-e440-4dd1-9cd6-9c2bc90533d0@avengers.com",
        "document": "93095135270",
        "type": "individual",
        "delinquent": false,
        "created_at": "2017-07-07T19:50:23Z",
        "updated_at": "2017-07-07T19:50:23Z",
        "phones": {
            "home_phone": {
                "country_code": "55",
                "number": "000000000",
                "area_code": "21"
            },
            "mobile_phone": {
                "country_code": "55",
                "number": "000000000",
                "area_code": "21"
            }
        },
        "metadata": {
            "company": "Avengers"
        }
    },
    "type": "credit"
}
{
    "message": "Customer not found."
}
{
    "message": "The request is invalid.",
    "errors": {
        "card": [
            "The card expiration date is invalid."
        ]
    },
    "request": {
        "number": "5425019448107793",
        "last_four_digits": "7793",
        "brand": "Mastercard",
        "holder_name": "Tony Stark",
        "exp_month": 1,
        "cvv": "123",
    "billing_address": {
        "zip_code": "220000111",
        "city": "Rio de Janeiro",
        "state": "RJ",
        "country": "BR",
        "line_1": "375, Av. General Osorio, Centro",
        "line_2": "7º Andar"
    },
        "options": {
            "verify_card": true
        }
    }
}
 
Suggest Edits

Obter cartão

Possibilita a recuperação de um card através dos identificadores do cartão (card_id) e do cliente associado (customer_id), informados por parâmetro.

 
gethttps://api.mundipagg.com/core/v1/customers/customer_id/cards/card_id

Path Params

customer_id
string
required

Código do cliente. Formato: cus_XXXXXXXXXXXXXXXX.

card_id
string
required

Código do cartão. Formato: card_XXXXXXXXXXXXXXXX.

 
using MundiAPI.PCL;
using System.Web.Mvc;

namespace MundipaggTest.Controllers {

    public class HomeController : Controller {

    public ActionResult Index() {

    // Secret key fornecida pela Mundipagg
    string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";
    // Senha em branco. Passando apenas a secret key
    string basicAuthPassword = "";

    var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

    string customerId = "cus_6l5dMWZ0hkHZ4XnE";
    string cardId = "card_8ELY0AwVF9HDa3jK";

    var response = client.Customers.GetCard(customerId, cardId);

    return View();
    }
}
}
A binary file was returned

You couldn't be authenticated

{
    "id": "card_8ELY0AwVF9HDa3jK",
    "first_six_digits": "542501",
    "last_four_digits": "7793",
    "brand": "Mastercard",
    "holder_name": "Tony Stark",
    "exp_month": 1,
    "exp_year": 2018,
    "status": "active",
    "created_at": "2017-07-07T19:50:33Z",
    "updated_at": "2017-07-07T19:50:33Z",
    "billing_address": {
        "line_1": "10880, Malibu Point, Malibu Central",
        "zip_code": "90265",
        "city": "Malibu",
        "state": "CA",
        "country": "US",
    },
    "customer": {
        "id": "cus_yoqONwOJI1IBNbjl",
        "name": "Tony Stark",
        "email": "0fee2dc5-e440-4dd1-9cd6-9c2bc90533d0@avengers.com",
        "document": "93095135270",
        "type": "individual",
        "delinquent": false,
        "created_at": "2017-07-07T19:50:23Z",
        "updated_at": "2017-07-07T19:50:23Z",
        "phones": {
            "home_phone": {
                "country_code": "55",
                "number": "000000000",
                "area_code": "21"
            },
            "mobile_phone": {
                "country_code": "55",
                "number": "000000000",
                "area_code": "21"
            }
        },
        "metadata": {
            "company": "Avengers"
        }
    },
    "type": "credit"
}
{
    "message": "Card not found."
}
 
Suggest Edits

Editar cartão

Com o verbo HTTP PUT, através do identificador do cartão (card_id) e do identificador do cliente ao qual o mesmo está associado (customer_id) é possível alterar dados do cartão informado.

 
puthttps://api.mundipagg.com/core/v1/customers/customer_id/cards/credit_card_id

Path Params

customer_id
string
required

Código do Cliente. Formato: cus_XXXXXXXXXXXXXXXX.

card_id
string
required

Código do Cartão. Formato: card_XXXXXXXXXXXXXXXX.

Body Params

holder_name
string
required

Nome do portador como está impresso no cartão. Máximo de 64 caracteres.

holder_document
string

CPF ou CNPJ do portador do cartão. Máximo de 16 caracteres.

exp_month
int32
required

Mês de vencimento do cartão.

exp_year
int32
required

Ano de vencimento do cartão.

billing_address_id
string

Código do endereço de cobrança. Máximo de 36 caracteres

billing_address
object

Dados do endereço de cobrança.

metadata
object

Objeto chave/valor utilizado para armazenar informações adicionais sobre o cartão. Saiba mais sobre metadata.


Access Token

Para a autenticação deste endpoint via access_token, deverá ser enviada a public_key da loja no parâmetro appId na query string.

{
    "holder_name": "Peter Parker",
    "exp_month": 12,
    "exp_year": 2018,
    "billing_address": {
        "line_1": "375, Av. General Osorio, Centro",
        "line_2": "7º Andar",
        "zip_code": "220000111",
        "city": "Rio de Janeiro",
        "state": "RJ",
        "country": "BR"
    }
}
using MundiAPI.PCL;
using MundiAPI.PCL.Models;
using System.Web.Mvc;

namespace MundipaggTest.Controllers {

    public class HomeController : Controller {

    public ActionResult Index() {

    // Secret key fornecida pela Mundipagg
    string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";
    // Senha em branco. Passando apenas a secret key
    string basicAuthPassword = "";

    var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

    string customerId = "cus_6l5dMWZ0hkHZ4XnE";
    string cardId = "card_onv508NKF3uy98lx";

    var billingAddress = new CreateAddressRequest {
        Line1 = "375, Av. General Osorio, Centro",
        Line2 = "7º Andar"
        ZipCode = "220000111",
        City = "Rio de Janeiro",
        State = "RJ",
        Country = "BR"
    };

    var request = new UpdateCardRequest {
        HolderName = "Peter Parker",
        ExpMonth = 12,
        ExpYear = 18,
        BillingAddress = billingAddress
    };

    var response = client.Customers.UpdateCard(customerId,cardId, request);

    return View();
    }
}
A binary file was returned

You couldn't be authenticated

{
    "id": "card_oXpOkr1Sy3UQm7P9",
    "first_six_digits": "542501",
    "last_four_digits": "7793",
    "brand": "Mastercard",
    "holder_name": "Peter Parker",
    "exp_month": 12,
    "exp_year": 2018,
    "status": "active",
    "created_at": "2018-04-03T20:54:58Z",
    "updated_at": "2018-04-04T12:25:32Z",
    "billing_address": {
        "zip_code": "220000111",
        "city": "Rio de Janeiro",
        "state": "RJ",
        "country": "BR",
        "line_1": "375, Av. General Osorio, Centro",
        "line_2": "7º Andar"
    },
    "customer": {
        "id": "cus_lNXOjXVSLZC4rQom",
        "name": "Tony Stark",
        "email": "14a2f1a5-79a8-4b2b-a658-d4f931b0e02e@avengers.com",
        "document": "93095135270",
        "type": "individual",
        "delinquent": false,
        "created_at": "2018-04-03T20:11:48Z",
        "updated_at": "2018-04-03T20:11:48Z",
        "phones": {
            "home_phone": {
                "country_code": "55",
                "number": "000000000",
                "area_code": "21"
            },
            "mobile_phone": {
                "country_code": "55",
                "number": "000000000",
                "area_code": "21"
            }
        },
        "metadata": {
            "company": "Avengers"
        }
    },
    "type": "credit"
}
{
    "message": "Card not found."
}
{
    "message": "The request is invalid.",
    "errors": {
        "card.exp_date": [
            "The card expiration date is invalid."
        ]
    },
    "request": {
        "holder_name": "Peter Parker",
        "exp_month": 12,
        "billing_address": {
            "zip_code": "220000111",
            "city": "Rio de Janeiro",
            "state": "RJ",
            "country": "BR",
            "line_1": "375, Av. General Osorio, Centro",
            "line_2": "7º Andar",
            "globalType": true
        }
    }
}
 
Suggest Edits

Excluir cartão

Com o verbo HTTP DELETE, através do identificador do cartão (card_id) e do identificador do cliente (customer_id) ao qual o cartão está associado, é possível remover o cartão da Wallet do cliente.

 
deletehttps://api.mundipagg.com/core/v1/customers/customer_id/cards/card_id

Path Params

customer_id
string
required

Código do cliente. Formato: cus_XXXXXXXXXXXXXXXX.

card_id
string
required

Código do cartão. Formato: card_XXXXXXXXXXXXXXXX.

 
using MundiAPI.PCL;
using System.Web.Mvc;

namespace MundipaggTest.Controllers {

    public class HomeController : Controller {

    public ActionResult Index() {

    // Secret key fornecida pela Mundipagg
    string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";
    // Senha em branco. Passando apenas a secret key
    string basicAuthPassword = "";

    var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

    string customerId = "cus_9El4qnTEKFKQoV7r";
    string cardId = "card_OBojZD1IvGcPq8gl";

    var response = client.Customers.DeleteCard(customerId,cardId);

    return View();
    }
}
}
A binary file was returned

You couldn't be authenticated

{
    "id": "card_OBojZD1IvGcPq8gl",
    "first_six_digits": "542501",
    "last_four_digits": "7793",
    "brand": "Mastercard",
    "holder_name": "Tony Stark",
    "exp_month": 1,
    "exp_year": 2022,
    "status": "deleted",
    "created_at": "2018-04-04T12:43:16Z",
    "updated_at": "2018-04-04T12:43:30Z",
    "deleted_at": "2018-04-04T12:43:30Z",
    "billing_address": {
        "zip_code": "90265",
        "city": "Malibu",
        "state": "CA",
        "country": "US",
        "line_1": "10880, Malibu Point, Malibu Central"
    },
    "customer": {
        "id": "cus_9El4qnTEKFKQoV7r",
        "name": "Tony Stark",
        "email": "609671d7-7b1b-4b31-b3e0-1709cc8d9637@avengers.com",
        "document": "93095135270",
        "type": "individual",
        "delinquent": false,
        "created_at": "2018-04-04T12:05:08Z",
        "updated_at": "2018-04-04T12:05:08Z",
        "phones": {
            "home_phone": {
                "country_code": "55",
                "number": "000000000",
                "area_code": "21"
            },
            "mobile_phone": {
                "country_code": "55",
                "number": "000000000",
                "area_code": "21"
            }
        },
        "metadata": {
            "company": "Avengers"
        }
    },
    "type": "credit"
}
{
    "message": "Card not found."
}
 
Suggest Edits

Listar cartões

Este recurso permite a recuperação da Wallet contendo todos os cartões do cliente através do seu identificador (customer_id).

 
gethttps://api.mundipagg.com/core/v1/customers/customer_id/cards

Path Params

customer_id
string
required

Código do cliente. Formato: cus_XXXXXXXXXXXXXXXX.


Paginação

Este recurso utiliza paginação para manipulação da listagem resultante. Saiba mais sobre paginação.

using MundiAPI.PCL;
using System.Web.Mvc;

namespace MundipaggTest.Controllers {

    public class HomeController : Controller {

    public ActionResult Index() {

    // Secret key fornecida pela Mundipagg
    string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";
    // Senha em branco. Passando apenas a secret key
    string basicAuthPassword = "";

    var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

    string customerId = "cus_6l5dMWZ0hkHZ4XnE";

    var response = client.Customers.GetCards(customerId);

    return View();
    }
}
}
//This example was built using MundiAPI-PHP SDK.
//For more information, please refer to https://github.com/mundipagg/MundiAPI-PHP

$secretKey = 'sk_test_4tdVXpseumRmqbo'; //the secret key will be provided by MundiPagg.
$basicAuthPassword = ''; //fill it with an empty string

$apiClient = new \MundiAPILib\MundiAPIClient(
    $secretKey,
    $basicAuthPassword
);

$customerController = $apiClient->getCustomers();

$customerId = "cus_6l5dMWZ0hkHZ4XnE";

$result = $customerController->getCards($customerId, 1, 30);

echo json_encode($result, JSON_PRETTY_PRINT);
from mundiapi.mundiapi_client import MundiapiClient
from mundiapi.controllers import *
from mundiapi.exceptions.error_exception import *

MundiapiClient.config.basic_auth_user_name = "YOUR_SECRET_KEY:"
customers_controller = customers_controller.CustomersController()

customerId = "cus_G6gwy4xtJIOyNbrK"

try:
    result = customers_controller.get_cards(customerId, 1, 30)
    assert result is not None
    assert result.data is not None

    if(result.data and result.data[0]):
        print("Card[0] id: ", result.data[0].id)
        print("Cards quantity in my wallet: ", result.paging.total)
    else:
        print("My wallet is empty")


except ErrorException as ex:
    print(ex.message)
    print("Errors: ", ex.errors)
except Exception as ex:
    raise ex
A binary file was returned

You couldn't be authenticated

{
  "data": [
    {
      "id": "card_onv508NKF3uy98lx",
      "first_six_digits": "542501",
      "last_four_digits": "8229",
      "brand": "Amex",
      "holder_name": "Tony Stark",
      "exp_month": 1,
      "exp_year": 2018,
      "status": "active",
      "created_at": "2017-03-28T22:09:43Z",
      "updated_at": "2017-03-28T22:09:43Z",
      "billing_address": {
        "line_1": "10880, Malibu Point, Malibu Central",
        "zip_code": "90265",
        "city": "Malibu",
        "state": "CA",
        "country": "US",
      }
    }, 
    {
      "id": "card_k8HDT5sof8CS53KS",
      "first_six_digits": "411193",
      "last_four_digits": "6203",
      "brand": "Visa",
      "holder_name": "Tony Stark",
      "exp_month": 1,
      "exp_year": 2018,
      "status": "active",
      "created_at": "2017-03-29T22:09:43Z",
      "updated_at": "2017-03-29T22:09:43Z",
      "billing_address": {
        "line_1": "10880, Malibu Point, Malibu Central",
        "zip_code": "90265",
        "city": "Malibu",
        "state": "CA",
        "country": "US",
      }
    }
  ],
  "paging": {
    "total": 2
  }
}
{
    "message": "Customer not found."
}
 
Suggest Edits

Criar Token Cartao

 
posthttps://api.mundipagg.com/core/v1/tokens?appId=public_key

Query Params

appId
string
required

Chave publica da conta.

Body Params

type
string
required

Tipo do cartao

card
object

Informações do cartão. Saiba mais sobre cartão

 
{
  "type": "card",
  "card": {
    "number": "4011185771285580",
    "holder_name": "Tony Stark",
    "exp_month": 1,
    "exp_year": 20,
    "cvv": "651"    
  }
}
using System.Diagnostics;
using Microsoft.AspNetCore.Mvc;
using Example.Models;
using MundiAPI.PCL;
using MundiAPI.PCL.Models;

namespace Example.Controllers
{
    public class HomeController : Controller
    {
        [HttpPost, ValidateAntiForgeryToken]
        public IActionResult Index(FormModel model){
          
          string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";
          string basicAuthPassword = "";
          
          var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);
          
          var tokenrequest = new CreateTokenRequest
          {
              Card = new CreateCardTokenRequest
              {
                 Number = $"{model.CardNumber}",
                 HolderName = $"{model.HolderName}",
                 ExpMonth = {model.ExpMonth},
                 ExpYear = {model.ExpYear},
                 Cvv = $"{model.Cvv}"
              }
          };
          
          var request = client.Tokens.CreateToken("Public Key", tokenrequest);
          
          return View();
        }
    ...
    }
 ...
}
A binary file was returned

You couldn't be authenticated

{
    "id": "token_zVw7rqvHEPH8XlbE",
    "type": "card",
    "created_at": "2018-06-18T18:48:58Z",
    "expires_at": "2018-06-18T18:49:58Z",
    "card": {
        "last_four_digits": "5580",
        "holder_name": "Tony Stark",
        "exp_month": 1,
        "exp_year": 20,
        "brand": "Visa"
    }
}
 
Suggest Edits

Endereços

O objeto address representam endereços associados aos customers. Um address possui os seguintes atributos:

 
Atributo
Tipo
Descrição

id

string

Código do endereço. Formato: addr_XXXXXXXXXXXXXXXX

line_1

string

Dados principais do endereço. Neste campo deve ser informado Número, Rua, Bairro, nesta ordem e separados por vírgula.

line_2

string

Dados complementares do endereço. Neste campo pode ser informado complemento, referências.

zip_code

integer

Código Postal (CEP).

city

string

Cidade.

state

string

Estado.

country

string

País.

status

enum

Status do endereço. Valores possíveis: active ou deleted

created_at

datetime

Data de criação do endereço.

updated_at

datetime

Data de atualização do endereço.

deleted_at

datetime

Data de exclusão do endereço.

customer

object

Dados do cliente. Saiba mais sobre clientes.

metadata

object

Informações adicionais sobre o endereço. Saiba mais sobre metadata.

FORMATAÇÃO DO ENDEREÇO

O atributo line_1 deverá seguir o formato: Número, Rua, Bairro - nesta ordem e separados por vírgula, em virtude do antifraude ou boleto com registro.

O atributo line_2 poderá conter informações complementares do endereço, tais como andar, apto, sala, etc.

"line_1" : "375, Av. General Justo, Centro",
"line_2" : "7º andar, sala 01"

Atributos Descontinuados

O objeto address possui ainda os atributos: street, number, complement e neighborhood porém os mesmo serão descontinuados em breve, portanto, não é recomendado o uso destes campos.

 
Suggest Edits

Criar endereço

Para a criação de um address é necessário informar o customer_id do cliente ao qual será associado o endereço.

 
posthttps://api.mundipagg.com/core/v1/customers/customer_id/addresses

Path Params

customer_id
string
required

Código do cliente. Formato: cus_XXXXXXXXXXXXXXXX

Body Params

line_1
string
required

Linha 1 do endereço. (Número, Rua, e Bairro - Nesta ordem e separados por vírgula) Max: 256 caracteres.

line_2
string

Linha 2 do endereço. (Complemento - Andar, Sala, Apto). Max: 128 caracteres.

zip_code
string
required

CEP. Max: 16 caracteres.

city
string
required

Cidade. Max: 64 caracteres.

state
string
required

Código do estado no formato ISO 3166-2. Saiba mais sobre ISO 3166-2

country
string
required

Código do país no formato ISO 3166-1 alpha-2. Saiba mais sobre ISO 3166-1 alpha-2

metadata
object

Objeto chave/valor utilizado para armazenar informações adicionais sobre o endereço. Saiba mais sobre metadata

 
{
  "line_1": "375, Av. General Justo, Centro",
  "line_2": "8º andar",
  "zip_code": "20021130",
  "city": "Rio de Janeiro",
  "state": "RJ",
  "country": "BR",
  "metadata": {
    "id": "my_address_id"
  }
}
using MundiAPI.PCL;
using MundiAPI.PCL.Models;
using System.Collections.Generic;
using System.Web.Mvc;

namespace MundipaggTest.Controllers {

    public class HomeController : Controller {

    public ActionResult Index() {

    // Secret key fornecida pela Mundipagg
    string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";
    // Senha em branco. Passando apenas a secret key
    string basicAuthPassword = "";

    var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

    string customerId = "cus_6l5dMWZ0hkHZ4XnE";

    var metadata = new Dictionary<string, string>();
    metadata.Add("id", "my_address_id");

    var request = new CreateAddressRequest {
        City = "Rio de Janeiro",
        Country = "BR",
        ZipCode = "20021130",
        State = "RJ",
        Line1 = "375, Av. General Justo, Centro",
        Line2 = "8º andar",
        Metadata = metadata
    };

    var response = client.Customers.CreateAddress(customerId,request);

    return View();
    }
}
}
//This example was built using MundiAPI-PHP SDK.
//For more information, please refer to https://github.com/mundipagg/MundiAPI-PHP

$secretKey = 'sk_test_4tdVXpseumRmqbo'; //the secret key will be provided by MundiPagg.
$basicAuthPassword = ''; //fill it with an empty string

$apiClient = new \MundiAPILib\MundiAPIClient(
    $secretKey,
    $basicAuthPassword
);

$customerController = $apiClient->getCustomers();

$customerId = "cus_6l5dMWZ0hkHZ4XnE";

$request = new \MundiAPILib\Models\CreateAddressRequest();

$request = new \MundiAPILib\Models\CreateAddressRequest();
$request->line1 = "375, Av. General Justo, Centro";
$request->line2 = "8º andar";
$request->zipCode = "20021130";
$request->city = "Rio de Janeiro";
$request->state = "RJ";
$request->country = "BR";
$request->metadata = new \MundiAPILib\Models\UpdateMetadataRequest();
$request->metadata->id = "my_address_id";

$result = $customerController->createAddress($customerId, $request);

echo json_encode($result, JSON_PRETTY_PRINT);
from mundiapi.mundiapi_client import MundiapiClient
from mundiapi.models import *
from mundiapi.controllers import *
from mundiapi.exceptions.error_exception import *

MundiapiClient.config.basic_auth_user_name = "YOUR_SECRET_KEY:"
customers_controller = customers_controller.CustomersController()

customerId = "cus_PzRyp10FeNca2rVB"

request = create_address_request.CreateAddressRequest()

request.line_1 = "375, Av. General Justo, Centro"
request.line_2  = "8º andar"
request.zip_code = "20021130"
request.city = "Rio de Janeiro"
request.state = "RJ"
request.country = "BR"
request.metadata = update_metadata_request.UpdateMetadataRequest()
request.metadata.id = "my_address_id"

try:
    result = customers_controller.create_address(customerId, request)
    assert result is not None
    print("Address id: ", result.id)

except ErrorException as ex:
    print(ex.message)
    print("Errors: ", ex.errors)
except Exception as ex:
    raise ex
A binary file was returned

You couldn't be authenticated

{
  "id": "addr_Pn5x69LCWhrANX2o",
  "line_1": "375, Av. General Justo, Centro",
  "line_2": "8º andar",
  "zip_code": "20021130",
  "city": "Rio de Janeiro",
  "state": "RJ",
  "country": "BR",
  "status": "active",
  "created_at": "2017-04-19T17:49:36Z",
  "updated_at": "2017-04-19T17:49:36Z",
  "customer": {
    "id": "cus_aEkwKv0SmNHMR931",
    "name": "Luke Skywalker",
    "email": "lskywalker@r2d2.com",
    "document": "26224451990",
    "type": "individual",
    "delinquent": false,
    "created_at": "2017-04-04T19:41:31Z",
    "updated_at": "2017-04-19T17:44:47Z",
    "metadata": {
      "id": "my_customer_id"
    }
  },
  "metadata": {
    "id": "my_address_id"
  }
}
{
    "message": "Customer not found."
}
{
    "message": "The request is invalid.",
    "errors": {
        "address.line_1": [
            "The line_1 field is required."
        ]
    },
    "request": {
        "zip_code": "90265",
        "city": "Teresópolis",
        "state": "RJ",
        "country": "BR",
        "line_2": "sala 23",
        "globalType": true
    }
}
 
Suggest Edits

Obter endereço

Através dos identificadores do cliente (customer_id) e do endereço (address_id) é possível obter o endereço do cliente.

 
gethttps://api.mundipagg.com/core/v1/customers/customer_id/addresses/address_id

Path Params

customer_id
string
required

Código do cliente. Formato: cus_XXXXXXXXXXXXXXXX.

address_id
string
required

Código do endereço. Formato: addr_XXXXXXXXXXXXXXXX.

 
using MundiAPI.PCL;
using System.Collections.Generic;
using System.Web.Mvc;

namespace MundipaggTest.Controllers {

    public class HomeController : Controller {

    public ActionResult Index() {

    // Secret key fornecida pela Mundipagg
    string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";
    // Senha em branco. Passando apenas a secret key
    string basicAuthPassword = "";

    var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

    string customerId = "cus_6l5dMWZ0hkHZ4XnE";
    string addressId = "addr_Pn5x69LCWhrANX2o";

    var response = client.Customers.GetAddress(customerId, addressId);

    return View();
    }
}
}
A binary file was returned

You couldn't be authenticated

{
  "id": "addr_Pn5x69LCWhrANX2o",
  "line_1": "375, Av. General Justo, Centro",
  "line_2": "10º andar",
  "zip_code": "20021130",
  "city": "Rio de Janeiro",
  "state": "RJ",
  "country": "BR",
  "status": "deleted",
  "created_at": "2017-04-19T17:49:36Z",
  "updated_at": "2017-04-19T17:50:18Z",
  "deleted_at": "2017-04-19T17:50:34Z",
  "customer": {
    "id": "cus_aEkwKv0SmNHMR931",
    "name": "Luke Skywalker",
    "email": "lskywalker@r2d2.com",
    "document": "26224451990",
    "type": "individual",
    "delinquent": false,
    "created_at": "2017-04-04T19:41:31Z",
    "updated_at": "2017-04-19T17:44:47Z",
    "metadata": {
      "id": "my_customer_id"
    }
  },
  "metadata": {
    "id": "work"
  }
}
{
    "message": "Address not found."
}
 
Suggest Edits

Editar endereço

Com o verbo HTTP PUT, através dos identificadores do cliente (customer_id) e do endereço (address_id) é possível atualizar informações complementares do endereço.

 
puthttps://api.mundipagg.com/core/v1/customers/customer_id/addresses/address_id

Path Params

customer_id
string
required

Código do cliente. Formato: cus_XXXXXXXXXXXXXXXX.

address_id
string
required

Código do endereço. Formato: addr_XXXXXXXXXXXXXXXX.

Body Params

line_2
string

Linha 2 do endereço. (Complemento - Andar, Sala, Apto). Max: 128 caracteres.

metadata
object

Objeto chave/valor utilizado para armazenar informações adicionais sobre o endereço. Saiba mais sobre metadata

 
{
  "line_2": "10º andar",
  "metadata": {
    "id": "work"
  }
}
using MundiAPI.PCL;
using System.Collections.Generic;
using System.Web.Mvc;
using MundiAPI.PCL.Models;

namespace MundipaggTest.Controllers {

    public class HomeController : Controller {

    public ActionResult Index() {

    // Secret key fornecida pela Mundipagg
    string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";
    // Senha em branco. Passando apenas a secret key
    string basicAuthPassword = "";

    var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

    string customerId = "cus_6l5dMWZ0hkHZ4XnE";

    var metadata = new Dictionary<string, string>();
    metadata.Add("id", "work");

    string addressId = "addr_Pn5x69LCWhrANX2o";
    var request = new UpdateAddressRequest {
        Line2 = "10º andar",
        Metadata = metadata
    };

    var response = client.Customers.UpdateAddress(customerId, addressId, request);

    return View();
    }
}
}
A binary file was returned

You couldn't be authenticated

{
  "id": "addr_Pn5x69LCWhrANX2o",
  "line_1": "375, Av. General Justo, Centro",
  "line_2": "10º andar",
  "zip_code": "20021130",
  "city": "Rio de Janeiro",
  "state": "RJ",
  "country": "BR",
  "status": "active",
  "created_at": "2017-04-19T17:49:36Z",
  "updated_at": "2017-04-19T17:50:18Z",
  "customer": {
    "id": "cus_aEkwKv0SmNHMR931",
    "name": "Luke Skywalker",
    "email": "lskywalker@r2d2.com",
    "document": "26224451990",
    "type": "individual",
    "delinquent": false,
    "created_at": "2017-04-04T19:41:31Z",
    "updated_at": "2017-04-19T17:44:47Z",
    "metadata": {
      "id": "my_customer_id"
    }
  },
  "metadata": {
    "id": "work"
  }
}
{
    "message": "Address not found."
}
 
Suggest Edits

Listar endereços

Este recurso permite a recuperação dos endereços de um determinado cliente através do seu identificador(customer_id). Pode ser utilizados alguns parâmetros como filtro da listagem.

 
gethttps://api.mundipagg.com/core/v1/customers/customer_id/addresses

Path Params

customer_id
string
required

Código do cliente. Formato: cus_XXXXXXXXXXXXXXXX.

Query Params

page
int32

Página atual.

size
int32

Quantidade de itens.


Paginação

Este recurso utiliza paginação para manipulação da listagem resultante. Saiba mais sobre paginação.

using MundiAPI.PCL;
using System.Web.Mvc;

namespace MundipaggTest.Controllers {

    public class HomeController : Controller {

    public ActionResult Index() {

    // Secret key fornecida pela Mundipagg
    string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";
    // Senha em branco. Passando apenas a secret key
    string basicAuthPassword = "";

    var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

    string customerId = "cus_6l5dMWZ0hkHZ4XnE";

    var response = client.Customers.GetAddresses(customerId);

    return View();
    }
}
}
A binary file was returned

You couldn't be authenticated

{
  "data": [
    {
      "id": "addr_84BkRGZBtWiYJ9ox",
      "line_1": "10882, Malibu Point, Central Malibu",
      "zip_code": "90265",
      "city": "Malibu",
      "state": "CA",
      "country": "US",
      "status": "active",
      "created_at": "2017-04-19T17:49:05Z",
      "updated_at": "2017-04-19T17:49:05Z"
    },
    {
      "id": "addr_yQAlePAumWuBa3qJ",
      "line_1": "375, Av. General Justo, Centro",
      "line_2": "9º andar",
      "zip_code": "20021130",
      "city": "Rio de Janeiro",
      "state": "RJ",
      "country": "BR",
      "status": "active",
      "created_at": "2017-04-04T19:41:31Z",
      "updated_at": "2017-04-04T19:41:31Z"
    }
  ],
  "paging": {
    "total": 2
  }
}
{
    "message": "Customer not found."
}
 
Suggest Edits

Excluir endereço

Com o verbo HTTP DELETE, através do identificador do endereço(address_id) e do identificador do cliente (customer_id) ao qual o endereço está associado, é possível remover o endereço da Wallet do cliente.

 
deletehttps://api.mundipagg.com/core/v1/customers/customer_id/addresses/address_id

Path Params

customer_id
string
required

Código do cliente. Formato: cus_XXXXXXXXXXXXXXXX.

address_id
string
required

Código do endereço. Formato: addr_XXXXXXXXXXXXXXXX.

 
using MundiAPI.PCL;
using System.Web.Mvc;

namespace MundipaggTest.Controllers {

    public class HomeController : Controller {

    public ActionResult Index() {

    // Secret key fornecida pela Mundipagg
    string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";
    // Senha em branco. Passando apenas a secret key
    string basicAuthPassword = "";

    var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

    string customerId = "cus_9El4qnTEKFKQoV7r";
    string addressId = "addr_GEjbAjaUK9h1PRLa";

    var response = client.Customers.DeleteAddress(customerId,addressId);

    return View();
    }
}
}
A binary file was returned

You couldn't be authenticated

{
    "id": "addr_GEjbAjaUK9h1PRLa",
    "line_1": "10882, Malibu Point, Central Malibu",
    "street": "Malibu Point",
    "number": "10882",
    "zip_code": "90265",
    "neighborhood": "Central Malibu",
    "city": "Malibu",
    "state": "CA",
    "country": "US",
    "status": "deleted",
    "created_at": "2018-12-14T18:57:18Z",
    "updated_at": "2018-12-14T18:58:36Z",
    "deleted_at": "2018-12-14T18:58:36Z",
    "customer": {
        "id": "cus_lMyKPqXiRhR8w9Dr",
        "name": "Tony Stark",
        "email": "17cdffc1-d919-4530-9427-c82ba5b5c77f@avengers.com",
        "document": "93095135270",
        "type": "individual",
        "delinquent": false,
        "created_at": "2018-12-14T17:55:36Z",
        "updated_at": "2018-12-14T17:55:36Z",
        "phones": {
            "home_phone": {
                "country_code": "55",
                "number": "000000000",
                "area_code": "21"
            },
            "mobile_phone": {
                "country_code": "55",
                "number": "000000000",
                "area_code": "21"
            }
        },
        "metadata": {
            "company": "Avengers"
        }
    }
}
{
    "message": "Card not found."
}
 
Suggest Edits

BIN

Os seis primeiros dígitos de um número de cartão (incluindo o dígito MII inicial) são conhecidos como o número de identificação do emissor (IIN) ou número de identificação do banco (BIN). Estes números identificam a instituição que emitiu o cartão ao titular do cartão. O restante do número é alocado pelo emissor. O objeto bin contém os seguintes atributos:

 
Atributos
Tipo
Descrição

brand

string

Bandeira do Cartão.

gaps

integer

Array de intervalos dos espaçamentos do número do cartão.

lenghts

integer

Array de número de dígitos possíveis para o cartão com o BIN informado.

mask

string

Expressão regular para mascarar o cartão.

cvv

integer

Número de dígitos do código de segurança do cartão.

brandImage

string

Link para imagem da bandeira.

possibleBrands

string

Possíveis bandeiras para o cartão com o BIN informado.

 
Suggest Edits

Obter informações do BIN

 
gethttps://api.mundipagg.com/bin/v1/bin

Path Params

bin
string
required

Bank Identifier Number.

 
curl --request GET --url 'https://api.mundipagg.com/bin/v1/525663'
A binary file was returned

You couldn't be authenticated

{
  "brand": "mastercard",
  "brandName": "Mastercard",
  "gaps": [
    4,
    8,
    12
  ],
  "lenghts": [
    16
  ],
  "mask": "/(\\d{1,4})/g",
  "input": "/(?:^|s)(d{4})$/",
  "cvv": 3
}
 
Suggest Edits

Access Token

O objeto access_token é um token temporário que pode ser utilizado para autenticação nos servidores da Mundipagg. Com ele é possível gerenciar os cartões da Wallet do cliente sem trafegar os dados do cartão em seus servidores. Saiba mais sobre Access Token acessando nossa documentação. Este objeto possui os seguintes atributos:

 
Atributos
Tipo
Descrição

id

string

Código do Access Token. Formato: at_XXXXXXXXXXXXXXXX

code

string

Access Token.

status

enum

Status do Access Token. Valores possíveis: active ou deleted.

created_at

datetime

Data de criação do Access Token.

customer

object

Dados do cliente. Saiba mais sobre clientes

expires_in

integer

Tempo, em minutos, para expiração do token.

deleted_at

datetime

Data de exclusão do Access Token.

Autenticação via ACCESS TOKEN

Para utilizar os métodos de gerenciamento de recursos via access_token devemos alterar a chave Authorization do cabeçalho da requisição, passando a ter como valor Bearer {{access_token}}. Além disso, a appId (public_key) da loja deve ser passada na URL.

 
Suggest Edits

Criar Access Token

Este recurso permite a criação de um access_token associado a um cliente através de seu customer_id.

 
posthttps://api.mundipagg.com/core/v1/customers/customer_id/access-tokens

Path Params

customer_id
string
required

Código do cliente. Formato: cus_XXXXXXXXXXXXXXXX.

Body Params

expires_in
int32

Tempo, em minutos, para a expiração do token.

 
{
  "expires_in": 30
}
using MundiAPI.PCL;
using MundiAPI.PCL.Models;
using System.Web.Mvc;

namespace MundipaggTest.Controllers {

    public class HomeController : Controller {

    public ActionResult Index() 

    // Secret key fornecida pela Mundipagg
    string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";
    // Senha em branco. Passando apenas a secret key
    string basicAuthPassword = "";

    var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

    string customerId = "cus_6l5dMWZ0hkHZ4XnE";

    var request = new CreateAccessTokenRequest {
        ExpiresIn = 1
    };

    var response = client.Customers.CreateAccessToken(customerId, request);

    return View();
    }
}
}
A binary file was returned

You couldn't be authenticated

{
  "id": "at_Z6AwO09CKvcZQXln",
  "code": "nZOkKvy3jz89D2RjnRZv2LWVzByqGQl1gDxmN9v8OxegKAJam72YGq0bDVMXQZkhBOfvmwrjklW3Ro4ZnEPN6By5LzQ1bEO9k750a3YKrA8o6JMPe46aBlorYE1eJx4Q",
  "status": "active",
  "created_at": "2017-04-19T22:30:26Z",
  "customer": {
    "id": "cus_6l5dMWZ0hkHZ4XnE",
    "name": "Tony Stark",
    "email": "e9619c78-6e00-42ba-abea-3adf95a77d0a@avengers.com",
    "delinquent": false,
    "created_at": "2017-04-19T22:30:18Z",
    "updated_at": "2017-04-19T22:30:18Z"
  }
}
{
    "message": "Customer not found."
}
 
Suggest Edits

Obter Access Token

Através dos identificadores do access token (access_token_id) e de seu cliente associado (customer_id) é possível obter os dados do token gerado.

 
gethttps://api.mundipagg.com/core/v1/customers/customer_id/access-tokens/access_token_id

Path Params

customer_id
string
required

Código do cliente. Formato: cus_XXXXXXXXXXXXXXXX.

access_token_id
string
required

Código do Access Token. Formato: at_XXXXXXXXXXXXXXXX.

 
using MundiAPI.PCL;
using System.Web.Mvc;

namespace MundipaggTest.Controllers {

    public class HomeController : Controller {

    public ActionResult Index() {

    // Secret key fornecida pela Mundipagg
    string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";
    // Senha em branco. Passando apenas a secret key
    string basicAuthPassword = "";

    var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

    string customerId = "cus_6l5dMWZ0hkHZ4XnE";
    string accessTokenId = "at_Z6AwO09CKvcZQXln";

    var response = client.Customers.GetAccessToken(customerId, accessTokenId);

    return View();
    }
}
}
A binary file was returned

You couldn't be authenticated

{
  "id": "at_Z6AwO09CKvcZQXln",
  "code": "nZOkKvy3jz89D2RjnRZv2LWVzByqGQl1gDxmN9v8OxegKAJam72YGq0bDVMXQZkhBOfvmwrjklW3Ro4ZnEPN6By5LzQ1bEO9k750a3YKrA8o6JMPe46aBlorYE1eJx4Q",
  "status": "active",
  "created_at": "2017-04-19T22:30:26Z",
  "customer": {
    "id": "cus_4ZA9GDKu89TRgX1D",
    "name": "Tony Stark",
    "email": "e9619c78-6e00-42ba-abea-3adf95a77d0a@avengers.com",
    "delinquent": false,
    "created_at": "2017-04-19T22:30:18Z",
    "updated_at": "2017-04-19T22:30:18Z"
  }
}
{
    "message": "AccessToken not found."
}
 
Suggest Edits

Excluir Access Token

Com o verbo HTTP DELETE, através dos identificadores do access token (access_token_id) e de seu cliente associado (customer_id) é possível excluir um token anteriormente gerado.

 
deletehttps://api.mundipagg.com/core/v1/customers/customer_id/access-tokens/access_token_id

Path Params

customer_id
string
required

Código do cliente. Formato: cus_XXXXXXXXXXXXXXXX.

access_token_id
string
required

Código do Access Token. Formato: at_XXXXXXXXXXXXXXXX.

 
using MundiAPI.PCL;
using System.Web.Mvc;

namespace MundipaggTest.Controllers {

    public class HomeController : Controller {

    public ActionResult Index() {

    // Secret key fornecida pela Mundipagg
    string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";
    // Senha em branco. Passando apenas a secret key
    string basicAuthPassword = "";

    var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

    string customerId = "cus_6l5dMWZ0hkHZ4XnE";
    string accessTokenId = "at_Z6AwO09CKvcZQXln";

    var response = client.Customers.DeleteAccessToken(customerId, accessTokenId);

    return View();
    }
}
}
A binary file was returned

You couldn't be authenticated

{
  "id": "at_Z6AwO09CKvcZQXln",
  "code": "nZOkKvy3jz89D2RjnRZv2LWVzByqGQl1gDxmN9v8OxegKAJam72YGq0bDVMXQZkhBOfvmwrjklW3Ro4ZnEPN6By5LzQ1bEO9k750a3YKrA8o6JMPe46aBlorYE1eJx4Q",
  "status": "deleted",
  "created_at": "2017-04-19T22:30:26Z",
  "deleted_at": "2017-04-19T22:37:51Z",
  "customer": {
    "id": "cus_4ZA9GDKu89TRgX1D",
    "name": "Tony Stark",
    "email": "e9619c78-6e00-42ba-abea-3adf95a77d0a@avengers.com",
    "delinquent": false,
    "created_at": "2017-04-19T22:30:18Z",
    "updated_at": "2017-04-19T22:30:18Z"
  }
}
{
    "message": "AccessToken not found."
}
 
Suggest Edits

Listar Access Tokens

Este recurso permite a recuperação dos access tokens de um determinado cliente através do seu identificador (customer_id).

 
gethttps://api.mundipagg.com/core/v1/customers/customer_id/access-tokens

Path Params

customer_id
string
required

Código do cliente. Formato: cus_XXXXXXXXXXXXXXXX.


Paginação

Este recurso utiliza paginação para manipulação da listagem resultante. Saiba mais sobre paginação.

using MundiAPI.PCL;
using System.Web.Mvc;

namespace MundipaggTest.Controllers {

    public class HomeController : Controller {

    public ActionResult Index() {

    // Secret key fornecida pela Mundipagg
    string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";
    // Senha em branco. Passando apenas a secret key
    string basicAuthPassword = "";

    var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

    string customerId = "cus_6l5dMWZ0hkHZ4XnE";

    var response = client.Customers.GetAccessTokens(customerId);

    return View();
    }
}
}
A binary file was returned

You couldn't be authenticated

{
    "data": [
        {
            "id": "at_jqbgvqSpwHEb1eOE",
            "code": "2wJA4K6nyW0MEVzVMxd4Yyzb0LEeAqXN13WpJgA2QvGVd8M5aw6zm3oyqONR6WEtMQTVP0X9ek1W7rEJZbBDpLK4nYxOvQo5a8gZG96Brk2nwD7mK7NvemrbYgxDdkQq",
            "status": "active",
            "created_at": "2018-04-04T15:04:25Z"
        },
        {
            "id": "at_jgL6XmPIjgtzJXWb",
            "code": "5GEAk6Z32laJnWbxBdN6E3zWL8YjeX7pOglV9b3kJRWXelKOraYnGNwDVBA4L9ZfAoSav02dg58oPLQZ7qvm9jx6zp1EmAPbaw5rnqvQoJ2Rk1ZGKDKmQB7vPgYeOxpN",
            "status": "active",
            "created_at": "2018-04-04T13:21:20Z"
        }
    ],
    "paging": {
        "total": 2
    }
}
{
    "message": "Customer not found."
}
 
Suggest Edits

Visão Geral sobre Pagamento

Em nossos pedidos e cobranças, dentro possuímos o nó payment responsável pelas instruções de pagamento podendo comportar os meios de pagamento: credit_card, voucher, boleto, bank_transfer e safetypay. Especificamente para pedidos está disponível também o meio de pagamento checkout.

 

O objeto pagamento tem as seguintes propriedades:

Atributos
Tipo
Descrição

payment_method

string

Meio de pagamento. Valores possíveis: credit_card, boleto, voucher, bank_transfer, safety_pay, checkout ou cash.

credit_card

object

Dados sobre o pagamento com cartão de crédito (obrigatório caso o payment_method seja credit_card). Saiba mais sobre pagamentos com cartão de crédito.

voucher

object

Dados sobre o pagamento com voucher (obrigatório caso o payment_method seja voucher). Saiba mais sobre pagamentos com voucher.

boleto

object

Dados sobre o pagamento com boleto (obrigatório caso o payment_method seja boleto). Saiba mais sobre pagamentos com boleto.

bank_transfer

object

Dados sobre o pagamento com transferência entre contas bancárias. (obrigatório caso o payment_method seja bank_transfer). Saiba mais sobre pagamentos com transferência entre contas.

checkout

object

Dados sobre o pagamento com checkout. (obrigatório caso o payment_method seja checkout). Este método está disponível apenas para pedidos. Saiba mais sobre pagamentos com meio de pagamento checkout.

cash

object

Dados sobre o pagamento com cash (obrigatório caso o payment_method seja cash). Saiba mais sobre pagamentos com cash.

amount

integer

Valor da cobrança em centavos

metadata

object

Objeto chave/valor utilizado para armazenar informações adicionais sobre o pagamento. Saiba mais sobre metadata
OBS: A chave mundipagg_payment_method_code poderá ser utilizada para informar o código da adquirente, com o objetivo de indicar em qual adquirente será processado o pagamento. Saiba mais sobre metadata.

gateway_affiliation_id

string

Código da afiliação no gateway

 
Suggest Edits

Cartão de crédito

Para criar uma cobrança ou um pedido com cartão de crédito, devemos incluir o objeto credit_card dentro do nó payment, assim como a propriedade "payment_method": "credit_card". O objeto credit_card contêm os seguintes atributos:

 
Atributos
Tipo
Descrição

installments

integer

Quantidade de parcelas. Valor padrão: 1.

statement_descriptor

string

Texto exibido na fatura do cartão. Max: 22 caracteres.

capture

boolean

Indica se o pagamento deve ser processado imediatamente. Caso seja false o pagamento deverá ser confirmado posteriormente. Valor padrão: true.

card, card_id ou card_token

object

Cartão de crédito.
card_id é o identificador do cartão de um cliente.
card_token é o token do cartão gerado pelo checkout transparente. Saiba mais sobre cartões.

recurrence

boolean

Indica se é uma cobrança/pedido de recorrência. Valor padrão: false

metadata

object

Objeto chave/valor utilizado para armazenar informações adicionais sobre o pagamento.

extended_limit_enabled

boolean

Indica se o super limite está habilitado (para cartões private label).

extended_limit_code

string

Código do super limite (para cartões private label).

merchant_category_code

integer

Código de classificação do ramo de atuação do lojista.

authentication

object

Objeto que indica se a transação de cartão de crédito é autenticada ou não.

auto_recovery

boolean

Possibilita que a retentativa offline seja desabilitada por requisição.

payload

object

_Objeto de dados criptografados, tais como: GooglePay, ApplePay e SamsungPay

Para os casos em que a transação é autenticada, o objeto authentication é obrigatório. Ele possui os seguintes campos:

type

string

Indica o tipo de autenticação utilizado. Atualmente o único tipo suportado é threed_secure

threed_secure

object

Indica os campos a serem enviados para a autenticação 3DS.

Por fim, o objeto threed_secure contém os seguintes campos:

Atributos
Tipo
Tamanho máximo
Descrição

mpi

string

11

Indica quem é o autenticador da transação. Pode receber os valores "acquirer" para transações autenticadas pela adquirente ou "third_party" para autenticadores externos.

eci

string

2

Indica o resultado da tentativa de autenticação. Obrigatório quando o mpi é "third_party".

cavv

string

256

Código de autenticação do dono do cartão. Obrigatório quando o mpi é "third_party".

transaction_id

string

256

id da transação no autenticador. Obrigatório quando o mpi é "third_party".

ds_transaction_id

string

256

Identificador da transação no Directory Service

version

string

6

Versão do 3DS

redirect_url

string

512

Url de redirecionamento quando a transação é aprovada pelo autenticador. Obrigatório quando o mpié "acquirer".

Autenticação 3DS

Quando a autenticação é feita por um autenticador do tipo acquirer, só é necessário enviar os campos mpi e redirect_url. Os campos mpi, eci, cavv e transaction_id são os necessários para uma transação com autenticação externa.

{
    "items": [
        {
            "amount": 2990,
            "description": "Chaveiro do Tesseract",
            "quantity": 1
        }
    ],
    "customer": {
        "name": "Tony Stark",
        "email": "avengerstark@ligadajustica.com.br"
    },
    "payments": [
        {
            "payment_method": "credit_card",
            "credit_card": {
                "recurrence": false,
                "installments": 1,
                "statement_descriptor": "AVENGERS",
                "card": {
                    "number": "4000000000000010",
                    "holder_name": "Tony Stark",
                    "exp_month": 1,
                    "exp_year": 20,
                    "cvv": "3531",
                    "billing_address": {
                        "line_1": "10880, Malibu Point, Malibu Central",
                        "zip_code": "90265",
                        "city": "Malibu",
                        "state": "CA",
                        "country": "US"                
                    }
                }
            }
        }
    ]
}
{
    "id": "or_57oxkMntecE1P6JO",
    "code": "PGW5F69IX6",
    "amount": 2990,
    "currency": "BRL",
    "closed": true,
    "items": [
        {
            "id": "oi_DZlmrdXfXQcmr5kO",
            "description": "Chaveiro do Tesseract",
            "amount": 2990,
            "quantity": 1,
            "status": "active",
            "created_at": "2019-01-21T18:37:48Z",
            "updated_at": "2019-01-21T18:37:48Z",
            "order": {
                "id": "or_57oxkMntecE1P6JO",
                "code": "PGW5F69IX6",
                "amount": 2990,
                "closed": true,
                "created_at": "2019-01-21T18:37:48Z",
                "updated_at": "2019-01-21T18:37:48Z",
                "closed_at": "2019-01-21T18:37:48Z",
                "currency": "BRL",
                "status": "paid",
                "customer_id": "cus_n3bqEzdsZUmNA7Qp",
                "items": [
                    {
                        "id": "oi_DZlmrdXfXQcmr5kO",
                        "description": "Chaveiro do Tesseract",
                        "amount": 2990,
                        "quantity": 1,
                        "status": "active"
                    }
                ]
            }
        }
    ],
    "customer": {
        "id": "cus_n3bqEzdsZUmNA7Qp",
        "name": "Tony Stark",
        "email": "avengerstark@ligadajustica.com.br",
        "delinquent": false,
        "created_at": "2019-01-21T18:36:30Z",
        "updated_at": "2019-01-21T18:36:30Z",
        "phones": {}
    },
    "status": "paid",
    "created_at": "2019-01-21T18:37:48Z",
    "updated_at": "2019-01-21T18:37:48Z",
    "closed_at": "2019-01-21T18:37:48Z",
    "charges": [
        {
            "id": "ch_PNbX8jDIPuL1p5nM",
            "code": "PGW5F69IX6",
            "amount": 2990,
            "paid_amount": 2990,
            "status": "paid",
            "currency": "BRL",
            "payment_method": "credit_card",
            "paid_at": "2019-01-21T18:37:48Z",
            "created_at": "2019-01-21T18:37:48Z",
            "updated_at": "2019-01-21T18:37:48Z",
            "customer": {
                "id": "cus_n3bqEzdsZUmNA7Qp",
                "name": "Tony Stark",
                "email": "avengerstark@ligadajustica.com.br",
                "delinquent": false,
                "created_at": "2019-01-21T18:36:30Z",
                "updated_at": "2019-01-21T18:36:30Z",
                "phones": {}
            },
            "last_transaction": {
                "id": "tran_G1byLaJUXHm5Eg4R",
                "transaction_type": "credit_card",
                "gateway_id": "82c0acb3-75b0-48b8-a3ac-0e51c4b3744c",
                "amount": 2990,
                "status": "captured",
                "success": true,
                "installments": 1,
                "statement_descriptor": "AVENGERS",
                "acquirer_tid": "a4cf3de1-beb2-4724-822d-ac7ad14fa306",
                "acquirer_nsu": "a4cf3de1-beb2-4724-822d-ac7ad14fa306",
                "acquirer_auth_code": "903",
                "acquirer_message": "Transação capturada com sucesso",
                "acquirer_return_code": "00",
                "operation_type": "auth_and_capture",
                "card": {
                    "id": "card_apxQeXJsV2fGVwPL",
                    "first_six_digits": "400000",
                    "last_four_digits": "0010",
                    "brand": "Visa",
                    "holder_name": "Tony Stark",
                    "exp_month": 1,
                    "exp_year": 2020,
                    "status": "active",
                    "type": "credit",
                    "created_at": "2019-01-21T18:37:48Z",
                    "updated_at": "2019-01-21T18:37:48Z",
                    "billing_address": {
                        "zip_code": "90265",
                        "city": "Malibu",
                        "state": "CA",
                        "country": "US",
                        "line_1": "10880, Malibu Point, Malibu Central"
                    }
                },
                "created_at": "2019-01-21T18:37:48Z",
                "updated_at": "2019-01-21T18:37:48Z",
                "gateway_response": {
                    "code": "200",
                    "errors": []
                }
            }
        }
    ],
    "checkouts": []
}
//This example was built using MundiAPI-PHP SDK.
//For more information, please refer to https://github.com/mundipagg/MundiAPI-PHP

$secretKey = 'sk_test_4tdVXpseumRmqbo'; //the secret key will be provided by MundiPagg.
$basicAuthPassword = ''; //fill it with an empty string

$apiClient = new \MundiAPILib\MundiAPIClient(
    $secretKey,
    $basicAuthPassword
);

$orderController = $apiClient->getOrders();

$customer = new \MundiAPILib\Models\CreateCustomerRequest();
$customer->name = "Tony Stark";

$creditCard = new \MundiAPILib\Models\CreateCreditCardPaymentRequest();
$creditCard->capture = true;
$creditCard->installments = 2;
$creditCard->card = new \MundiAPILib\Models\CreateCardRequest();
$creditCard->card->number = "4000000000000010";
$creditCard->card->holderName = "Tony Stark";
$creditCard->card->expMonth = 1;
$creditCard->card->expYear = 2020;
$creditCard->card->cvv = "123";

$request = new \MundiAPILib\Models\CreateOrderRequest();

$request->items = [new \MundiAPILib\Models\CreateOrderItemRequest()];
$request->items[0]->description = "Tesseract Bracelet";
$request->items[0]->quantity = 1;
$request->items[0]->amount = 2990; // this value should be in cents

$request->payments = [new \MundiAPILib\Models\CreatePaymentRequest()];
$request->payments[0]->paymentMethod = "credit_card";
$request->payments[0]->creditCard = $creditCard;
$request->customer = $customer;

$result = $orderController->createOrder($request);

echo json_encode($result, JSON_PRETTY_PRINT);
package examples.order;

import com.mundipagg.api.MundiAPIClient;
import com.mundipagg.api.controllers.OrdersController;
import com.mundipagg.api.http.client.*;
import com.mundipagg.api.models.*;

import java.util.ArrayList;

public class CreateOrderCreditCard {
	
	public static void main(String[] args) {

        String basicAuthUserName = "sk_test_4tdVXpseumRmqbo"; // The username to use with basic authentication
        String basicAuthPassword = ""; // The password to use with basic authentication

        MundiAPIClient client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

        OrdersController orders_controller = new OrdersController();

        CreateCustomerRequest customer = new CreateCustomerRequest();
        customer.setName("sdk customer order");
        customer.setEmail("tonystark@avengers.com");

        CreateCreditCardPaymentRequest create_credit_card_payment_request = new CreateCreditCardPaymentRequest();
        create_credit_card_payment_request.setCapture(true);
        create_credit_card_payment_request.setInstallments(2);
        create_credit_card_payment_request.setCard(new CreateCardRequest());
        create_credit_card_payment_request.getCard().setNumber("4000000000000010");
        create_credit_card_payment_request.getCard().setHolderName("Tony Stark");
        create_credit_card_payment_request.getCard().setExpMonth(1);
        create_credit_card_payment_request.getCard().setExpYear(2020);
        create_credit_card_payment_request.getCard().setCvv("123");

        CreateOrderRequest request = new CreateOrderRequest();

        CreateOrderItemRequest orderItem = new CreateOrderItemRequest();
        orderItem.setDescription("Tesseract Bracelet");
        orderItem.setQuantity(3);
        orderItem.setAmount(1490);
        ArrayList<CreateOrderItemRequest> listOrderItem = new ArrayList<CreateOrderItemRequest>();
        listOrderItem.add(orderItem);
        request.setItems(listOrderItem);

        CreatePaymentRequest paymentItem = new CreatePaymentRequest();
        paymentItem.setPaymentMethod("credit_card");
        paymentItem.setCreditCard(create_credit_card_payment_request);
        request.setCustomer(customer);
        ArrayList<CreatePaymentRequest> lisPaymentItem = new ArrayList<CreatePaymentRequest>();
        lisPaymentItem.add(paymentItem);
        request.setPayments(lisPaymentItem);

        orders_controller.createOrderAsync(request, new APICallBack<GetOrderResponse>() {
            public void onSuccess(HttpContext context, GetOrderResponse response) {

                System.out.println("Order credit card create !");
                System.out.println("Status response: " + context.getResponse().getStatusCode());
                System.out.println("Order result status: " + response.getStatus());
                System.out.println("Order id: " + response.getId());

            }

            public void onFailure(HttpContext context, Throwable error) {

                System.out.println("Status response: " + context.getResponse().getStatusCode());
                System.out.println(error.getMessage());
                error.printStackTrace();

            }
        });

    }

}
from mundiapi.mundiapi_client import MundiapiClient
from mundiapi.models import *
from mundiapi.controllers import *
from mundiapi.exceptions.error_exception import *

MundiapiClient.config.basic_auth_user_name = "SUA_SECRET_KEY:"
orders_controller = orders_controller.OrdersController()

customer = create_customer_request.CreateCustomerRequest()
customer.name = "sdk customer test"
customer.email = "tonystark@avengers.com"

credit_card = create_credit_card_payment_request.CreateCreditCardPaymentRequest()
credit_card.capture = True
credit_card.installments = 2
credit_card.statement_descriptor = "test descriptor"
credit_card.card = create_card_request.CreateCardRequest()
credit_card.card.number = "4000000000000010"
credit_card.card.holder_name = "Tony Stark"
credit_card.card.exp_month = 1
credit_card.card.exp_year = 2025
credit_card.card.cvv = "123"

request = create_order_request.CreateOrderRequest()

request.items = [create_order_item_request.CreateOrderItemRequest()]
request.items[0].description = "Tesseract Bracelet"
request.items[0].quantity = 3
request.items[0].amount = 1490

request.payments = [create_payment_request.CreatePaymentRequest()]
request.payments[0].payment_method = "credit_card"
request.payments[0].credit_card = credit_card
request.customer = customer

try:
    result = orders_controller.create_order(request)
    assert result.status == "paid"
	print("Order id is: ", result.id)
    print("Order result status: ", result.status)
except ErrorException as ex:
    print(ex.message)
    print("Errors: ", ex.errors)
except Exception as ex:
    raise ex

Status da transação de cartão de crédito (Transaction)

As transações de Cartão de Crédito podem possuir os seguintes status:

Status
Descrição

authorized_pending_capture

Autorizada pendente de captura

not_authorized

Não autorizada

captured

Capturada

partial_capture

Capturada parcialmente

waiting_capture

Aguardando captura

refunded

Estornada

voided

Cancelada

partial_refunded

Estornada parcialmente

partial_void

Cancelada parcialmente

error_on_voiding

Erro no cancelamento

error_on_refunding

Erro no estorno

waiting_cancellation

Aguardando cancelamento

with_error

Com erro

failed

Falha

 
Suggest Edits

Cartão de débito

Para criar uma cobrança ou um pedido com cartão de débito, devemos incluir o objeto debit_card dentro do nó payment, assim como a propriedade "payment_method": "debit_card". O objeto debit_card contêm os seguintes atributos:

 
Atributos
Tipo
Descrição

statement_descriptor

string

Texto exibido na fatura do cartão. Max: 22 caracteres.

card, card_id ou card_token

object

Cartão de crédito.
card_id é o identificador do cartão de um cliente.
card_token é o token do cartão gerado pelo checkout transparente. Saiba mais sobre cartões.

recurrence

boolean

Indica se é uma cobrança/pedido de recorrência. Valor padrão: false

metadata

object

Objeto chave/valor utilizado para armazenar informações adicionais sobre o pagamento.
OBS: A chave mundipagg_payment_method_code poderá ser utilizada para informar o código da adquirente, com o objetivo de indicar em qual adquirente será processado o pagamento. Saiba mais sobre metadata.

merchant_category_code

integer

Código de classificação do ramo de atuação do lojista.

authentication

object

Objeto que indica se a transação de débito é autenticada ou não.

payload

object

_Objeto de dados criptografados, tais como: GooglePay, ApplePay e SamsungPay

Para os casos em que a transação é autenticada, o objeto authentication é obrigatório. Ele possui os seguintes campos:

type

string

Indica o tipo de autenticação utilizado. Atualmente o único tipo suportado é threed_secure

threed_secure

object

Indica os campos a serem enviados para a autenticação 3DS.

Por fim, o objeto threed_secure contém os seguintes campos:

Atributos
Tipo
Tamanho máximo
Descrição

mpi

string

11

Indica quem é o autenticador da transação. Pode receber os valores "acquirer" para transações autenticadas pela adquirente ou "third_party" para autenticadores externos.

eci

string

2

Indica o resultado da tentativa de autenticação. Obrigatório quando o mpi é "third_party".

cavv

string

256

Código de autenticação do dono do cartão. Obrigatório quando o mpi é "third_party".

transaction_id

string

256

id da transação no autenticador. Obrigatório quando o mpi é "third_party".

ds_transaction_id

string

256

Identificador da transação no Directory Service

version

string

6

Versão do 3D-S

success_url

string

512

Url de redirecionamento quando a transação é aprovada pelo autenticador. Obrigatório quando o mpié "acquirer".

Autenticação 3DS

Quando a autenticação é feita por um autenticador do tipo acquirer, só é necessário enviar os campos mpi e redirect_url. Os campos mpi, eci, cavv e transaction_id são os necessários para uma transação com autenticação externa.

{
	"items": [
        {
            "amount": 2990,
            "description": "Chaveiro do Tesseract",
            "quantity": 1
        }
    ],
    "amount":"2990",
    "customer": {
        "name": "Tony Stark",
        "email": "stark@avengers.com"
    },
    "payments":[{
        "payment_method": "debit_card",
        "debit_card": {
            "statement_descriptor": "AVENGERS",
            "card": {
                "number": "4000000000000010",
                "holder_name": "Tony Stark",
                "exp_month": 12,
                "exp_year": 20,
                "cvv": "235"
            },
            "authentication": {
                "type": "threed_secure",
                "threed_secure": {
                    "mpi": "acquirer",
                    "success_url": "http://www.mundipagg.com"
                }
            }
        },
        "metadata": {
            "mundipagg_payment_method_code": "62"
        }
    }]
}
{
  "id": "or_7K8A8vkCmtLDG5Xl",
  "code": "XMWI23FMYL",
  "amount": 2990,
  "currency": "BRL",
  "closed": true,
  "items": [
    {
      "id": "oi_4MrX5mRc9UWVX985",
      "description": "Chaveiro do Tesseract",
      "amount": 2990,
      "quantity": 1,
      "status": "active",
      "created_at": "2019-09-30T16:20:48Z",
      "updated_at": "2019-09-30T16:20:48Z"
    }
  ],
  "customer": {
    "id": "cus_rdK4yjmHRdUe8LJl",
    "name": "Tony Stark",
    "email": "stark@avengers.com",
    "delinquent": false,
    "created_at": "2019-09-30T15:38:58Z",
    "updated_at": "2019-09-30T15:38:58Z",
    "phones": {}
  },
  "status": "pending",
  "created_at": "2019-09-30T16:20:48Z",
  "updated_at": "2019-09-30T16:20:48Z",
  "closed_at": "2019-09-30T16:20:48Z",
  "charges": [
    {
      "id": "ch_oAk1KDXIvMCLbgav",
      "code": "XMWI23FMYL",
      "amount": 2990,
      "status": "pending",
      "currency": "BRL",
      "payment_method": "debit_card",
      "created_at": "2019-09-30T16:20:48Z",
      "updated_at": "2019-09-30T16:20:48Z",
      "customer": {
        "id": "cus_rdK4yjmHRdUe8LJl",
        "name": "Tony Stark",
        "email": "stark@avengers.com",
        "delinquent": false,
        "created_at": "2019-09-30T15:38:58Z",
        "updated_at": "2019-09-30T15:38:58Z",
        "phones": {}
      },
      "last_transaction": {
        "id": "tran_10ELvKJtGnTNmxk2",
        "transaction_type": "debit_card",
        "gateway_id": "db0ad0b2-3556-49d2-9d52-16e6f9f4694f",
        "amount": 2990,
        "status": "pending_authentication",
        "success": true,
        "statement_descriptor": "AVENGERS",
        "acquirer_tid": "658cbfcd-29bc-4c22-89c3-ee7fa755e214",
        "acquirer_nsu": "658cbfcd-29bc-4c22-89c3-ee7fa755e214",
        "acquirer_message": "Transação não autorizada",
        "acquirer_return_code": "01",
        "operation_type": "capture",
        "mpi": "acquirer",
        "authentication_type": "threed_secure",
        "threed_authentication_url": "https://simulatorpages.mundipagg.com/ThreeDS/transactionKeyToAcquirer=db0ad0b2-3556-49d2-9d52-16e6f9f4694f&amount=2990",
        "card": {
          "id": "card_aYVpJ6xCQMU2pDk1",
          "first_six_digits": "400000",
          "last_four_digits": "0010",
          "brand": "Visa",
          "holder_name": "Tony Stark",
          "exp_month": 12,
          "exp_year": 2020,
          "status": "active",
          "type": "credit",
          "created_at": "2019-09-30T15:38:59Z",
          "updated_at": "2019-09-30T15:38:59Z",
          "customer": {
            "id": "cus_rdK4yjmHRdUe8LJl",
            "name": "Tony Stark",
            "email": "stark@avengers.com",
            "delinquent": false,
            "created_at": "2019-09-30T15:38:58Z",
            "updated_at": "2019-09-30T15:38:58Z",
            "phones": {}
          }
        },
        "created_at": "2019-09-30T16:20:48Z",
        "updated_at": "2019-09-30T16:20:48Z",
        "gateway_response": {
          "code": "200"
        },
        "antifraud_response": {}
      },
      "metadata": {
        "mundipagg_payment_method_code": "62"
      }
    }
  ],
  "checkouts": []
}

Status das transações de Cartão de Débito (Transaction)

As transações de Cartão de Débito podem possuir os seguintes status:

Status
Descrição

not_authorized

Não autorizada

pending

Pendente

captured

Capturada

refunded

Estornada

error_on_refunding

Erro no estorno

with_error

Com erro

failed

Falha

 
Suggest Edits

Voucher

Para criar uma cobrança ou um pedido com voucher, devemos incluir o objeto voucher dentro do nó payment, assim como a propriedade "payment_method": "voucher". O objeto voucher contém as seguintes propriedades:

 
Atributos
Tipo
Descrição

statement_descriptor

string

Texto exibido na fatura do cartão. Max: 22 caracteres.

card, card_id ou card_token

object

Cartão de crédito.
card_id é o identificador do cartão de um cliente.
***card_token*** é o token do cartão gerado pelo checkout transparente. Saiba mais sobre cartões.

card.holder_document

string

Número do documento do portador do cartão. Este campo deverá ser enviado dentro do objeto card e é obrigatório para voucher.

metadata

object

Objeto chave/valor utilizado para armazenar informações adicionais sobre o pagamento.Saiba mais sobre metadata.

{
	"items": [{
			"amount": 2990,
			"description": "Chaveiro do Tesseract",
			"quantity": 1
		}
	],
	"customer": {
		"name": "Tony Stark",
		"email": "avengerstark@ligadajustica.com.br"
	},
	"payments": [{
			"payment_method": "voucher",
			"voucher": {
				"statement_descriptor": "AVENGERS",
				"card": {
					"number": "4000000000000010",
					"holder_name": "Tony Stark",
					"holder_document": "93095135270",
					"exp_month": 1,
					"exp_year": 20,
					"cvv": "351",
					"billing_address": {
						"line_1": "10880, Malibu Point, Malibu Central",
						"zip_code": "90265",
						"city": "Malibu",
						"state": "CA",
						"country": "US"
					}
				}
			}
		}
	]
}
{
	"id": "or_rW4pw5yck1fwdD7O",
	"code": "0WX7TE6BJ6",
	"amount": 2990,
	"currency": "BRL",
	"closed": true,
	"items": [{
			"id": "oi_D3XEBzJuE9hABb1a",
			"description": "Chaveiro do Tesseract",
			"amount": 2990,
			"quantity": 1,
			"status": "active",
			"created_at": "2019-01-22T14:20:18Z",
			"updated_at": "2019-01-22T14:20:18Z",
			"order": {
				"id": "or_rW4pw5yck1fwdD7O",
				"code": "0WX7TE6BJ6",
				"amount": 2990,
				"closed": true,
				"created_at": "2019-01-22T14:20:18Z",
				"updated_at": "2019-01-22T14:20:19Z",
				"closed_at": "2019-01-22T14:20:18Z",
				"currency": "BRL",
				"status": "paid",
				"customer_id": "cus_n3bqEzdsZUmNA7Qp",
				"items": [{
						"id": "oi_D3XEBzJuE9hABb1a",
						"description": "Chaveiro do Tesseract",
						"amount": 2990,
						"quantity": 1,
						"status": "active"
					}
				]
			}
		}
	],
	"customer": {
		"id": "cus_n3bqEzdsZUmNA7Qp",
		"name": "Tony Stark",
		"email": "avengerstark@ligadajustica.com.br",
		"delinquent": false,
		"address": {
			"id": "addr_yEd4rG0HJNupdX2m",
			"line_1": "375, Av. General Justo, Centro",
			"line_2": "8º andar",
			"zip_code": "20021130",
			"city": "Rio de Janeiro",
			"state": "RJ",
			"country": "BR",
			"status": "active",
			"created_at": "2019-01-21T18:44:17Z",
			"updated_at": "2019-01-21T18:44:17Z",
			"metadata": {
				"id": "my_address_id"
			}
		},
		"created_at": "2019-01-21T18:36:30Z",
		"updated_at": "2019-01-21T18:44:17Z",
		"phones": {}
	},
	"status": "paid",
	"created_at": "2019-01-22T14:20:18Z",
	"updated_at": "2019-01-22T14:20:19Z",
	"closed_at": "2019-01-22T14:20:18Z",
	"charges": [{
			"id": "ch_dZWwGNQIgCgXyO14",
			"code": "0WX7TE6BJ6",
			"amount": 2990,
			"paid_amount": 2990,
			"status": "paid",
			"currency": "BRL",
			"payment_method": "voucher",
			"paid_at": "2019-01-22T14:20:19Z",
			"created_at": "2019-01-22T14:20:18Z",
			"updated_at": "2019-01-22T14:20:18Z",
			"customer": {
				"id": "cus_n3bqEzdsZUmNA7Qp",
				"name": "Tony Stark",
				"email": "avengerstark@ligadajustica.com.br",
				"delinquent": false,
				"address": {
					"id": "addr_yEd4rG0HJNupdX2m",
					"line_1": "375, Av. General Justo, Centro",
					"line_2": "8º andar",
					"zip_code": "20021130",
					"city": "Rio de Janeiro",
					"state": "RJ",
					"country": "BR",
					"status": "active",
					"created_at": "2019-01-21T18:44:17Z",
					"updated_at": "2019-01-21T18:44:17Z",
					"metadata": {
						"id": "my_address_id"
					}
				},
				"created_at": "2019-01-21T18:36:30Z",
				"updated_at": "2019-01-21T18:44:17Z",
				"phones": {}
			},
			"last_transaction": {
				"id": "tran_x30Ml3TVkUan61vl",
				"transaction_type": "voucher",
				"gateway_id": "abe20e9d-fc1f-4458-86c0-b5e21a172ed8",
				"amount": 2990,
				"status": "captured",
				"success": true,
				"statement_descriptor": "AVENGERS",
				"acquirer_tid": "f55f99cd-fdc0-4271-a8f8-5be39c496fce",
				"acquirer_nsu": "f55f99cd-fdc0-4271-a8f8-5be39c496fce",
				"acquirer_message": "Transação capturada com sucesso",
				"acquirer_return_code": "00",
				"operation_type": "auth_and_capture",
				"card": {
					"id": "card_apxQeXJsV2fGVwPL",
					"first_six_digits": "400000",
					"last_four_digits": "0010",
					"brand": "Visa",
					"holder_name": "Tony Stark",
					"holder_document": "93095135270",
					"exp_month": 1,
					"exp_year": 2020,
					"status": "active",
					"type": "credit",
					"created_at": "2019-01-21T18:37:48Z",
					"updated_at": "2019-01-22T14:20:18Z",
					"billing_address": {
						"zip_code": "90265",
						"city": "Malibu",
						"state": "CA",
						"country": "US",
						"line_1": "10880, Malibu Point, Malibu Central"
					},
					"customer": {
						"id": "cus_n3bqEzdsZUmNA7Qp",
						"name": "Tony Stark",
						"email": "avengerstark@ligadajustica.com.br",
						"delinquent": false,
						"address": {
							"id": "addr_yEd4rG0HJNupdX2m",
							"line_1": "375, Av. General Justo, Centro",
							"line_2": "8º andar",
							"zip_code": "20021130",
							"city": "Rio de Janeiro",
							"state": "RJ",
							"country": "BR",
							"status": "active",
							"created_at": "2019-01-21T18:44:17Z",
							"updated_at": "2019-01-21T18:44:17Z",
							"metadata": {
								"id": "my_address_id"
							}
						},
						"created_at": "2019-01-21T18:36:30Z",
						"updated_at": "2019-01-21T18:44:17Z",
						"phones": {}
					}
				},
				"created_at": "2019-01-22T14:20:19Z",
				"updated_at": "2019-01-22T14:20:19Z",
				"gateway_response": {
					"code": "200"
				}
			}
		}
	],
	"checkouts": []
}
//This example was built using MundiAPI-PHP SDK.
//For more information, please refer to https://github.com/mundipagg/MundiAPI-PHP

$secretKey = 'sk_test_4tdVXpseumRmqbo'; //the secret key will be provided by MundiPagg.
$basicAuthPassword = ''; //fill it with an empty string

$apiClient = new \MundiAPILib\MundiAPIClient(
    $secretKey,
    $basicAuthPassword
);

$orderController = $apiClient->getOrders();

$customer = new \MundiAPILib\Models\CreateCustomerRequest();
$customer->name = "Tony Stark";

$voucher = new \MundiAPILib\Models\CreateVoucherPaymentRequest();
$voucher->capture = True;
$voucher->installments = 2;
$voucher->statementDescriptor = "AVENGERS";
$voucher->card = new \MundiAPILib\Models\CreateCardRequest();
$voucher->card->number = "4000000000000010";
$voucher->card->holderName = "Tony Stark";
$voucher->card->expMonth = 1;
$voucher->card->expYear = 2020;
$voucher->card->cvv = "351";

$request = new \MundiAPILib\Models\CreateOrderRequest();

$request->items = [new \MundiAPILib\Models\CreateOrderItemRequest()];
$request->items[0]->description = "Tesseract Bracelet";
$request->items[0]->quantity = 1;
$request->items[0]->amount = 2990; // this value should be in cents

$request->payments = [new \MundiAPILib\Models\CreatePaymentRequest()];
$request->payments[0]->paymentMethod = "voucher";
$request->payments[0]->voucher = $voucher;
$request->customer = $customer;

$result = $orderController->createOrder($request);

echo json_encode($result, JSON_PRETTY_PRINT);
package examples.order;

import com.mundipagg.api.MundiAPIClient;
import com.mundipagg.api.controllers.OrdersController;
import com.mundipagg.api.http.client.*;
import com.mundipagg.api.models.*;

import java.util.ArrayList;

public class CreateOrderVoucher {
	
	public static void main(String[] args) {

        String basicAuthUserName = "sk_test_q73YODBFQhyV9mod"; // The username to use with basic authentication
        String basicAuthPassword = ""; // The password to use with basic authentication

        MundiAPIClient client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

        OrdersController orders_controller = new OrdersController();

        CreateCustomerRequest customer = new CreateCustomerRequest();
        customer.setName("sdk customer order");
        customer.setEmail("tonystark@avengers.com");

        CreateVoucherPaymentRequest create_voucher_payment_request = new CreateVoucherPaymentRequest();

        create_voucher_payment_request.setStatementDescriptor("test descriptor");
        create_voucher_payment_request.setCard(new CreateCardRequest());
        create_voucher_payment_request.getCard().setNumber("4000000000000010");
        create_voucher_payment_request.getCard().setHolderName("Tony Stark");
        create_voucher_payment_request.getCard().setExpMonth(1);
        create_voucher_payment_request.getCard().setExpYear(2025);
        create_voucher_payment_request.getCard().setCvv("123");

        CreateOrderRequest request = new CreateOrderRequest();

        CreateOrderItemRequest orderItem = new CreateOrderItemRequest();
        orderItem.setDescription("Tesseract Bracelet");
        orderItem.setQuantity(3);
        orderItem.setAmount(1490);
        ArrayList<CreateOrderItemRequest> listOrderItem = new ArrayList<CreateOrderItemRequest>();
        listOrderItem.add(orderItem);
        request.setItems(listOrderItem);

        CreatePaymentRequest paymentItem = new CreatePaymentRequest();
        paymentItem.setPaymentMethod("voucher");
        paymentItem.setVoucher(create_voucher_payment_request);
        request.setCustomer(customer);
        ArrayList<CreatePaymentRequest> lisPaymentItem = new ArrayList<CreatePaymentRequest>();
        lisPaymentItem.add(paymentItem);
        request.setPayments(lisPaymentItem);


        orders_controller.createOrderAsync(request, new APICallBack<GetOrderResponse>() {
            public void onSuccess(HttpContext context, GetOrderResponse response) {

                System.out.println("Order credit voucher !");
                System.out.println("Status response: " + context.getResponse().getStatusCode());
                System.out.println("Order result status: " + response.getStatus());
                System.out.println("Order id: " + response.getId());

            }

            public void onFailure(HttpContext context, Throwable error) {

                System.out.println("Status response: " + context.getResponse().getStatusCode());
                System.out.println(error.getMessage());
                error.printStackTrace();

            }
        });
    }

}
from mundiapi.mundiapi_client import MundiapiClient
from mundiapi.models import *
from mundiapi.controllers import *
from mundiapi.exceptions.error_exception import *

MundiapiClient.config.basic_auth_user_name = "SUA_SECRET_KEY:"
orders_controller = orders_controller.OrdersController()

customer = create_customer_request.CreateCustomerRequest()
customer.name = "sdk customer test"
customer.email = "tonystark@avengers.com"

voucher = create_voucher_payment_request.CreateVoucherPaymentRequest()
voucher.capture = True
voucher.installments = 2
voucher.statement_descriptor = "test descriptor"
voucher.card = create_card_request.CreateCardRequest()
voucher.card.number = "4000000000000010"
voucher.card.holder_name = "Tony Stark"
voucher.card.exp_month = 1
voucher.card.exp_year = 2025
voucher.card.cvv = "123"

request = create_order_request.CreateOrderRequest()

request.items = [create_order_item_request.CreateOrderItemRequest()]
request.items[0].description = "Tesseract Bracelet"
request.items[0].quantity = 3
request.items[0].amount = 1490

request.payments = [create_payment_request.CreatePaymentRequest()]
request.payments[0].payment_method = "voucher"
request.payments[0].voucher = voucher
request.customer = customer

try:
    result = orders_controller.create_order(request)
    assert result.status == "paid"
	print("Order id is: ", result.id)
    print("Order result status: ", result.status)
except ErrorException as ex:
    print(ex.message)
    print("Errors: ", ex.errors)
except Exception as ex:
    raise ex

Status das transações de Voucher (Transaction)

As transações de Voucher podem possuir os seguintes status:

Status
Descrição

authorized_pending_capture

Autorizada pendente de captura

not_authorized

Não autorizada

captured

Capturada

partial_capture

Capturada parcialmente

refunded

Estornada

voided

Cancelada

partial_refunded

Estornada parcialmente

partial_void

Cancelada parcialemente

error_on_voiding

Erro no cancelamento

error_on_refunding

Erro no estorno

waiting_cancellation

Aguardando cancelamento

with_error

Com erro

failed

Falha

 
Suggest Edits

Boleto

Para criar uma cobrança ou um pedido com boleto, devemos incluir o objeto boleto dentro do nó payment, assim como a propriedade "payment_method": "boleto". O objeto boleto contém as seguintes propriedades:

 
Atributos
Tipo
Descrição

bank

string

Código do banco. 001 (Banco do Brasil); 033 (Santander); 237 (Bradesco); 341 (Itau); 745 (Citibank) e 104 (Caixa Econômica Federal).

instructions

string

Instruções do boleto. Max: 256 caracteres.

due_at

datetime

Data de vencimento. (Opcional)

nosso_numero

string

Número que identifica unicamente um boleto para uma conta.

type

string

Tipo de espécie do boleto.DM (Duplicata Mercantil) e BDP (Boleto de proposta)

metadata

object

Objeto chave/valor utilizado para armazenar informações adicionais sobre o pagamento.Saiba mais sobre metadata.

document_number

string

Identificador do boleto. Max: 16 caracteres.

BOLETOS COM REGISTRO TÊM CAMPOS OBRIGATÓRIOS

Para requisições de cobrança de boletos com registro os campos name, address e document do cliente (objeto customer) devem ser enviados OBRIGATORIAMENTE.

{
    "items": [
        {
            "amount": 2990,
            "description": "Chaveiro do Tesseract",
            "quantity": 1
        }
    ],
    "customer": {
        "name": "Tony Stark",
        "email": "avengerstark@ligadajustica.com.br"
    },
    "ip": "52.168.67.32",
    "location": {
        "latitude": "-22.970722",
        "longitude": "43.182365"
    },
    "shipping": {
        "amount": 100,
        "description": "Stark",
        "recipient_name": "Tony Stark",
        "recipient_phone": "24586787867",
        "address": {
            "line_1": "10880, Malibu Point, Malibu Central",
            "zip_code": "90265",
            "city": "Malibu",
            "state": "CA",
            "country": "US"    
        }
    },
    "antifraud":{
        "type":"clearsale",
        "clearsale":{
            "custom_sla":"90"
        }
    },
    "session_id": "322b821a",
    "device": {
        "platform": "ANDROID OS"
    },
    "payments": [
        {
            "payment_method": "boleto",
      "boleto": {
        "instructions": "Pagar até o vencimento",
        "due_at": "2020-09-20T00:00:00Z",
        "document_number": "123",
        "type": "DM"            
                    }
                }
           
        
    ]
}
{
  "id": "or_56GXnk6T0eU88qMm",
  "code": "YV3RCRIN24",
  "amount": 3090,
  "currency": "BRL",
  "closed": true,
  "items": [
    {
      "id": "oi_6rXqKEzuZYcRo2zL",
      "description": "Chaveiro do Tesseract",
      "amount": 2990,
      "quantity": 1,
      "status": "active",
      "created_at": "2019-10-16T17:36:30Z",
      "updated_at": "2019-10-16T17:36:30Z"
    }
  ],
  "customer": {
    "id": "cus_x4nz0P4SbOTA0KBZ",
    "name": "Tony Stark",
    "email": "avengerstark@ligadajustica.com.br",
    "document": "14582256988",
    "type": "individual",
    "delinquent": false,
    "created_at": "2019-05-02T17:06:01Z",
    "updated_at": "2019-06-12T14:50:18Z",
    "phones": {}
  },
  "shipping": {
    "amount": 100,
    "description": "Stark",
    "recipient_name": "Tony Stark",
    "recipient_phone": "24586787867",
    "address": {
      "city": "Malibu",
      "state": "CA",
      "country": "US",
      "zip_code": "90265",
      "line_1": "10880, Malibu Point, Malibu Central"
    }
  },
  "status": "pending",
  "created_at": "2019-10-16T17:36:30Z",
  "updated_at": "2019-10-16T17:36:30Z",
  "closed_at": "2019-10-16T17:36:30Z",
  "ip": "52.168.67.32",
  "session_id": "322b821a",
  "device": {
    "platform": "ANDROID OS"
  },
  "location": {
    "latitude": "-22.970722",
    "longitude": "43.182365"
  },
  "charges": [
    {
      "id": "ch_K2rJ5nlHwTE4qRDP",
      "code": "YV3RCRIN24",
      "gateway_id": "3b4bb2d9-19b3-4638-a974-0bb914fff472",
      "amount": 3090,
      "status": "pending",
      "currency": "BRL",
      "payment_method": "boleto",
      "created_at": "2019-10-16T17:36:30Z",
      "updated_at": "2019-10-16T17:36:31Z",
      "customer": {
        "id": "cus_x4nz0P4SbOTA0KBZ",
        "name": "Tony Stark",
        "email": "avengerstark@ligadajustica.com.br",
        "document": "14582256988",
        "type": "individual",
        "delinquent": false,
        "created_at": "2019-05-02T17:06:01Z",
        "updated_at": "2019-06-12T14:50:18Z",
        "phones": {}
      },
      "last_transaction": {
        "id": "tran_bZ0N3DjjUzTW68eq",
        "transaction_type": "boleto",
        "gateway_id": "044581ea-67e8-4772-bd56-f10ade5499de",
        "amount": 3090,
        "status": "generated",
        "success": true,
        "url": "https://sandbox.mundipaggone.com/Boleto/ViewBoleto.aspx?044581ea-67e8-4772-bd56-f10ade5499de",
        "pdf": "https://api.mundipagg.com/core/v1/transactions/tran_bZ0N3DjjUzTW68eq/pdf",
        "line": "34191.75462 24615.781234 41234.510000 3 83840000003090",
        "barcode": "https://api.mundipagg.com/core/v1/transactions/tran_bZ0N3DjjUzTW68eq/barcode",
        "qr_code": "https://api.mundipagg.com/core/v1/transactions/tran_bZ0N3DjjUzTW68eq/qrcode",
        "nosso_numero": "46246157",
        "type": "DM",
        "document_number": "123",
        "instructions": "Pagar até o vencimento",
        "due_at": "2020-09-20T00:00:00Z",
        "created_at": "2019-10-16T17:36:30Z",
        "updated_at": "2019-10-16T17:36:30Z",
        "gateway_response": {
          "code": "201"
        },
        "antifraud_response": {}
      }
    }
  ],
  "checkouts": []
}
//This example was built using MundiAPI-PHP SDK.
//For more information, please refer to https://github.com/mundipagg/MundiAPI-PHP

$secretKey = 'sk_test_4tdVXpseumRmqbo'; //the secret key will be provided by MundiPagg.
$basicAuthPassword = ''; //fill it with an empty string

$apiClient = new \MundiAPILib\MundiAPIClient(
    $secretKey,
    $basicAuthPassword
);

$orderController = $apiClient->getOrders();

$customer = new \MundiAPILib\Models\CreateCustomerRequest();
$customer->name = "Tony Stark";
$customer->email = "tonystark@avengers.com";
$customer->address = new \MundiAPILib\Models\CreateAddressRequest();
$customer->address->street = "Av. General Justo, Centro";
$customer->address->number = "375";
$customer->address->zipCode = "20021130";
$customer->address->neighborhood = "Centro";
$customer->address->city = "Rio de Janeiro";
$customer->address->state = "RJ";
$customer->address->country = "BR";

$boleto = new \MundiAPILib\Models\CreateBoletoPaymentRequest();
$boleto->bank = "033";
$boleto->instructions = "Pagar até o vencimento";
$boleto->dueAt = new \DateTime('2020-09-20T00:00:00Z');

$request = new \MundiAPILib\Models\CreateOrderRequest();

$request->items = [new \MundiAPILib\Models\CreateOrderItemRequest()];
$request->items[0]->description = "Tesseract Bracelet";
$request->items[0]->quantity = 1;
$request->items[0]->amount = 2290; // this value should be in cents

$request->payments = [new \MundiAPILib\Models\CreatePaymentRequest()];
$request->payments[0]->paymentMethod = "boleto";
$request->payments[0]->boleto = $boleto;
$request->customer = $customer;

$result = $orderController->createOrder($request);

echo json_encode($result, JSON_PRETTY_PRINT);
package examples.order;

import com.mundipagg.api.MundiAPIClient;
import com.mundipagg.api.controllers.OrdersController;
import com.mundipagg.api.http.client.*;
import com.mundipagg.api.models.*;
import org.joda.time.DateTime;

import java.util.ArrayList;

public class CreateOrderBankSlip {
	
	public static void main(String[] args) {
		
        String basicAuthUserName = "sk_test_4tdVXpseumRmqbo"; // The username to use with basic authentication
        String basicAuthPassword = ""; // The password to use with basic authentication

        MundiAPIClient client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

        OrdersController orders_controller = new OrdersController();

        CreateCustomerRequest customer = new CreateCustomerRequest();
        customer.setName("sdk customer order");
        customer.setEmail("tonystark@avengers.com");
        customer.setAddress(new CreateAddressRequest());
        customer.getAddress().setStreet("Malibu Point");
        customer.getAddress().setNumber("10880");
        customer.getAddress().setZipCode("90265");
        customer.getAddress().setNeighborhood("Central Malibu");
        customer.getAddress().setCity("Malibu");
        customer.getAddress().setState("CA");
        customer.getAddress().setCountry("US");

        CreateBoletoPaymentRequest create_boleto_payment_request = new CreateBoletoPaymentRequest();
        create_boleto_payment_request.setBank("033");
        create_boleto_payment_request.setInstructions("Pagar até o vencimento");
        create_boleto_payment_request.setDueAt(DateTime.parse("2019-12-31T00:00:00Z"));

        CreateOrderRequest request = new CreateOrderRequest();

        CreateOrderItemRequest orderItem = new CreateOrderItemRequest();
        orderItem.setDescription("Tesseract Bracelet");
        orderItem.setQuantity(3);
        orderItem.setAmount(1490);
        ArrayList<CreateOrderItemRequest> listOrderItem = new ArrayList<CreateOrderItemRequest>();
        listOrderItem.add(orderItem);
        request.setItems(listOrderItem);

        CreatePaymentRequest paymentItem = new CreatePaymentRequest();
        paymentItem.setPaymentMethod("boleto");
        paymentItem.setBoleto(create_boleto_payment_request);
        request.setCustomer(customer);
        ArrayList<CreatePaymentRequest> lisPaymentItem = new ArrayList<CreatePaymentRequest>();
        lisPaymentItem.add(paymentItem);
        request.setPayments(lisPaymentItem);


        orders_controller.createOrderAsync(request, new APICallBack<GetOrderResponse>() {
            public void onSuccess(HttpContext context, GetOrderResponse response) {

                System.out.println("Order bank slip create !");
                System.out.println("Status response: " + context.getResponse().getStatusCode());
                System.out.println("Order result status: " + response.getStatus());
                System.out.println("Order id: " + response.getId());

            }

            public void onFailure(HttpContext context, Throwable error) {

                System.out.println("Status response: " + context.getResponse().getStatusCode());
                System.out.println(error.getMessage());
                error.printStackTrace();
            }
        });
    }

}
from mundiapi.mundiapi_client import MundiapiClient
from mundiapi.models import *
from mundiapi.controllers import *
from mundiapi.exceptions.error_exception import *

MundiapiClient.config.basic_auth_user_name = "SUA_SECRET_KEY:"
orders_controller = orders_controller.OrdersController()

customer = create_customer_request.CreateCustomerRequest()
customer.name = "sdk customer test"
customer.email = "tonystark@avengers.com"
customer.address = create_address_request.CreateAddressRequest()
customer.address.street = "Malibu Point"
customer.address.number = "10880"
customer.address.zip_code = "90265"
customer.address.neighborhood = "Central Malibu"
customer.address.city = "Malibu"
customer.address.state = "CA"
customer.address.country = "US"

boleto = create_boleto_payment_request.CreateBoletoPaymentRequest()
boleto.bank = "033"
boleto.instructions = "Pagar até o vencimento"
boleto.due_at = '2019-12-31T00:00:00Z'

request = create_order_request.CreateOrderRequest()

request.items = [create_order_item_request.CreateOrderItemRequest()]
request.items[0].description = "Tesseract Bracelet"
request.items[0].quantity = 3
request.items[0].amount = 1490

request.payments = [create_payment_request.CreatePaymentRequest()]
request.payments[0].payment_method = "boleto"
request.payments[0].boleto = boleto
request.customer = customer

try:
    result = orders_controller.create_order(request)
    assert result.status == "pending"
    assert result.charges[0].status == "pending"
    assert result.charges[0].last_transaction.success == True
    assert result.charges[0].last_transaction.status == "generated"
    assert result.charges[0].last_transaction.url is not None
    assert result.charges[0].last_transaction.bank is not None
    assert result.charges[0].last_transaction.pdf is not None
    assert result.charges[0].last_transaction.instructions is not None
	print("Order id is: ", result.id)
    print("Order result status: ", result.status)
    print("Boleto pdf: ", result.charges[0].last_transaction.pdf)
except ErrorException as ex:
    print(ex.message)
    print("Errors: ", ex.errors)
except Exception as ex:
    raise ex

Status das transações de boleto (Transaction)

As transações de boleto podem possuir os seguintes status:

Status
Descrição

generated

Gerado

viewed

Visualizado

underpaid

Pago a menor

overpaid

Pago a maior

paid

Pago

voided

Cancelado

with_error

Com erro

failed

Falha

 
Suggest Edits

Transferência bancária

Para criar uma cobrança ou um pedido com transferência bancária, devemos incluir a propriedade "payment_method": "bank_transfer" dentro do nó payment, e caso necessário o objeto bank_transfer. O objeto bank_transfer tem as seguintes propriedades:

 
Atributos
Tipo
Descrição

bank

string

Código do Banco. 001 (Banco do Brasil); 237 (Bradesco) e 341 (Itau).

metadata

object

Objeto chave/valor utilizado para armazenar informações adicionais sobre o pagamento.Saiba mais sobre metadata.

Código do Banco padrão

Você pode configurar um código padrão para a sua loja. Desta forma, você não precisa enviá-lo em toda requisição e o nó bank_transfer sendo o mesmo opcional.

{
  "amount": 1490000,
  "customer": {
    "name": "Tony Stark",
    "email": "{{email}}",
  "document": "57510831563",
  "type": "individual"
  },
  "payment":{
    "metadata":{
	     "code": "3"  
   },
    "payment_method": "bank_transfer",
    "bank_transfer":{
    	"bank": 001
    }
  },
  "metadata": {
    "code": "123"
  }
}
{
    "id": "ch_j2bkebpurbCgEGpq",
    "code": "0X7JFVQSN0",
    "gateway_id": "364b6d2e-62e9-4fed-8646-3af3320d153b",
    "amount": 1490000,
    "status": "pending",
    "currency": "BRL",
    "payment_method": "bank_transfer",
    "created_at": "2017-07-05T16:52:36Z",
    "updated_at": "2017-07-05T16:52:36Z",
    "customer": {
        "id": "cus_1rp2jAES3RCwnyz0",
        "name": "Tony Stark",
        "email": "974169e4-9f6c-42ef-8355-a82a4ef4c388@avengers.com",
        "document": "57510831563",
        "type": "individual",
        "delinquent": false,
        "created_at": "2017-07-05T16:52:36Z",
        "updated_at": "2017-07-05T16:52:36Z",
        "phones": {}
    },
    "last_transaction": {
        "url": "https://onlinedebitsandbox.mundipaggone.com:4443/OnlineDebit/Checkout/e17a8b29-857a-4087-8d27-4c0ab4e2e08b",
        "bank_tid": "00000427",
        "bank": "341",
        "id": "tran_kEnJLNRH2sBLdBpW",
        "transaction_type": "bank_transfer",
        "gateway_id": "e17a8b29-857a-4087-8d27-4c0ab4e2e98b",
        "amount": 1490000,
        "status": "pending",
        "success": true,
        "created_at": "2017-07-05T16:52:36Z",
        "updated_at": "2017-07-05T16:52:36Z",
        "gateway_response": {
            "code": "201"
        }
    },
    "metadata": {
        "code": "123"
    }
}
package examples.order;

import com.mundipagg.api.MundiAPIClient;
import com.mundipagg.api.controllers.OrdersController;
import com.mundipagg.api.models.*;
import com.mundipagg.api.http.client.*;

import java.util.ArrayList;

public class CreateOrderBankTransfer {
	
	public static void main(String[] args) {

        String basicAuthUserName = "sk_test_4tdVXpseumRmqbo"; // The username to use with basic authentication
        String basicAuthPassword = ""; // The password to use with basic authentication

        MundiAPIClient client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

        OrdersController orders_controller = new OrdersController();

        CreateCustomerRequest customer = new CreateCustomerRequest();
        customer.setName("sdk customer order");
        customer.setEmail("tonystark@avengers.com");

        CreateBankTransferPaymentRequest create_bank_transfer_payment_request = new CreateBankTransferPaymentRequest();
        create_bank_transfer_payment_request.setBank("001");

        CreateOrderRequest request = new CreateOrderRequest();

        CreateOrderItemRequest orderItem = new CreateOrderItemRequest();
        orderItem.setDescription("Tesseract Bracelet");
        orderItem.setQuantity(3);
        orderItem.setAmount(1490);
        ArrayList<CreateOrderItemRequest> listOrderItem = new ArrayList<CreateOrderItemRequest>();
        listOrderItem.add(orderItem);
        request.setItems(listOrderItem);

        CreatePaymentRequest paymentItem = new CreatePaymentRequest();
        paymentItem.setPaymentMethod("bank_transfer");
        paymentItem.setBankTransfer(create_bank_transfer_payment_request);
        request.setCustomer(customer);
        ArrayList<CreatePaymentRequest> lisPaymentItem = new ArrayList<CreatePaymentRequest>();
        lisPaymentItem.add(paymentItem);
        request.setPayments(lisPaymentItem);

        orders_controller.createOrderAsync(request, new APICallBack<GetOrderResponse>() {
            public void onSuccess(HttpContext context, GetOrderResponse response) {

                System.out.println("Order bank transfer create !");
                System.out.println("Status response: " + context.getResponse().getStatusCode());
                System.out.println("Order result status: " + response.getStatus());
                System.out.println("Order id: " + response.getId());

            }

            public void onFailure(HttpContext context, Throwable error) {

                System.out.println("Status response: " + context.getResponse().getStatusCode());
                System.out.println(error.getMessage());
                error.printStackTrace();

            }
        });
    }

}

Status das transações de Transferência Bancária (Transaction)

As transações de transferência bancária podem possuir os seguintes status:

Status
Descrição

pending

Pendente

paid

Paga

overpaid

Paga a maior

underpaid

Paga a menor

with_error

Com erro

not_paid

Não paga

failed

Falha

 
Suggest Edits

SafetyPay

Para criar uma cobrança ou um pedido com SafetyPay, devemos incluir a propriedade "payment_method": "safetypay" dentro do nó payment.

 
{
	"items": [{
			"amount": 1000,
			"description": "Chaveiro do Tesseract",
			"quantity": 1
		}
	],
	"customer": {
		"name": "Tony Stark",
		"email": "matrinho@mailinator.com",
		"type": "individual",
		"document": "12345678900",
		"phones": {
			"home_phone": {
				"country_code": "55",
				"area_code": "21",
				"number": "32659874"
			},
			"mobile_phone": {
				"country_code": "55",
				"area_code": "21",
				"number": "998563214"
			}
		}
	},
	"payments": [{
			"payment_method": "safetypay"
		}
	]
}
{
	"id": "or_l02Adj6Ytgs5debP",
	"code": "4LJQINWC1Y",
	"amount": 1500,
	"currency": "BRL",
	"closed": true,
	"items": [{
			"id": "oi_NV2K6KOSxIDZ6Z0a",
			"description": "Chaveiro do Tesseract",
			"amount": 1000,
			"quantity": 1,
			"status": "active",
			"created_at": "2019-01-21T18:56:14Z",
			"updated_at": "2019-01-21T18:56:14Z",
			"order": {
				"id": "or_l02Adj6Ytgs5debP",
				"code": "4LJQINWC1Y",
				"amount": 1500,
				"closed": true,
				"created_at": "2019-01-21T18:56:14Z",
				"updated_at": "2019-01-21T18:56:14Z",
				"closed_at": "2019-01-21T18:56:14Z",
				"currency": "BRL",
				"status": "pending",
				"customer_id": "cus_rN18K4KIMKcYW2RV",
				"metadata": {
					"nfeio_issuance_enabled": "true",
					"charge_failed_cancellation_enabled": "true",
					"charge_cancellation_enabled": "false",
					"nfeio_cancellation_enabled": "true"
				},
				"items": [{
						"id": "oi_NV2K6KOSxIDZ6Z0a",
						"description": "Chaveiro do Tesseract",
						"amount": 1000,
						"quantity": 1,
						"status": "active"
					}, {
						"id": "oi_JRv3j71cyGUa90Pk",
						"description": "Chaveiro do Tesseract2",
						"amount": 500,
						"quantity": 1,
						"status": "active"
					}
				]
			}
		}
	],
	"customer": {
		"id": "cus_rN18K4KIMKcYW2RV",
		"name": "Tony Stark",
		"email": "matrinho@mailinator.com",
		"document": "12345678900",
		"type": "individual",
		"delinquent": false,
		"created_at": "2019-01-21T18:55:22Z",
		"updated_at": "2019-01-21T18:55:22Z",
		"phones": {
			"home_phone": {
				"country_code": "55",
				"number": "32659874",
				"area_code": "21"
			},
			"mobile_phone": {
				"country_code": "55",
				"number": "998563214",
				"area_code": "21"
			}
		}
	},
	"status": "pending",
	"created_at": "2019-01-21T18:56:14Z",
	"updated_at": "2019-01-21T18:56:14Z",
	"closed_at": "2019-01-21T18:56:14Z",
	"charges": [{
			"id": "ch_JpXR7Q8Fg4u4YaeD",
			"code": "4LJQINWC1Y",
			"amount": 1500,
			"status": "pending",
			"currency": "BRL",
			"payment_method": "safetypay",
			"created_at": "2019-01-21T18:56:14Z",
			"updated_at": "2019-01-21T18:56:14Z",
			"customer": {
				"id": "cus_rN18K4KIMKcYW2RV",
				"name": "Tony Stark",
				"email": "matrinho@mailinator.com",
				"document": "12345678900",
				"type": "individual",
				"delinquent": false,
				"created_at": "2019-01-21T18:55:22Z",
				"updated_at": "2019-01-21T18:55:22Z",
				"phones": {
					"home_phone": {
						"country_code": "55",
						"number": "32659874",
						"area_code": "21"
					},
					"mobile_phone": {
						"country_code": "55",
						"number": "998563214",
						"area_code": "21"
					}
				}
			},
			"last_transaction": {
				"url": "https://sandbox-gateway.safetypay.com/Express4/Checkout/index?TokenID=6c60d19c-64bf-4a81-96d1-ad46bdba9764",
				"safetypay_tid": "e09f39ad33fc4c3b",
				"id": "tran_2vrxYNnhZpSQazQ5",
				"transaction_type": "safetypay",
				"gateway_id": "e09f39ad-33fc-4c3b-a88a-103df99c3614",
				"amount": 1490,
				"status": "pending",
				"success": true,
				"created_at": "2017-07-05T16:59:30Z",
				"updated_at": "2017-07-05T16:59:30Z",
				"gateway_response": {
					"code": "201"
				}
			}
		}
	]
}

Status das transações de SafetyPay (Transaction)

As transações de SafatyPay podem possuir os seguintes status:

Status
Descrição

pending

Pendente

paid

Paga

overpaid

Paga a maior

underpaid

Paga a menor

with_error

Com erro

not_paid

Não paga

failed

Falha

 
Suggest Edits

Apple Pay

Para criar uma cobrança ou um pedido com apple pay, devemos incluir o objeto credit_card dentro do nó payment, assim como a propriedade "payment_method": "credit_card". Além disso, o objeto credit_card deve conter o atributo payload. O objeto payload possui os seguintes atributos:

 
Atributos
Tipo
Descrição

type

string

Determina o tipo de token. Para Apple Pay deve-se enviar apple_pay

apple_pay

object

Campos a serem enviados para pagamento com Apple Pay

O objeto apple_pay possui os seguintes atributos:

Atributos
Tipo
Descrição

version

string

Informação sobre a versão do token. Único valor aceito é EC_v1

merchant_identifier

string

Identificador da loja na Apple

data

string

Dados de pagamento criptografados

header

object

Informações utilizadas para descriptografar e verificar o pagamento

signature

string

Assinatura dos dados de pagamento e do header

Além disso, o objeto 'header' contém os seguintes atributos:

ephemeral_public_key

string

Ephemeral public key do lojista. EC_v1 apenas.

public_key_hash

string

Hash da public key criptografada em X.509 do certificado da loja.

transaction_id

string

É o id da transação, gerado no aparelho

Atenção!

Todos os campos do objeto apple_pay são obrigatórios caso a transação seja feita por esse meio de pagamento!

{
	"items": [{
			"amount": 2990,
			"description": "Chaveiro do Tesseract",
			"quantity": 1
		}
	],
	"customer": {
		"name": "Tony Stark",
		"email": "avengerstark@ligadajustica.com.br"
	},
	"payments": [{
			"payment_method": "credit_card",
			"credit_card": {
				"installments": 1,
				"statement_descriptor": "AVENGERS",
				"payload": {
					"type": "apple_pay",
					"apple_pay": {
						"version": "EC_v1",
						"merchant_identifier": "merchant.com.example.mundipagg",
						"data": "uxXQ79wQwUFs/ffeQEzcu6u6HCZjBoVdxjxA/BLKUDheuEWSzm1GqWr05ablgcuqNZI1ia4cd52ePuAA2Rb/5iGbNvgQcxBWqBUJ45bJwIb3TsBdRaWMc7HDrDzvBXEtipGBfaep09CZiUQ2XeqaEqXATwGsW8wlwFmuUaoK05+u9KpIWzfA9fb3Ub/45TB0iu1ZWXQdxBSPRUJ771dKaMhdI9qqGZSsg7qb9Bxk+fQw5VXREAu57r7NN70zc6dwBS7kYk4OhieenPTc2iw8PGkqFUyXtb8vwF5TwGzDoKsosFURtFVgfXtpU8DCBM26uW9PX8DMe9mW7ohHrnmuCxRgdJevHLge8ckwE1xibGFsALe7e+GnZP691DGGi4C32G3H3GilDNufaG+NHdjVxS/UOnc5Z7/Vb1cZNg55Jt5r",
						"header": {
							"ephemeral_public_key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE1H48bA6ULVpuJVmIwjw6uiH2774SmxlPVzztBMxVFSbBANxlqqTL2lM3HG9LwW09mYTkpkgsK1KHgaKDwI6eWg==",
							"public_key_hash": "Z1/wkFT2/GKkQ/wJnq1RiqB2SlKuPoBMQTUkGlLKIaY=",
							"transaction_id": "a1a24121fd3c9dcf5e9efb41af99c4a516094ec624e9f40fbbe5865442d8d8e8"
						},
						"signature": "MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCAMIID5jCCA4ugAwIBAgIIaGD2mdnMpw8wCgYIKoZIzj0EAwIwejEuMCwGA1UEAwwlQXBwbGUgQXBwbGljYXRpb24gSW50ZWdyYXRpb24gQ0EgLSBHMzEmMCQGA1UECwwdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMB4XDTE2MDYwMzE4MTY0MFoXDTIxMDYwMjE4MTY0MFowYjEoMCYGA1UEAwwfZWNjLXNtcC1icm9rZXItc2lnbl9VQzQtU0FOREJPWDEUMBIGA1UECwwLaU9TIFN5c3RlbXMxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEgjD9q8Oc914gLFDZm0US5jfiqQHdbLPgsc1LUmeY+M9OvegaJajCHkwz3c6OKpbC9q+hkwNFxOh6RCbOlRsSlaOCAhEwggINMEUGCCsGAQUFBwEBBDkwNzA1BggrBgEFBQcwAYYpaHR0cDovL29jc3AuYXBwbGUuY29tL29jc3AwNC1hcHBsZWFpY2EzMDIwHQYDVR0OBBYEFAIkMAua7u1GMZekplopnkJxghxFMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUI/JJxE+T5O8n5sT2KGw/orv9LkswggEdBgNVHSAEggEUMIIBEDCCAQwGCSqGSIb3Y2QFATCB/jCBwwYIKwYBBQUHAgIwgbYMgbNSZWxpYW5jZSBvbiB0aGlzIGNlcnRpZmljYXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJsZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRlIHBvbGljeSBhbmQgY2VydGlmaWNhdGlvbiBwcmFjdGljZSBzdGF0ZW1lbnRzLjA2BggrBgEFBQcCARYqaHR0cDovL3d3dy5hcHBsZS5jb20vY2VydGlmaWNhdGVhdXRob3JpdHkvMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwuYXBwbGUuY29tL2FwcGxlYWljYTMuY3JsMA4GA1UdDwEB/wQEAwIHgDAPBgkqhkiG92NkBh0EAgUAMAoGCCqGSM49BAMCA0kAMEYCIQDaHGOui+X2T44R6GVpN7m2nEcr6T6sMjOhZ5NuSo1egwIhAL1a+/hp88DKJ0sv3eT3FxWcs71xmbLKD/QJ3mWagrJNMIIC7jCCAnWgAwIBAgIISW0vvzqY2pcwCgYIKoZIzj0EAwIwZzEbMBkGA1UEAwwSQXBwbGUgUm9vdCBDQSAtIEczMSYwJAYDVQQLDB1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMwHhcNMTQwNTA2MjM0NjMwWhcNMjkwNTA2MjM0NjMwWjB6MS4wLAYDVQQDDCVBcHBsZSBBcHBsaWNhdGlvbiBJbnRlZ3JhdGlvbiBDQSAtIEczMSYwJAYDVQQLDB1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTETMBEGA1UECgwKQXBwbGUgSW5jLjELMAkGA1UEBhMCVVMwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATwFxGEGddkhdUaXiWBB3bogKLv3nuuTeCN/EuT4TNW1WZbNa4i0Jd2DSJOe7oI/XYXzojLdrtmcL7I6CmE/1RFo4H3MIH0MEYGCCsGAQUFBwEBBDowODA2BggrBgEFBQcwAYYqaHR0cDovL29jc3AuYXBwbGUuY29tL29jc3AwNC1hcHBsZXJvb3RjYWczMB0GA1UdDgQWBBQj8knET5Pk7yfmxPYobD+iu/0uSzAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFLuw3qFYM4iapIqZ3r6966/ayySrMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly9jcmwuYXBwbGUuY29tL2FwcGxlcm9vdGNhZzMuY3JsMA4GA1UdDwEB/wQEAwIBBjAQBgoqhkiG92NkBgIOBAIFADAKBggqhkjOPQQDAgNnADBkAjA6z3KDURaZsYb7NcNWymK/9Bft2Q91TaKOvvGcgV5Ct4n4mPebWZ+Y1UENj53pwv4CMDIt1UQhsKMFd2xd8zg7kGf9F3wsIW2WT8ZyaYISb1T4en0bmcubCYkhYQaZDwmSHQAAMYIBizCCAYcCAQEwgYYwejEuMCwGA1UEAwwlQXBwbGUgQXBwbGljYXRpb24gSW50ZWdyYXRpb24gQ0EgLSBHMzEmMCQGA1UECwwdQXBwbGUgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxEzARBgNVBAoMCkFwcGxlIEluYy4xCzAJBgNVBAYTAlVTAghoYPaZ2cynDzANBglghkgBZQMEAgEFAKCBlTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xODAzMjIxODIwMzVaMCoGCSqGSIb3DQEJNDEdMBswDQYJYIZIAWUDBAIBBQChCgYIKoZIzj0EAwIwLwYJKoZIhvcNAQkEMSIEIP04r38aKvOWJbQ5VgbNPRQoKViGH4p0uza6dcEontZJMAoGCCqGSM49BAMCBEYwRAIgOiofZlNby6PYO1rt4THd0jYcOPVwG0YJ9CrtibxwHn8CIFSNaGQchaoNllndK9PuoFQl4cUlxg3a/kGC3FeePxI7AAAAAAAA"
					}
				}
			}
		}

	]
}
{
	"id": "or_57oxkMntecE1P6JO",
	"code": "PGW5F69IX6",
	"amount": 2990,
	"currency": "BRL",
	"closed": true,
	"items": [{
			"id": "oi_DZlmrdXfXQcmr5kO",
			"description": "Chaveiro do Tesseract",
			"amount": 2990,
			"quantity": 1,
			"status": "active",
			"created_at": "2019-01-21T18:37:48Z",
			"updated_at": "2019-01-21T18:37:48Z",
			"order": {
				"id": "or_57oxkMntecE1P6JO",
				"code": "PGW5F69IX6",
				"amount": 2990,
				"closed": true,
				"created_at": "2019-01-21T18:37:48Z",
				"updated_at": "2019-01-21T18:37:48Z",
				"closed_at": "2019-01-21T18:37:48Z",
				"currency": "BRL",
				"status": "paid",
				"customer_id": "cus_n3bqEzdsZUmNA7Qp",
				"items": [{
						"id": "oi_DZlmrdXfXQcmr5kO",
						"description": "Chaveiro do Tesseract",
						"amount": 2990,
						"quantity": 1,
						"status": "active"
					}
				]
			}
		}
	],
	"customer": {
		"id": "cus_n3bqEzdsZUmNA7Qp",
		"name": "Tony Stark",
		"email": "avengerstark@ligadajustica.com.br",
		"delinquent": false,
		"created_at": "2019-01-21T18:36:30Z",
		"updated_at": "2019-01-21T18:36:30Z",
		"phones": {}
	},
	"status": "paid",
	"created_at": "2019-01-21T18:37:48Z",
	"updated_at": "2019-01-21T18:37:48Z",
	"closed_at": "2019-01-21T18:37:48Z",
	"charges": [{
			"id": "ch_PNbX8jDIPuL1p5nM",
			"code": "PGW5F69IX6",
			"amount": 2990,
			"paid_amount": 2990,
			"status": "paid",
			"currency": "BRL",
			"payment_method": "credit_card",
			"paid_at": "2019-01-21T18:37:48Z",
			"created_at": "2019-01-21T18:37:48Z",
			"updated_at": "2019-01-21T18:37:48Z",
			"customer": {
				"id": "cus_n3bqEzdsZUmNA7Qp",
				"name": "Tony Stark",
				"email": "avengerstark@ligadajustica.com.br",
				"delinquent": false,
				"created_at": "2019-01-21T18:36:30Z",
				"updated_at": "2019-01-21T18:36:30Z",
				"phones": {}
			},
			"last_transaction": {
				"id": "tran_4vP712Qs6tkxmkDV",
				"transaction_type": "credit_card",
				"gateway_id": "d7809471-4a89-4198-9a30-bf621ef2f8fc",
				"amount": 1490,
				"status": "captured",
				"success": true,
				"installments": 1,
				"statement_descriptor": "AVENGERS",
				"acquirer_name": "simulator",
				"acquirer_affiliation_code": "",
				"acquirer_tid": "287049",
				"acquirer_nsu": "337532",
				"acquirer_auth_code": "862029",
				"acquirer_message": "Simulator|Transação de simulação autorizada com sucesso",
				"acquirer_return_code": "0",
				"operation_type": "auth_and_capture",
				"card": {
					"id": "card_2qE8eEGSrHqR7j3Q",
					"first_six_digits": "483026",
					"last_four_digits": "7665",
					"brand": "Visa",
					"holder_name": "APPLE PAY",
					"exp_month": 12,
					"exp_year": 2023,
					"status": "active",
					"type": "credit",
					"tokenization_method": "apple_pay",
					"created_at": "2018-10-02T16:49:27Z",
					"updated_at": "2018-10-02T16:49:27Z"
				},
				"created_at": "2018-10-02T16:49:27Z",
				"updated_at": "2018-10-02T16:49:27Z",
				"gateway_response": {
					"code": "201"
				}
			}
		}
	],
	"checkouts": []
}
 
Suggest Edits

Google Pay™

Para criar uma cobrança ou um pedido com google pay, devemos incluir o objeto credit_card dentro do nó payment, assim como a propriedade "payment_method": "credit_card". Além disso, o objeto credit_card deve conter os atributos de token e google_pay. O objeto token possui os seguintes atributos:

 
Atributos
Tipo
Descrição

type

string

Determina o tipo de token. Para Google Pay deve-se enviar google_pay

google_pay

object

Campos a serem enviados para pagamento com Google Pay

O objeto googlle_pay possui os seguintes atributos:

Atributos
Tipo
Descrição

version

string

Informação sobre a versão do token. Único valor aceito é EC_v1

merchant_identifier

string

Identificador da loja no Google. O mesmo identificador que foi configurado no aplicativo para criar o token de pagamento.

data

string

Dados de pagamento criptografados

header

object

Informações utilizadas para descriptografar e verificar o pagamento

signature

string

Assinatura dos dados de pagamento e do header

Além disso, o objeto 'header' contém o seguinte atributo:

ephemeral_public_key

string

Ephemeral public key do lojista. EC_v1 apenas.

tag

string

MAC codificado em Base64 de encryptedMessage.

Atenção!

Todos os campos do objeto google_pay são obrigatórios caso a transação seja feita por esse meio de pagamento!

{
    "amount": 1490,
    "currency": "BRL",
    "customer": {
        "name": "Tony Stark",
        "email": "start@avangers.com"
    },
    "payment": {
        
        "payment_method": "credit_card",
        "credit_card": {
            "installments": 1,
            "statement_descriptor": "AVENGERS",
            "payload": {
                "type": "google_pay",
                "google_pay": {
                    "version": "EC_V1",
                    "data": "y8h1Db30sIMZeHLNvsvUqrDizpKtTJxiMc8cLrtr3kgq8F7BzNO7EhdXE7u/N+LwSQl/PYXwZZl9XJuv2icSNLBxhH/duCXtt/u1GhjBsf/pbmspwFQF/iMNJ4TIbDY9tQTYfCpgHplunQR6Jhr3rJ/S6XtkghWQl38zyUsojfGvkEsnxKXI0dCzVolWc3vBH7MNgQzTU54Zrg8abjb32fgRmac4LiB9Ot/bt/CxeyNXGbmXqTbRT8dBGWMtFNk6xIMuwn8pvbfMduewYW3tK0xOHUWtI0zNabND9RMhFfP3Zk9O80eDSYNkAUJkLKIXszfzZcKYxmFWAk30aINAh1nZCfK8zVq25CSlLRA8QB1uPZAwYpjnPIik310qTP8DkcYpLH4PAu63S6MKa9j9pQ0iJRiwh4/dk9H8qzU9YAPI+tgvWBi4u6s8lx9anJn6/jFmHDftGVo1zSSyR/FYmT6sFcTGdrxfsVx6Cg+AQfYdRyEl3N0QYJcRep6JErc7okJwyw12Vg66Nx/GbEwq44MRKWmLYfqbmLqB24LIQ6ha7Coad5zguWsUhk8uGTR7P95vVgeJ",
                    "merchant_identifier": "04340127075727423478",
                    "signature": "MEQCIEC8+HT/qritfpV3ZfTHzZ02ZYPijlfqwXwckX2e1F6BAiAjNXEr0bbcLg79Lg/c/SfLHnjRFFbtRCCEKrJbCUpSzQ==",
                    "header": {
                        "ephemeral_public_key": "BDIGmsKNIr7ZM6r9SURnQFw7bNQAyJPMIYAQBx+SSvI3gPpB8/hcvlLXZ4x0B/5N7q9H80U/Jzvtbzse4cTsvRs=",
                        "tag": "K5H8Gp34SvDkYCQJFxrDDa1V9tut8quExWxj1CRDSoA="
                    }
                }
            }
        }
    },
    "metadata": {
        "code": "123"
    }
}
{
    "id": "ch_GnmLMr5UDtwWgMK6",
    "code": "04Z8A7CX1P",
    "gateway_id": "e153d987-b7c7-4eef-b726-54d74b616c4f",
    "amount": 1490,
    "paid_amount": 1490,
    "status": "paid",
    "currency": "BRL",
    "payment_method": "credit_card",
    "paid_at": "2018-10-01T17:58:28Z",
    "created_at": "2018-10-01T17:58:26Z",
    "updated_at": "2018-10-01T17:58:26Z",
    "customer": {
        "id": "cus_ezKXzL5hN3TEvZ8Q",
        "name": "Tony Stark",
        "email": "stark@avengers.com",
        "delinquent": false,
        "created_at": "2018-10-01T17:58:26Z",
        "updated_at": "2018-10-01T17:58:26Z",
        "phones": {}
    },
    "last_transaction": {
        "id": "tran_1YgLrzOuETVLM7KQ",
        "transaction_type": "credit_card",
        "gateway_id": "e7d20d9c-180f-441c-9d2a-90551dad4b51",
        "amount": 1490,
        "status": "captured",
        "success": true,
        "installments": 1,
        "statement_descriptor": "AVENGERS",
        "acquirer_name": "simulator",
        "acquirer_affiliation_code": "",
        "acquirer_tid": "528010",
        "acquirer_nsu": "45029",
        "acquirer_auth_code": "583340",
        "acquirer_message": "Simulator|Transação de simulação autorizada com sucesso",
        "acquirer_return_code": "0",
        "operation_type": "auth_and_capture",
        "card": {
            "id": "card_l8V9LNmclYF7vBMQ",
            "first_six_digits": "411111",
            "last_four_digits": "1111",
            "brand": "Visa",
            "holder_name": "GOOGLE PAY",
            "exp_month": 12,
            "exp_year": 2023,
            "status": "active",
            "type": "credit",
            "tokenization_method": "google_pay",
            "created_at": "2018-10-01T17:58:27Z",
            "updated_at": "2018-10-01T17:58:27Z"
        },
        "created_at": "2018-10-01T17:58:27Z",
        "updated_at": "2018-10-01T17:58:27Z",
        "gateway_response": {
            "code": "201"
        }
    },
    "metadata": {
        "code": "123"
    }
}

Homologação

Estamos em processo de homologação com a Google, mas para facilitar disponibilizamos, acima, o contrato para requisições!

 
Suggest Edits

Samsung Pay

Para criar uma cobrança ou um pedido com samsung pay, devemos incluir o objeto credit_card dentro do nó payment, assim como a propriedade "payment_method": "credit_card". Além disso, o objeto credit_card deve conter os atributos de token e samsung_pay. O objeto token possui os seguintes atributos:

 
Atributos
Tipo
Descrição

type

string

Determina o tipo de token. Para Samsung Pay deve-se enviar samsung_pay

samsung_pay

object

Campos a serem enviados para pagamento com Samsung Pay

O objeto googlle_pay possui os seguintes atributos:

Atributos
Tipo
Descrição

playload

string

Informação encriptografada do token contendo as informações do cartão.

Além disso, o objeto 'header' contém o seguinte atributo:

Atenção!

Todos os campos do objeto samsung_pay são obrigatórios caso a transação seja feita por esse meio de pagamento!

{
  "amount": 1490,
  "currency": "BRL",
  "customer": {
    "name": "Tony Stark",
    "email": "{{email}}"
  },
  "payment":{
    "payment_method": "credit_card",
    "credit_card": {
      "installments": 1,
      "statement_descriptor": "AVENGERS",
      "payload":{
      	"type":"samsung_pay",
      	"samsung_pay": {
	        "playload":"eyJhbGciOiJSU0ExXzUiLCJraWQiOiIvM1Z6bFlSYURlODNMT0FzVXlQQlZCZjllem5iWFkwOUNVMkhXODVjMmtvPSIsInR5cCI6IkpPU0UiLCJjaGFubmVsU2VjdXJpdHlDb250ZXh0IjoiUlNBX1BLSSIsImVuYyI6IkExMjhHQ00ifQ.u-xYGprUMo-KS0ViUfhmzl3ZfV82_LngHr61tH91t45BFHi2eYyMXH4Itdj_pw0DI6sjx7MdvEYC5F2SHoVFY_sWKYm0oku2btofEgBy25ybVpnv0FYqS0PxQ20bh098qJCBLhy5s9C8zewWwPfsq9QnG2QK1o6QVEMK10zu7780MrukajzbBR52_7_hZHWcKxauFIAJ1bI2tcRmdz7WWRFFlCKUK0ZIwfzri3Bj4FAL6xwGO_NmPwlmaL9LETQFmRoCIv-kG399wLP7ykZ-j_WtBy3i2H4AvgeAy0RQfEfACMRkAMsnGiX67IY0BwHaJYx3HFLN0e8hhC1PCzccaQ.0ek6WnJcLDF20WMG.yK0bTlfx1gDyB4sJO70UCWfNApSAiiPclyojP6Bybwb93v3Zw5ofc2wSJvXp_cShIBbzFfJG6NIimGVPCHaskTwZfblBCj9sXMbaSNdk4mw8YTOtqLXPNvTYswqrXSttRF__ZesICECZwmJRTB8HCZ_pS669eE7S79XAKe_LbOxbw5MGBcraky_qcjdydyMWdEbc1GF9Uk1ybv1IjaXdrPM78uB_S-UCeuxhjNk8iQteRnHw.amoeeuVG6WjxLeYUfzrq_g"
	    }
      }
    }
  },
  "metadata": {
    "code": "123"
  }
}
{
    "id": "ch_2dOjaaSvKhOQjbyJ",
    "code": "PK5KSKQCW4",
    "gateway_id": "d629c0b6-0b05-475a-85a0-a0d1e327bf6e",
    "amount": 1490,
    "paid_amount": 1490,
    "status": "paid",
    "currency": "BRL",
    "payment_method": "credit_card",
    "paid_at": "2018-10-22T16:46:51Z",
    "created_at": "2018-10-22T16:46:50Z",
    "updated_at": "2018-10-22T16:46:50Z",
    "customer": {
        "id": "cus_ZPJEoqvH3AfrWyz4",
        "name": "Tony Stark",
        "email": "2ee93b85-4148-42a8-a6d2-db60a5f930c1@avengers.com",
        "delinquent": false,
        "created_at": "2018-10-22T16:46:49Z",
        "updated_at": "2018-10-22T16:46:49Z",
        "phones": {}
    },
    "last_transaction": {
        "id": "tran_Jdl2e6lTnNuRDaQP",
        "transaction_type": "credit_card",
        "gateway_id": "5c367dff-86f9-4703-b23b-1f926d792877",
        "amount": 1490,
        "status": "captured",
        "success": true,
        "installments": 1,
        "statement_descriptor": "AVENGERS",
        "acquirer_name": "simulator",
        "acquirer_affiliation_code": "",
        "acquirer_tid": "947508",
        "acquirer_nsu": "711616",
        "acquirer_auth_code": "714628",
        "acquirer_message": "Simulator|Transação de simulação autorizada com sucesso",
        "acquirer_return_code": "0",
        "operation_type": "auth_and_capture",
        "card": {
            "id": "card_Gq3bKlEUwzukdkRx",
            "first_six_digits": "544584",
            "last_four_digits": "9407",
            "brand": "Mastercard",
            "holder_name": "SAMSUNG PAY",
            "exp_month": 1,
            "exp_year": 2020,
            "status": "active",
            "type": "credit",
            "tokenization_method": "samsung_pay",
            "created_at": "2018-10-22T16:46:51Z",
            "updated_at": "2018-10-22T16:46:51Z"
        },
        "created_at": "2018-10-22T16:46:51Z",
        "updated_at": "2018-10-22T16:46:51Z",
        "gateway_response": {
            "code": "201",
            "errors": []
        }
    },
    "metadata": {
        "code": "123"
    }
}

Homologação

Estamos em processo de homologação com a Samsung, mas para facilitar disponibilizamos, abaixo, o contrato para requisições!

 
Suggest Edits

Cash

Para criar uma cobrança ou um pedido com cash, devemos incluir o objeto cash dentro do nó payment, assim como a propriedade "payment_method": "cash". O objeto cash contém as seguintes propriedades:

 
Atributos
Tipo
Descrição

description

string

Descrição do pagamento. Max: 256 caracteres.

confirm

boolean

Indica se o pagamento será confirmado no ato da criação da cobrança ou se deve ser confirmado posteriormente.

metadata

object

Objeto chave/valor utilizado para armazenar informações adicionais sobre o pagamento.Saiba mais sobre metadata.

{
	"items": [{
			"amount": 2990,
			"description": "Chaveiro do Tesseract",
			"quantity": 1
		}
	],
	"customer": {
		"name": "Tony Stark",
		"email": "avengerstark@ligadajustica.com.br"
	},
	"payments": [{
			"payment_method": "cash",
			"cash": {
				"description": "Teste",
				"confirm": false
			}
		}
	]
}
{
    "id": "ch_1GWo9VyiBJs4AOBy",
    "code": "6OY1HPSX3L",
    "amount": 1490,
    "paid_amount": 1490,
    "status": "pending",
    "currency": "BRL",
    "payment_method": "cash",
    "created_at": "2018-06-28T18:58:03Z",
    "updated_at": "2018-06-28T18:58:03Z",
    "customer": {
        "id": "cus_qGW6pRYCrU5qwPm2",
        "name": "Tony Stark",
        "email": "tony.stark@avengers.com",
        "delinquent": false,
        "created_at": "2018-06-28T18:58:03Z",
        "updated_at": "2018-06-28T18:58:03Z",
        "phones": {}
    },
    "last_transaction": {
        "description": "Teste",
        "id": "tran_4rKBYmDT9TxWyJgn",
        "transaction_type": "cash",
        "amount": 1490,
        "status": "pending",
        "success": true,
        "created_at": "2018-06-28T18:58:05Z",
        "updated_at": "2018-06-28T18:58:05Z",
        "gateway_response": {}
    },
    "metadata": {
        "code": "123"
    }
}

Status das transações de Cash (Transaction)

As transações de Cash podem pussuir os seguintes status:

Status
Descrição

pending

Pendente

paid

Paga

 
Suggest Edits

Checkout

Para criar um pedido com checkout, devemos incluir o objeto checkout dentro do nó payment, assim como a propriedade "payment_method": "checkout". O objeto checkout contêm as seguintes propriedades:

 
Atributos
Tipo
Descrição

accepted_payment_method

array of string

Meios de pagamento aceitos para o checkout. Valores possíveis: credit_card, debit_card, boleto e bank_transfer.

accepted_multi_payment_methods

array of array of string

Meios de pagamentos aceitos para permitir ao cliente a opção de multimeios. Valores possíveis: credit_card, boleto e credit_card, credit_card .

default_payment_method

string

Meio de pagamento padrão.

success_url

string

URL para redirecionamento de sucesso.

debit_card

object

_Configurações para pagamento com cartão de débito. Saiba mais sobre cartão de débito.

credit_card

object

Configurações para pagamento com cartão de crédito.

credit_card.capture

boolean

Indica se a transação deve ser capturada ou somente autorizada. Caso seja true, o valor é capturado simultaneamente à autorização.

credit_card.statement_descriptor

string

Texto da fatura do cartão.

credit_card.installments

array of objects

Array de configurações de parcelas.

credit_card.installments.number

number

Quantidade de parcelas.

credit_card.installments.total

number

Valor total referente à quantidade de parcelas.

boleto

object

Configurações para pagamento com boleto.

boleto.due_at

string

Data de vencimento do boleto.

boleto.instructions

string

Instruções do boleto.

skip_checkout_success_page

boolean

Permite pular a tela de redirecionamento pós pagamento.

customer_editable

boolean

Torna o objeto do cliente editável.

metadata

object

Objeto chave/valor utilizado para armazenar informações adicionais sobre o pagamento.Saiba mais sobre metadata.

bank_transfer

object

Configurações para pagamento via transferência bancária.

bank_transfer.bank

array of objects

Array de configurações para indicar quais bancos serão utilizados para a transferência bancária.

expires_in

integer

Tempo, em minutos, para a expiração do checkout.

billing_address_editable

boolean

Torna o objeto billing address editável.

billing_address

object

Configuração para endereço de cobrança.

{
   "items":[
      {
         "amount":2990,
         "description":"Chaveiro do Tesseract",
         "quantity":1
      }
   ],
   "customer":{
      "name":"Tony Stark",
      "email":"tstark@avengers.com"
   },
   "payments":[
      {
         "payment_method":"checkout",
         "amount":2000,
         "checkout": {
           "customer_editable" : false,
           "skip_checkout_success_page": true,
           "accepted_payment_methods": [ "credit_card", "boleto", "bank_transfer", "debit_card"],
           "accepted_multi_payment_methods": [ 
		      		["credit_card","credit_card"],
		      		["credit_card","boleto"]
		   			],
           "success_url": "https://www.mundipagg.com",
           "banktransfer": {
             "bank": ["237", "001", "341"]
           },
           "boleto": {
             "bank": "033",
             "instructions": "Pagar até o vencimento",
             "due_at": "2020-07-25T00:00:00Z"
         },
           "credit_card": {
              "capture": true,
              "statement_descriptor": "Desc na fatura",
              "installments": [
                {
                  "number": 1,
                  "total": 2000
                },
                {
                  "number": 2,
                  "total": 2500
                }
             ]
           },
          "debit_card": {
             "authentication":{
               "statement_descriptor": "Desc na fatura",
               "type":"threed_secure",
               "threed_secure":{
                 "mpi":"acquirer",
                 "success_url":"http://www.mundipagg.com"
               }
             }
           }
         }
      }
   ]
}
{
    "id": "or_5ayWvnd3cbHr4w06",
    "code": "5YG7FQF975",
    "amount": 2990,
    "currency": "BRL",
    "closed": false,
    "items": [
        {
            "id": "oi_yB6wRX8psDU7RVPb",
            "description": "Chaveiro do Tesseract",
            "amount": 2990,
            "quantity": 1,
            "status": "active",
            "created_at": "2018-01-05T22:10:28Z",
            "updated_at": "2018-01-05T22:10:28Z"
        }
    ],
    "customer": {
        "id": "cus_XenkEVAFQfZ98mo3",
        "name": "Tony Stark",
        "email": "tstark@avengers.com",
        "delinquent": false,
        "created_at": "2018-01-05T22:08:00Z",
        "updated_at": "2018-01-05T22:08:00Z",
        "phones": {}
    },
    "Shipping": {
          "amount": 1000,
          "description": "Express Shipping",
          "recipient_name": "Gustavo Fonseca",
          "recipient_phone": "707070707070",
          "address": {
  						"line_1": "375, Av. General Justo, Centro",
              "line_2": "8º andar",
              "zip_code": "20021130",
              "city": "Rio de Janeiro",
              "state": "RJ",
              "country": "BR",
              "metadata": {
                "id": "my_address_id"
  					}
					}
        },
  	"shippable" : true,
    "status": "pending",
    "created_at": "2018-01-05T22:10:28Z",
    "updated_at": "2018-01-05T22:10:28Z",
    "checkouts": [
        {
            "id": "chk_mLoWDeXQuXcyj24O",
            "amount": 2000,
          	"currency" : "BRL",
            "success_url": "https://www.mundipagg.com",
            "payment_url": "https://api.mundipagg.com/checkout/v1/orders/chk_mLoWDeXQuXcyj24O",
            "accepted_payment_methods": [
                "credit_card"
            ],
            "status": "open",
            "skip_checkout_success_page": true,
            "created_at": "2018-01-05T22:10:28Z",
            "expires_at": "2018-02-05T22:08:00Z",
            "updated_at": "2018-01-05T22:10:28Z",
            "customer_editable" : false,
            "customer": {
                "id": "cus_XenkEVAFQfZ98mo3",
                "name": "Tony Stark",
                "email": "tstark@avengers.com",
                "delinquent": false,
                "created_at": "2018-01-05T22:08:00Z",
                "updated_at": "2018-01-05T22:08:00Z",
                "phones": {}
            },
            "billing_address_editable" : false,
            "billing_address": {
                  "street": "Malibu Point",
                  "number": "10880",
                  "zip_code": "90265",
                  "neighborhood": "Central Malibu",
                  "city": "Malibu",
                  "state": "CA",
                  "country": "US"
                },
             "shippable" : true,
             "shipping": {
             "amount": 1000,
             "description": "Express Shipping",
             "recipient_name": "Gustavo Fonseca",
             "recipient_phone": "707070707070",
             "address": {
                 "line_1": "375, Av. General Justo, Centro",
                 "line_2": "8º andar",
                 "zip_code": "20021130",
                 "city": "Rio de Janeiro",
                 "state": "RJ",
                 "country": "BR",
                 "metadata": {
                   "id": "my_address_id"
               }
             }
           },
            "bank_transfer": {
                "bank": [
                    "234",
                    "001",
                    "033"
                ]
            },
            "credit_card": {
                "statementDescriptor": "Desc na fatura",
                "installments": [
                    {
                        "number": 1,
                        "total": 2000
                    },
                    {
                        "number": 2,
                        "total": 2500
                    }
                ]
            },
           "debit_card": {
             "authentication":{
               "statement_descriptor": "Desc na fatura",
               "type":"threed_secure",
               "threed_secure":{
                 "mpi":"acquirer",
                 "success_url":"http://www.mundipagg.com"
               }
             }
           }
        }
    ]
}
//This example was built using MundiAPI-PHP SDK.
//For more information, please refer to https://github.com/mundipagg/MundiAPI-PHP

$secretKey = 'sk_test_4tdVXpseumRmqbo'; //the secret key will be provided by MundiPagg.
$basicAuthPassword = ''; //fill it with an empty string

$apiClient = new \MundiAPILib\MundiAPIClient(
    $secretKey,
    $basicAuthPassword
);

$orderController = $apiClient->getOrders();

$customer = new \MundiAPILib\Models\CreateCustomerRequest();
$customer->name = "Tony Stark";
$customer->email = "tonystark@avengers.com";

$checkout = new \MundiAPILib\Models\CreateCheckoutPaymentRequest();
$checkout->customerEditable = false;
$checkout->skipCheckoutSuccessPage = true;
$checkout->acceptedPaymentMethods = ["credit_card", "boleto", "bank_transfer", "debit_card"];
$checkout->acceptedMultiPaymentMethods = [["credit_card", "credit_card"], ["credit_card", "boleto"]];
$checkout->successUrl = "https://www.mundipagg.com";

//Bank transfer payment Setup;
$checkout->bankTransfer = new \MundiAPILib\Models\CreateCheckoutBankTransferRequest();
$checkout->bankTransfer->bank = ["237", "001", "341"];

//Boleto Payment Setup;
$checkout->boleto = new \MundiAPILib\Models\CreateCheckoutBoletoPaymentRequest();
$checkout->boleto->bank = "033";
$checkout->boleto->instructions ="Pagar ate o vencimento";
$checkout->boleto->dueAt = new \DateTime("2021-07-25T00:00:00Z");

//Credit Card Payment Setup;
$checkout->creditCard = new \MundiAPILib\Models\CreateCheckoutCreditCardPaymentRequest();
$checkout->creditCard->capture = true;
$checkout->creditCard->statement_descriptor = "Descriptor example";
$checkout->creditCard->installments = [ //Credit card installments Setup
    new \MundiAPILib\Models\CreateCheckoutCardInstallmentOptionRequest(),
    new \MundiAPILib\Models\CreateCheckoutCardInstallmentOptionRequest()
];
// installment 1;
$checkout->creditCard->installments[0]->number = 1;
$checkout->creditCard->installments[0]->total = 2000;
// installment 2 with extra tax of 500;
$checkout->creditCard->installments[1]->number = 1;
$checkout->creditCard->installments[1]->total = 2500;

// Debit Card Payment Setup;
$checkout->debitCard = new \MundiAPILib\Models\CreateCheckoutDebitCardPaymentRequest();
// Debit card Authentication Setup;
$checkout->debitCard->authentication = new \MundiAPILib\Models\CreatePaymentAuthenticationRequest();
$checkout->debitCard->authentication->type = 'threed_secure';
$checkout->debitCard->authentication->threedSecure = new \MundiAPILib\Models\CreateThreeDSecureRequest();
$checkout->debitCard->authentication->threedSecure->mpi = "acquirer";
$checkout->debitCard->authentication->threedSecure->successUrl = "https://www.mundipagg.com";

$request = new \MundiAPILib\Models\CreateOrderRequest();

$request->items = [new \MundiAPILib\Models\CreateOrderItemRequest()];
$request->items[0]->description = "Tesseract Bracelet";
$request->items[0]->quantity = 1;
$request->items[0]->amount = 2990; // this value should be in cents

$request->payments = [new \MundiAPILib\Models\CreatePaymentRequest()];
$request->payments[0]->amount = 2000; // this value should be in cents
$request->payments[0]->paymentMethod = "checkout";
$request->payments[0]->checkout = $checkout;
$request->customer = $customer;

$result = new \MundiAPILib\Models\GetOrderResponse();
$result->checkouts = [new \MundiAPILib\Models\GetCheckoutPaymentResponse()];
$result = $orderController->createOrder($request);

echo json_encode($result, JSON_PRETTY_PRINT);
from mundiapi.mundiapi_client import MundiapiClient
from mundiapi.models import *
from mundiapi.controllers import *
from mundiapi.exceptions.error_exception import *

MundiapiClient.config.basic_auth_user_name = "SUA_SECRET_KEY:"
orders_controller = orders_controller.OrdersController()

customer = create_customer_request.CreateCustomerRequest()
customer.name = "Tony Stark"
customer.email = "tonystark@avengers.com"

checkout = create_checkout_payment_request.CreateCheckoutPaymentRequest()
checkout.customer_editable = False
checkout.skip_checkout_success_page = True
checkout.accepted_payment_methods = ["credit_card", "boleto", "bank_transfer", "debit_card"]
checkout.accepted_multi_payment_methods = [["credit_card", "credit_card"], ["credit_card", "boleto"]]
checkout.success_url = "https://www.mundipagg.com"

#Bank transfer payment Setup
checkout.bank_transfer = create_checkout_bank_transfer_request.CreateCheckoutBankTransferRequest()
checkout.bank_transfer.bank = ["237", "001", "341"]

#Boleto Payment Setup
checkout.boleto = create_checkout_boleto_payment_request.CreateCheckoutBoletoPaymentRequest()
checkout.boleto.bank = "033"
checkout.boleto.instructions ="Pagar ate o vencimento"
checkout.boleto.due_at = "2021-07-25T00:00:00Z"

#Credit Card Payment Setup
checkout.credit_card = create_checkout_credit_card_payment_request.CreateCheckoutCreditCardPaymentRequest()
checkout.credit_card.capture = True
checkout.credit_card.statement_descriptor = "Descriptor example"
checkout.credit_card.installments = [ # Credit card installments Setup
    create_checkout_card_installment_option_request.CreateCheckoutCardInstallmentOptionRequest(),
    create_checkout_card_installment_option_request.CreateCheckoutCardInstallmentOptionRequest()]
# installment 1
checkout.credit_card.installments[0].number = 1
checkout.credit_card.installments[0].total = 2000
# installment 2 with extra tax of 500
checkout.credit_card.installments[1].number = 1
checkout.credit_card.installments[1].total = 2500

# Debit Card Payment Setup
checkout.debit_card = create_checkout_debit_card_payment_request.CreateCheckoutDebitCardPaymentRequest()
# Debit card Authentication Setup
checkout.debit_card.authentication = create_payment_authentication_request.CreatePaymentAuthenticationRequest()
checkout.debit_card.authentication.mtype = 'none'
checkout.debit_card.authentication.threed_secure = create_three_d_secure_request.CreateThreeDSecureRequest()
checkout.debit_card.authentication.threed_secure.mpi = "acquirer"
checkout.debit_card.authentication.threed_secure.success_url = "https://www.mundipagg.com"

request = create_order_request.CreateOrderRequest()
request.code = "test-SDK-python"
request.items = [create_order_item_request.CreateOrderItemRequest()]
request.items[0].description = "Tesseract Bracelet"
request.items[0].quantity = 1
request.items[0].amount = 2990

request.payments = [create_payment_request.CreatePaymentRequest()]
request.payments[0].amount = 2000
request.payments[0].payment_method = "checkout"
request.payments[0].checkout = checkout
request.customer = customer

try:
    result = get_order_response.GetOrderResponse()
    result.checkouts = [get_checkout_payment_response.GetCheckoutPaymentResponse()]
    result = orders_controller.create_order(request)
    print("Order id: ", result.id)
    print("Checkout id: ", result.checkouts[0].id)
    print("Order result status: ", result.status)
    print("Checkout payment url: ", result.checkouts[0].payment_url)
    assert result.status == "pending"
    assert result.checkouts[0].boleto is not None
    assert result.checkouts[0].credit_card is not None
    assert result.checkouts[0].debit_card is not None
    assert result.checkouts[0].bank_transfer is not None
    assert result.checkouts[0].payment_url is not None
except ErrorException as ex:
    print("\n")
    print("Error Message: ", ex.message)
    print("Status code Response: ", ex.response_code)
    if(ex.errors is not None):
        print("Errors: ", ex.errors)
except Exception as ex:
    raise ex

CHECKOUT APLICA-SE APENAS A PEDIDOS

É importante notar que o meio de pagamento checkout é suportado somente por pedidos, não podendo ser utilizado em cobranças.

 
Suggest Edits

Cobranças

Para realizar cobranças de cartão de crédito ou boleto, você deve criar um objeto charge. Este objeto tem os seguintes atributos:

 
Atributos
Tipo
Descrição

id

string

Código da cobrança. Formato: ch_XXXXXXXXXXXXXXXX.

code

string

Código identificador da cobrança no sistema da loja.

gateway_id

string

Código da cobrança no gateway de pagamento.

amount

integer

Valor da cobrança.

payment_method

string

Meio de pagamento.

status

string

Status da cobrança. Valores possíveis: pending, paid, canceled, processing, failed, overpaid ou underpaid.

due_at

datetime

Data de vencimento da cobrança.

created_at

datetime

Data de criação da cobrança.

updated_at

datetime

Data de atualização da cobrança.

customer

object

Dados do cliente. Saiba mais sobre clientes.

invoice

object

Dados da fatura. Saiba mais sobre faturas.

last_transaction

object

Informações sobre a última transação da cobrança.

metadata

object

Objeto chave/valor utilizado para armazenar informações adicionais sobre a cobrança. Saiba mais sobre metadata.

 
Suggest Edits

Capturar cobrança

 
posthttps://api.mundipagg.com/core/v1/charges/charge_id/capture

Path Params

charge_id
string
required

Código da cobrança.

Body Params

amount
string

Valor a ser capturado. Caso não seja informado, será considerado o valor total da cobrança

code
string

Código da cobrança no sistema da loja. Irá atualizar o valor informado na criação da cobrança. Max: 52 caracteres

 
{
  "amount":"100",
  "code":"ABCDE123"
}
    // Neste exemplo estamos utilizando A sdk C# MundiAPI.PCL
    // Secret key fornecida pela Mundipagg
    string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";
    // Senha em branco. Passando apenas a secret key
    string basicAuthPassword = "";
           
    var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);
    string chargeId = "ch_exRAY21fvNFVD9EX";
            
    // Opcional
    var request = new CreateCaptureChargeRequest {
        Amount = 100,
        Code = "ABCDE123"
    };

    var response = client.Charges.CaptureCharge(chargeId, request);
//This example was built using MundiAPI-PHP SDK.
//For more information, please refer to https://github.com/mundipagg/MundiAPI-PHP

$secretKey = 'sk_test_4tdVXpseumRmqbo'; //the secret key will be provided by MundiPagg.
$basicAuthPassword = ''; //fill it with an empty string

$apiClient = new \MundiAPILib\MundiAPIClient(
    $secretKey,
    $basicAuthPassword
);

$chargesController = $apiClient->getCharges();

$chargeId = "ch_exRAY21fvNFVD9EX";
$request = new \MundiAPILib\Models\CreateCaptureChargeRequest();
$request->code = "ABCDE123";

$result = $chargesController->captureCharge($chargeId, $request);

echo json_encode($result, JSON_PRETTY_PRINT);
package examples.charge;

import com.mundipagg.api.MundiAPIClient;
import com.mundipagg.api.controllers.ChargesController;
import com.mundipagg.api.http.client.*;
import com.mundipagg.api.models.CreateCaptureChargeRequest;
import com.mundipagg.api.models.GetChargeResponse;


public class CaptureCharge {
	
	public static void main(String[] args) {

        String basicAuthUserName = "sk_test_4tdVXpseumRmqbo"; // The username to use with basic authentication
        String basicAuthPassword = ""; // The password to use with basic authentication

        MundiAPIClient client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

        ChargesController charges_controller = new ChargesController();

        String chargeId = "ch_PLoQOAxFLycVra5z";

        CreateCaptureChargeRequest request = new CreateCaptureChargeRequest();

        request.setCode("capture_total_operation");

        charges_controller.captureChargeAsync(chargeId, request, new APICallBack<GetChargeResponse>() {
            @Override
            public void onSuccess(HttpContext context, GetChargeResponse response) {

                System.out.println("Status response: " + context.getResponse().getStatusCode());
                System.out.println("Charge is total captured !");
                System.out.println("Captured amount:" + response.getAmount());
                System.out.println("Charge status: " + response.getStatus());
                System.out.println("Last transaction status: " + response.getLastTransaction().getStatus());
                System.out.println("Last transaction amount: " + response.getLastTransaction().getAmount());
                System.out.println("Last transaction id: " + response.getLastTransaction().getId());

            }

            @Override
            public void onFailure(HttpContext context, Throwable error) {

                System.out.println("Status response: " + context.getResponse().getStatusCode());
                System.out.println(error.getMessage());
                error.printStackTrace();

            }
        });
    }
}
A binary file was returned

You couldn't be authenticated

{
    "id": "ch_6NXoYXyiNfP3A54l",
    "code": "ABCDE123",
    "amount": 1490,
    "paid_amount": 1490,
    "status": "paid",
    "currency": "BRL",
    "payment_method": "credit_card",
    "paid_at": "2019-01-22T14:31:36Z",
    "created_at": "2019-01-22T14:30:12Z",
    "updated_at": "2019-01-22T14:31:36Z",
    "customer": {
        "id": "cus_PYwJvWgOTmiqvW8m",
        "name": "Tony Stark",
        "email": "toinhodalua@nasa.com",
        "delinquent": false,
        "created_at": "2019-01-18T11:50:37Z",
        "updated_at": "2019-01-18T15:46:38Z",
        "phones": {}
    },
    "last_transaction": {
        "id": "tran_QGXDnycJdHKnoVa3",
        "transaction_type": "credit_card",
        "amount": 1490,
        "status": "captured",
        "success": true,
        "installments": 1,
        "statement_descriptor": "AVENGERS",
        "acquirer_tid": "cb42d188-aca6-46f2-a2c9-046cb6342f5d",
        "acquirer_nsu": "cb42d188-aca6-46f2-a2c9-046cb6342f5d",
        "acquirer_auth_code": "416",
        "acquirer_message": "Transação capturada com sucesso",
        "acquirer_return_code": "00",
        "operation_type": "capture",
        "card": {
            "id": "card_jdK2O53TqfnxwRDY",
            "first_six_digits": "400000",
            "last_four_digits": "0010",
            "brand": "Visa",
            "holder_name": "Tony Stark",
            "exp_month": 1,
            "exp_year": 2020,
            "status": "active",
            "type": "credit",
            "created_at": "2019-01-18T12:25:41Z",
            "updated_at": "2019-01-22T14:30:12Z"
        },
        "created_at": "2019-01-22T14:31:36Z",
        "updated_at": "2019-01-22T14:31:36Z",
        "gateway_response": {
            "code": "200",
            "errors": []
        }
    },
    "metadata": {
        "code": "123"
    }
}
{
  "message": "This charge can not be captured."
}
 
Suggest Edits

Obter cobrança

 
gethttps://api.mundipagg.com/core/v1/charges/charge_id

Path Params

charge_id
string
required

Código da cobrança.

 
    // Neste exemplo estamos utilizando A sdk C# MundiAPI.PCL    
    // Secret key fornecida pela Mundipagg
    string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";
    // Senha em branco. Passando apenas a secret key
    string basicAuthPassword = "";

    var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);
    string chargeId = "ch_exRAY21fvNFVD9EX";

    var response = client.Charges.GetCharge(chargeId);
//This example was built using MundiAPI-PHP SDK.
//For more information, please refer to https://github.com/mundipagg/MundiAPI-PHP

$secretKey = 'sk_test_4tdVXpseumRmqbo'; //the secret key will be provided by MundiPagg.
$basicAuthPassword = ''; //fill it with an empty string

$apiClient = new \MundiAPILib\MundiAPIClient(
    $secretKey,
    $basicAuthPassword
);

$chargesController = $apiClient->getCharges();

$chargeId = "ch_exRAY21fvNFVD9EX";

$result = $chargesController->getCharge($chargeId);

echo json_encode($result, JSON_PRETTY_PRINT);
package examples.charge;

import com.mundipagg.api.MundiAPIClient;
import com.mundipagg.api.controllers.ChargesController;
import com.mundipagg.api.http.client.*;
import com.mundipagg.api.models.GetChargeResponse;

public class GetChargeById {
	
	public static void main(String[] args) {

        String basicAuthUserName = "sk_test_4tdVXpseumRmqbo"; // The username to use with basic authentication
        String basicAuthPassword = ""; // The password to use with basic authentication

        MundiAPIClient client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

        String chargeId = "ch_Dzk8rbVSynuM80Ad";

        ChargesController charges_controller = new ChargesController();

        charges_controller.getChargeAsync(chargeId, new APICallBack<GetChargeResponse>() {
            @Override
            public void onSuccess(HttpContext context, GetChargeResponse response) {

                System.out.println("Status response: " + context.getResponse().getStatusCode());
                System.out.println("Charge found!");
                System.out.println("Charge ID: " + response.getId());

            }

            @Override
            public void onFailure(HttpContext context, Throwable error) {

                System.out.println("Status response: " + context.getResponse().getStatusCode());
                System.out.println(error.getMessage());
                error.printStackTrace();

            }
        });

    }

}
A binary file was returned

You couldn't be authenticated

{
    "id": "ch_6NXoYXyiNfP3A54l",
    "code": "ABCDE123",
    "amount": 1490,
    "paid_amount": 1490,
    "status": "paid",
    "currency": "BRL",
    "payment_method": "credit_card",
    "paid_at": "2019-01-22T14:31:36Z",
    "created_at": "2019-01-22T14:30:12Z",
    "updated_at": "2019-01-22T14:31:36Z",
    "customer": {
        "id": "cus_PYwJvWgOTmiqvW8m",
        "name": "Tony Stark",
        "email": "toinhodalua@nasa.com",
        "delinquent": false,
        "created_at": "2019-01-18T11:50:37Z",
        "updated_at": "2019-01-18T15:46:38Z",
        "phones": {}
    },
    "last_transaction": {
        "id": "tran_QGXDnycJdHKnoVa3",
        "transaction_type": "credit_card",
        "amount": 1490,
        "status": "captured",
        "success": true,
        "installments": 1,
        "statement_descriptor": "AVENGERS",
        "acquirer_tid": "cb42d188-aca6-46f2-a2c9-046cb6342f5d",
        "acquirer_nsu": "cb42d188-aca6-46f2-a2c9-046cb6342f5d",
        "acquirer_auth_code": "416",
        "acquirer_message": "Transação capturada com sucesso",
        "acquirer_return_code": "00",
        "operation_type": "capture",
        "card": {
            "id": "card_jdK2O53TqfnxwRDY",
            "first_six_digits": "400000",
            "last_four_digits": "0010",
            "brand": "Visa",
            "holder_name": "Tony Stark",
            "exp_month": 1,
            "exp_year": 2020,
            "status": "active",
            "type": "credit",
            "created_at": "2019-01-18T12:25:41Z",
            "updated_at": "2019-01-22T14:30:12Z"
        },
        "created_at": "2019-01-22T14:31:36Z",
        "updated_at": "2019-01-22T14:31:36Z",
        "gateway_response": {
            "code": "200",
            "errors": []
        }
    },
    "metadata": {
        "code": "123"
    }
}
 
Suggest Edits

Editar metadados da cobrança

 
patchhttps://api.mundipagg.com/core/v1/charges/charge_id/metadata

Path Params

charge_id
string
required

Código da cobrança.

Body Params

metadata
string
required

Objeto chave/valor utilizado para armazenar informações adicionais sobre a cobrança. Saiba mais sobre metadata

 
{
    "metadata": {
      "code": "12345"
    }
}
		// Neste exemplo estamos utilizando A sdk C# MundiAPI.PCL
    // Secret key fornecida pela Mundipagg
    string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";
    // Senha em branco. Passando apenas a secret key
    string basicAuthPassword = "";

    var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);
    string chargeId = "ch_3rY2xJzh1FY7BZqd";

    var metadata = new Dictionary<string, string> {
        { "code", "12345" }
    };

    var request = new UpdateMetadataRequest {
        Metadata = metadata
    };

    var response = client.Charges.UpdateChargeMetadata(chargeId, request);
A binary file was returned

You couldn't be authenticated

{
    "id": "ch_3rY2xJzh1FY7BZqd",
    "code": "R10KFGXIMZ",
    "gateway_id": "1805994",
    "amount": 1490,
    "status": "pending",
    "currency": "BRL",
    "payment_method": "credit_card",
    "created_at": "2017-08-08T20:22:47Z",
    "updated_at": "2017-08-08T20:22:55Z",
    "customer": {
        "id": "cus_ob5v7gCgqTx9v3gk",
        "name": "Felipe Stark",
        "email": "e8a9c04f-97f2-45f3-a1e5-90e806e3ef34@avengers.com",
        "delinquent": false,
        "created_at": "2017-08-08T20:22:46Z",
        "updated_at": "2017-08-08T20:22:46Z",
        "phones": {}
    },
    "last_transaction": {
        "id": "tran_YNbZPN3HmFx76znM",
        "transaction_type": "credit_card",
        "gateway_id": "1805994",
        "amount": 1490,
        "status": "authorized_pending_capture",
        "success": true,
        "installments": 1,
        "statement_descriptor": "AVENGERS",
        "acquirer_name": "pagarme",
        "acquirer_tid": "1805994",
        "acquirer_nsu": "1805994",
        "acquirer_return_code": "0000",
        "operation_type": "auth_only",
        "card": {
            "id": "card_D5j6xo7IpDIGxJzq",
            "first_six_digits": "455685",
            "last_four_digits": "7525",
            "brand": "Visa",
            "holder_name": "Tony Stark",
            "exp_month": 1,
            "exp_year": 2018,
            "status": "active",
            "created_at": "2017-08-08T20:22:47Z",
            "updated_at": "2017-08-08T20:22:47Z",
            "type": "credit"
        },
        "created_at": "2017-08-08T20:22:47Z",
        "updated_at": "2017-08-08T20:22:47Z",
        "gateway_response": {
            "code": "200"
        }
    },
    "metadata": {
        "code": "12345"
    }
}
{
    "message": "Charge not found."
}
 
Suggest Edits

Editar cartão de cobrança

Esse recurso só pode ser chamado quando o cartão a ser editado teve a transação não autorizada.

 
patchhttps://api.mundipagg.com/core/v1/charges/charge_id/card

Path Params

charge_id
string
required

Código da cobrança.

Body Params

update_subscription
string

Indica se o cartão da assinatura deve ser atualizado

card_id
string

Código do cartão.

card
object

Dados do cartão. Saiba mais sobre cartões.

card_token
string

Token do cartão

 
{
	"card": {
		"number": "4000000000000010",
		"holder_name": "Tony Stark",
		"exp_month": 1,
		"exp_year": 20,
		"cvv": "3531",
		"billing_address": {
			"line_1": "10880, Malibu Point, Malibu Central",
			"zip_code": "90265",
			"city": "Malibu",
			"state": "CA",
			"country": "US"
		}
	}
}
// Neste exemplo estamos utilizando A sdk C# MundiAPI.PCL
// Secret key fornecida pela Mundipagg
string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";
// Senha em branco. Passando apenas a secret key
string basicAuthPassword = "";

var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);
string chargeId = "ch_exRAY21fvNFVD9EX";

var card = new CreateCardRequest
{
    Number = "4000000000000010",
    HolderName = "Tony Stark",
    ExpMonth = 12,
    ExpYear = 18,
    Cvv = "243", 
};
        
var request = new UpdateChargeCardRequest
{
    Card = card
};

var response = client.Charges.UpdateChargeCard(chargeId, request);
A binary file was returned

You couldn't be authenticated

{
    "id": "ch_B4rpRdfBxsVv0NQo",
    "code": "98ZZUL0F8Z",
    "amount": 1490,
    "paid_amount": 1490,
    "status": "paid",
    "currency": "BRL",
    "payment_method": "credit_card",
    "paid_at": "2019-01-22T14:40:47Z",
    "created_at": "2019-01-22T14:39:35Z",
    "updated_at": "2019-01-22T14:40:47Z",
    "customer": {
        "id": "cus_PYwJvWgOTmiqvW8m",
        "name": "Tony Stark",
        "email": "toinhodalua@nasa.com",
        "delinquent": false,
        "created_at": "2019-01-18T11:50:37Z",
        "updated_at": "2019-01-18T15:46:38Z",
        "phones": {}
    },
    "last_transaction": {
        "id": "tran_jad0jXPhotb2eNkr",
        "transaction_type": "credit_card",
        "gateway_id": "6f2db50c-cb32-4211-bd71-3450e4b900f7",
        "amount": 1490,
        "status": "captured",
        "success": true,
        "installments": 1,
        "statement_descriptor": "AVENGERS",
        "acquirer_tid": "d2b3e1ab-1b24-4d66-93c8-b304776cd782",
        "acquirer_nsu": "d2b3e1ab-1b24-4d66-93c8-b304776cd782",
        "acquirer_auth_code": "743",
        "acquirer_message": "Transação capturada com sucesso",
        "acquirer_return_code": "00",
        "operation_type": "auth_and_capture",
        "card": {
            "id": "card_jdK2O53TqfnxwRDY",
            "first_six_digits": "400000",
            "last_four_digits": "0010",
            "brand": "Visa",
            "holder_name": "Tony Stark",
            "exp_month": 1,
            "exp_year": 2020,
            "status": "active",
            "type": "credit",
            "created_at": "2019-01-18T12:25:41Z",
            "updated_at": "2019-01-22T14:39:01Z",
            "billing_address": {
                "zip_code": "90265",
                "city": "Malibu",
                "state": "CA",
                "country": "US",
                "line_1": "10880, Malibu Point, Malibu Central"
            }
        },
        "created_at": "2019-01-22T14:40:47Z",
        "updated_at": "2019-01-22T14:40:47Z",
        "gateway_response": {
            "code": "200",
            "errors": []
        }
    },
    "metadata": {
        "code": "123"
    }
}
{
  "message": "This charge may not have changed the card."
}
 
Suggest Edits

Editar data de vencimento da cobrança

 
patchhttps://api.mundipagg.com/core/v1/charges/charge_id/due-date

Path Params

charge_id
string
required

Código da cobrança.

Body Params

due_at
date
required

Data de vencimento.

 
No code samples available
A binary file was returned

You couldn't be authenticated

{
  "id": "ch_9R6419s6Btvp4ykO",
  "code": "R8VI5WU79R",
  "gateway_id": "efda8d57-50d8-4b19-b2d4-873bee2e1b62",
  "amount": 14900000,
  "status": "pending",
  "currency": "BRL",
  "payment_method": "boleto",
  "due_at": "2017-04-04T00:00:00",
  "created_at": "2017-04-04T21:34:32",
  "updated_at": "2017-04-04T21:44:05",
  "customer": {
    "id": "cus_aEkwKv0SmNHMR931",
    "name": "Luke Skywalker",
    "email": "lskywalker@r2d2.com",
    "delinquent": false,
    "created_at": "2017-04-04T19:41:31",
    "updated_at": "2017-04-04T19:41:31"
  },
  "last_transaction": {
    "id": "tran_E3r7OrMh3hbjvwKj",
    "transaction_type": "boleto",
    "gateway_id": "19372a76-a8de-4017-aa91-8c9d21c34185",
    "amount": 14900000,
    "status": "generated",
    "success": true,
    "url": "https://sandbox.mundipaggone.com/Boleto/ViewBoleto.aspx?19372a76-a8de-4017-aa91-8c9d21c34185",
    "pdf": "https://api.mundipagg.com/core/v1.0/transactions/tran_E3r7OrMh3hbjvwKj/pdf",
    "line": "34191.75009 03073.581237 41234.510000 2 71240014900000",
    "barcode": "https://api.mundipagg.com/core/v1.0/transactions/tran_E3r7OrMh3hbjvwKj/barcode",
    "qr_code": "https://api.mundipagg.com/core/v1.0/transactions/tran_E3r7OrMh3hbjvwKj/qrcode",
    "nosso_numero": "00030735",
    "bank": "001",
    "document_number": "094408333",
    "created_at": "2017-04-04T21:44:05",
    "updated_at": "2017-04-04T21:44:05"
  },
  "metadata": {
    "id": "my_charge_id"
  }
}
 
Suggest Edits

Editar método de pagamento

 
patchhttps://api.mundipagg.com/core/v1/charges/charge_id/payment-method

Path Params

charge_id
string
required

Código da cobrança.

Body Params

update_subscription
string

Indica se o meio de pagamento da assinatura deve ser atualizado

payment_method
string
required

Meio de pagamento. Valores possíveis: credit_card, boleto, voucher, bank_transfer ou safety_pay

credit_card
object

Dados sobre o pagamento com cartão de crédito (obrigatório caso payment_method seja credit_card). Saiba mais sobre pagamentos com cartão de crédito

voucher
object

Dados sobre o pagamento com voucher (obrigatório caso payment_method seja voucher). Saiba mais sobre pagamentos com voucher

boleto
object

Dados sobre o pagamento com boleto (obrigatório caso payment_method seja boleto). Saiba mais sobre pagamentos com boleto

bank_transfer
object

Dados sobre o pagamento com transferência entre contas bancárias. (obrigatório caso payment_method seja bank_transfer). Saiba mais sobre pagamentos com transferência entre contas

 
{
    "payment_method": "boleto",
    "boleto": {
      "bank": "033",
      "instructions": "Pagar até o vencimento",
      "due_at": "2020-12-31"
    }
}
    // Neste exemplo estamos utilizando A sdk C# MundiAPI.PCL    
    // Secret key fornecida pela Mundipagg
    string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";
    // Senha em branco. Passando apenas a secret key
    string basicAuthPassword = "";
            
    var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);
    string chargeId = "ch_exRAY21fvNFVD9EX";

    var request = new UpdateChargePaymentMethodRequest {
        PaymentMethod = "boleto",
        Boleto = new CreateBoletoPaymentRequest {
            Bank = "033",
            Instructions = "Pagar até o vencimento",
            DueAt = DateTime.UtcNow.AddDays(2)
        }
    };

    var response = client.Charges.UpdateChargePaymentMethod(chargeId, request);
A binary file was returned

You couldn't be authenticated

{
    "id": "ch_PA2gLJYc9hDxRrXV",
    "code": "DPRWS1C38N",
    "gateway_id": "c22a0e61-2e3e-4317-b11f-08d03046a1a8",
    "amount": 1490000,
    "status": "pending",
    "currency": "BRL",
    "payment_method": "boleto",
    "created_at": "2017-10-05T19:16:51Z",
    "updated_at": "2017-10-05T19:18:39Z",
    "customer": {
        "id": "cus_9rOWDePfdC5qRYgE",
        "name": "Tony Stark",
        "email": "a999087b-1fa2-4ed9-8499-5065ebc2a46a@avengers.com",
        "delinquent": false,
        "created_at": "2017-10-05T19:16:51Z",
        "updated_at": "2017-10-05T19:16:51Z",
        "phones": {}
    },
    "last_transaction": {
        "id": "tran_OX28mah1bSP084wB",
        "transaction_type": "boleto",
        "gateway_id": "659298db-dcae-492a-afc5-47774026ca9f",
        "amount": 1490000,
        "status": "generated",
        "success": true,
        "url": "https://sandbox.mundipaggone.com/Boleto/ViewBoleto.aspx?659298db-dcae-492a-afc5-47774026ca9f",
        "pdf": "https://api.mundipagg.com/core/v1/transactions/tran_OX28mah1bSP084wB/pdf",
        "line": "34191.75009 05636.791237 41234.510000 8 84860001490000",
        "barcode": "https://api.mundipagg.com/core/v1/transactions/tran_OX28mah1bSP084wB/barcode",
        "qr_code": "https://api.mundipagg.com/core/v1/transactions/tran_OX28mah1bSP084wB/qrcode",
        "nosso_numero": "00056367",
        "bank": "033",
        "document_number": "071838848",
        "instructions": "Pagar até o vencimento",
        "due_at": "2020-12-31T00:00:00Z",
        "created_at": "2017-10-05T19:18:39Z",
        "updated_at": "2017-10-05T19:18:39Z",
        "gateway_response": {
            "code": "201"
        }
    },
    "metadata": {
        "code": "123"
    }
}
{
    "message": "This charge can't have the payment method changed."
}
 
Suggest Edits

Cancelar cobrança

 
deletehttps://api.mundipagg.com/core/v1/charges/charge_id

Path Params

charge_id
string
required

Código da cobrança.

Body Params

amount
int32

Valor a ser cancelado. Caso não seja informado, será considerado o valor total da cobrança.

 
    // Neste exemplo estamos utilizando A sdk C# MundiAPI.PCL     
    // Secret key fornecida pela Mundipagg
    string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";
    // Senha em branco. Passando apenas a secret key
    string basicAuthPassword = "";
      
    var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);
    string chargeId = "ch_exRAY21fvNFVD9EX";
  
    var response = client.Charges.CancelCharge(chargeId);
//This example was built using MundiAPI-PHP SDK.
//For more information, please refer to https://github.com/mundipagg/MundiAPI-PHP

$secretKey = 'k_test_4tdVXpseumRmqbo'; //the secret key will be provided by MundiPagg.
$basicAuthPassword = ''; //fill it with an empty string

$apiClient = new \MundiAPILib\MundiAPIClient(
    $secretKey,
    $basicAuthPassword
);

$chargesController = $apiClient->getCharges();

$chargeId = "ch_exRAY21fvNFVD9EX";
$request = new \MundiAPILib\Models\CreateCancelChargeRequest();

$result = $chargesController->cancelCharge($chargeId, $request);

echo json_encode($result, JSON_PRETTY_PRINT);
package examples.charge;

import com.mundipagg.api.MundiAPIClient;
import com.mundipagg.api.controllers.ChargesController;
import com.mundipagg.api.models.CreateCancelChargeRequest;
import com.mundipagg.api.models.GetChargeResponse;
import com.mundipagg.api.http.client.*;

public class CreateCancelCharge {
	
	public static void main(String[] args) {

        String basicAuthUserName = "sk_test_4tdVXpseumRmqbo"; // The username to use with basic authentication
        String basicAuthPassword = ""; // The password to use with basic authentication

        MundiAPIClient client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

        ChargesController charges_controller = new ChargesController();

        String chargeId = "ch_PLoQOAxFLycVra5z";

        CreateCancelChargeRequest request = new CreateCancelChargeRequest();

        charges_controller.cancelChargeAsync(chargeId, request, new APICallBack<GetChargeResponse>() {
            @Override
            public void onSuccess(HttpContext context, GetChargeResponse response) {

                System.out.println("Status response: " + context.getResponse().getStatusCode());
                System.out.println("Canceled amount:" + response.getAmount());
                System.out.println("Charge status: " + response.getStatus());
                System.out.println("Last transaction status: " + response.getLastTransaction().getStatus());
                System.out.println("Last transaction amount: " + response.getLastTransaction().getAmount());
                System.out.println("Last transaction id: " + response.getLastTransaction().getId());
                System.out.println("Charge is total canceled");

            }

            @Override
            public void onFailure(HttpContext context, Throwable error) {

                System.out.println("Status response: " + context.getResponse().getStatusCode());
                System.out.println(error.getMessage());
                error.printStackTrace();

            }
        });
    }

}
A binary file was returned

You couldn't be authenticated

{
    "id": "ch_B4rpRdfBxsVv0NQo",
    "code": "98ZZUL0F8Z",
    "amount": 1490,
    "paid_amount": 1490,
    "canceled_amount": 1490,
    "status": "canceled",
    "currency": "BRL",
    "payment_method": "credit_card",
    "paid_at": "2019-01-22T14:40:47Z",
    "canceled_at": "2019-01-22T14:48:06Z",
    "created_at": "2019-01-22T14:39:35Z",
    "updated_at": "2019-01-22T14:48:06Z",
    "customer": {
        "id": "cus_PYwJvWgOTmiqvW8m",
        "name": "Tony Stark",
        "email": "toinhodalua@nasa.com",
        "delinquent": false,
        "created_at": "2019-01-18T11:50:37Z",
        "updated_at": "2019-01-18T15:46:38Z",
        "phones": {}
    },
    "last_transaction": {
        "id": "tran_3oR7lMpfEha2LYGn",
        "transaction_type": "credit_card",
        "amount": 1490,
        "status": "refunded",
        "success": true,
        "installments": 1,
        "statement_descriptor": "AVENGERS",
        "acquirer_tid": "d2b3e1ab-1b24-4d66-93c8-b304776cd782",
        "acquirer_nsu": "15044",
        "acquirer_auth_code": "743",
        "acquirer_message": "Transação capturada com sucesso",
        "acquirer_return_code": "00",
        "operation_type": "cancel",
        "card": {
            "id": "card_jdK2O53TqfnxwRDY",
            "first_six_digits": "400000",
            "last_four_digits": "0010",
            "brand": "Visa",
            "holder_name": "Tony Stark",
            "exp_month": 1,
            "exp_year": 2020,
            "status": "active",
            "type": "credit",
            "created_at": "2019-01-18T12:25:41Z",
            "updated_at": "2019-01-22T14:39:01Z",
            "billing_address": {
                "zip_code": "90265",
                "city": "Malibu",
                "state": "CA",
                "country": "US",
                "line_1": "10880, Malibu Point, Malibu Central"
            }
        },
        "created_at": "2019-01-22T14:48:06Z",
        "updated_at": "2019-01-22T14:48:06Z",
        "gateway_response": {
            "code": "200",
            "errors": []
        }
    },
    "metadata": {
        "code": "123"
    }
}
 
Suggest Edits

Listar cobranças

 
gethttps://api.mundipagg.com/core/v1/charges

Query Params

code
string

Código de referência da cobrança no sistema da loja

status
string

Status da cobrança. Valores possíveis: pending, paid, canceled, processing, failed, overpaid ou underpaid

payment_method
string

Meio de pagamento. Valores possíveis: credit_card, boleto, bank_transfer, safetypay ou voucher

customer_id
string

Código do cliente.

order_id
string

Código do pedido.

created_since
date

Data de início do período de criação a ser listado.

created_until
date

Data de final do período de criação a ser listado.

page
int32

Página atual.

size
int32

Quantidade de itens por página.


Paginação

Este recurso utiliza paginação para manipulação da listagem resultante. Saiba mais sobre paginação.

    // Neste exemplo estamos utilizando A sdk C# MundiAPI.PCL    
    // Secret key fornecida pela Mundipagg
    string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";
    // Senha em branco. Passando apenas a secret key
    string basicAuthPassword = "";
    var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

    var response = client.Charges.GetCharges();
A binary file was returned

You couldn't be authenticated

{
  "data": [
    {
      "id": "ch_NLJjZ99IoHXKgk38",
      "code": "N1OJFMGA0M",
      "amount": 1490,
      "paid_amount": 1490,
      "status": "paid",
      "currency": "BRL",
      "payment_method": "credit_card",
      "paid_at": "2019-01-22T14:49:45Z",
      "created_at": "2019-01-22T14:49:44Z",
      "updated_at": "2019-01-22T14:49:44Z",
      "customer": {
        "id": "cus_PYwJvWgOTmiqvW8m",
        "name": "Tony Stark",
        "email": "toinhodalua@nasa.com",
        "delinquent": false,
        "created_at": "2019-01-18T11:50:37Z",
        "updated_at": "2019-01-18T15:46:38Z",
        "phones": {}
      },
      "last_transaction": {
        "id": "tran_DvedVaeSWLfKDwXj",
        "transaction_type": "credit_card",
        "gateway_id": "775844a3-5c04-4ad2-a8d7-86cdcb42e8e7",
        "amount": 1490,
        "status": "captured",
        "success": true,
        "installments": 1,
        "statement_descriptor": "AVENGERS",
        "acquirer_tid": "30e4f16b-5cf9-4173-aa0b-756cbbd5af35",
        "acquirer_nsu": "30e4f16b-5cf9-4173-aa0b-756cbbd5af35",
        "acquirer_auth_code": "859",
        "acquirer_message": "Transação capturada com sucesso",
        "acquirer_return_code": "00",
        "operation_type": "auth_and_capture",
        "card": {
          "id": "card_jdK2O53TqfnxwRDY",
          "first_six_digits": "400000",
          "last_four_digits": "0010",
          "brand": "Visa",
          "holder_name": "Tony Stark",
          "exp_month": 1,
          "exp_year": 2020,
          "status": "active",
          "type": "credit",
          "created_at": "2019-01-18T12:25:41Z",
          "updated_at": "2019-01-22T14:39:01Z",
          "billing_address": {
            "zip_code": "90265",
            "city": "Malibu",
            "state": "CA",
            "country": "US",
            "line_1": "10880, Malibu Point, Malibu Central"
          }
        },
        "created_at": "2019-01-22T14:49:44Z",
        "updated_at": "2019-01-22T14:49:44Z",
        "gateway_response": {
          "code": "200",
          "errors": []
        }
      },
      "metadata": {
        "code": "123"
      }
    },
    {
      "id": "ch_Vm6ewLmiY1cK4XQP",
      "code": "M5JLAW0I6R",
      "amount": 1490,
      "paid_amount": 1490,
      "status": "paid",
      "currency": "BRL",
      "payment_method": "credit_card",
      "paid_at": "2019-01-22T14:49:41Z",
      "created_at": "2019-01-22T14:49:40Z",
      "updated_at": "2019-01-22T14:49:40Z",
      "customer": {
        "id": "cus_PYwJvWgOTmiqvW8m",
        "name": "Tony Stark",
        "email": "toinhodalua@nasa.com",
        "delinquent": false,
        "created_at": "2019-01-18T11:50:37Z",
        "updated_at": "2019-01-18T15:46:38Z",
        "phones": {}
      },
      "last_transaction": {
        "id": "tran_N9ZaxANIVdHz1JPY",
        "transaction_type": "credit_card",
        "gateway_id": "b4fe6901-7cb3-4e10-b1c5-5d606281c030",
        "amount": 1490,
        "status": "captured",
        "success": true,
        "installments": 1,
        "statement_descriptor": "AVENGERS",
        "acquirer_tid": "2117421a-bb5f-4181-83db-31f2b06d78e8",
        "acquirer_nsu": "2117421a-bb5f-4181-83db-31f2b06d78e8",
        "acquirer_auth_code": "481",
        "acquirer_message": "Transação capturada com sucesso",
        "acquirer_return_code": "00",
        "operation_type": "auth_and_capture",
        "card": {
          "id": "card_jdK2O53TqfnxwRDY",
          "first_six_digits": "400000",
          "last_four_digits": "0010",
          "brand": "Visa",
          "holder_name": "Tony Stark",
          "exp_month": 1,
          "exp_year": 2020,
          "status": "active",
          "type": "credit",
          "created_at": "2019-01-18T12:25:41Z",
          "updated_at": "2019-01-22T14:39:01Z",
          "billing_address": {
            "zip_code": "90265",
            "city": "Malibu",
            "state": "CA",
            "country": "US",
            "line_1": "10880, Malibu Point, Malibu Central"
          }
        },
        "created_at": "2019-01-22T14:49:41Z",
        "updated_at": "2019-01-22T14:49:41Z",
        "gateway_response": {
          "code": "200",
          "errors": []
        }
      },
      "metadata": {
        "code": "123"
      }
    }
  ],
  "paging": {
    "total": 80,
    "next": "https://api.mundipagg.com/core/v1/charges?page=2&size=2"
  }
}
 
Suggest Edits

Retentar uma cobrança manualmente

 
posthttps://api.mundipagg.com/core/v1/charges/charge_id/retry

Path Params

charge_id
string
required

Código da cobrança.


A Mundipagg oferece métodos de RETENTATIVA AUTOMÁTICA !

  • Retentativa Automática: reprocessa automaticamente na mesma ou em outra adquirente, as transações não autorizadas, de acordo com a configuração programada.

  • Retentativa Offline: visa recuperar cobranças não autorizadas, sendo configuradas através da unidade de medida hora, tendo como base a última tentativa.

Saiba mais sobre os retentativas através de nossa documentação de negócios ou entrando em contato conosco através de suporte@mundipagg.com!

     // Neste exemplo estamos utilizando A sdk C# MundiAPI.PCL
		// Secret key fornecida pela Mundipagg
    string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";
    // Senha em branco. Passando apenas a secret key
    string basicAuthPassword = "";
            
    var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);
    string chargeId = "ch_exRAY21fvNFVD9EX";

    var response = client.Charges.RetryCharge(chargeId);
//This example was built using MundiAPI-PHP SDK.
//For more information, please refer to https://github.com/mundipagg/MundiAPI-PHP

$secretKey = 'sk_test_4tdVXpseumRmqbo'; //the secret key will be provided by MundiPagg.
$basicAuthPassword = ''; //fill it with an empty string

$apiClient = new \MundiAPILib\MundiAPIClient(
    $secretKey,
    $basicAuthPassword
);

$chargesController = $apiClient->getCharges();

$chargeId = "ch_exRAY21fvNFVD9EX";

$result = $chargesController->retryCharge($chargeId);

echo json_encode($result, JSON_PRETTY_PRINT);
package examples.charge;

import com.mundipagg.api.MundiAPIClient;
import com.mundipagg.api.controllers.ChargesController;
import com.mundipagg.api.http.client.APICallBack;
import com.mundipagg.api.http.client.HttpContext;
import com.mundipagg.api.models.GetChargeResponse;

public class RetryCharge {
	
	public static void main(String[] args) {
		
        String basicAuthUserName = "sk_test_4tdVXpseumRmqbo"; // The username to use with basic authentication
        String basicAuthPassword = ""; // The password to use with basic authentication

        MundiAPIClient client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);

        ChargesController charges_controller = new ChargesController();

        String chargeId = "ch_8dla503fAUdNXgz2";

        charges_controller.retryChargeAsync(chargeId, new APICallBack<GetChargeResponse>() {
            @Override
            public void onSuccess(HttpContext context, GetChargeResponse response) {

                System.out.println("Status response: " + context.getResponse().getStatusCode());
                System.out.println("Charge retry!");
                System.out.println("Charge ID: " + response.getId());
                System.out.println("Charge status: " + response.getStatus());
                System.out.println("Last transaction status: " + response.getLastTransaction().getStatus());

            }

            @Override
            public void onFailure(HttpContext context, Throwable error) {

                System.out.println("Status response: " + context.getResponse().getStatusCode());
                System.out.println(error.getMessage());
                error.printStackTrace();

            }
        });
    }

}
A binary file was returned

You couldn't be authenticated

{
  "id": "ch_exRAY21fvNFVD9EX",
  "code": "8M2OT2SRX8",
  "gateway_id": "c5d71b01-174e-453f-8563-fd089cf7b39b",
  "amount": 14900000,
  "status": "failed",
  "currency": "BRL",
  "payment_method": "credit_card",
  "due_at": "2017-04-04T00:00:00",
  "created_at": "2017-04-04T22:29:33",
  "updated_at": "2017-04-04T22:29:54",
  "customer": {
    "id": "cus_aEkwKv0SmNHMR931",
    "name": "Luke Skywalker",
    "email": "lskywalker@r2d2.com",
    "delinquent": false,
    "created_at": "2017-04-04T19:41:31",
    "updated_at": "2017-04-04T19:41:31"
  },
  "last_transaction": {
    "id": "tran_dZm79oYT0ckRlw1o",
    "transaction_type": "credit_card",
    "gateway_id": "f3c316f7-3f6c-47bc-ac03-da01e51444aa",
    "amount": 14900000,
    "status": "not_authorized",
    "success": false,
    "installments": 1,
    "statement_descriptor": "Spotify",
    "acquirer_name": "simulator",
    "acquirer_affiliation_code": "MUNDI",
    "acquirer_tid": "",
    "acquirer_nsu": "",
    "acquirer_auth_code": "",
    "acquirer_message": "Simulator|Transação de simulação não autorizada",
    "acquirer_return_code": "1",
    "operation_type": "auth_only",
    "credit_card": {
      "id": "card_2bKzdEGsYYFkymqG",
      "first_six_digits": "542501",
      "last_four_digits": "5322",
      "brand": "Visa",
      "holder_name": "Luke Skywalker",
      "exp_month": 5,
      "exp_year": 2017,
      "status": "active",
      "created_at": "2017-04-04T19:41:31",
      "updated_at": "2017-04-04T19:41:31",
      "billing_address": {
        "zip_code": "90265",
        "city": "Malibu",
        "state": "CA",
        "country": "US",
         "line_1": "10880, Malibu Point, Malibu Central"
      }
    },
    "created_at": "2017-04-04T22:29:33",
    "updated_at": "2017-04-04T22:29:33"
  },
  "metadata": {
    "id": "my_charge_id"
  }
}
 
Suggest Edits

Confirmar cobrança (cash)

Para a confirmação de cobranças com meio de pagamento cash com o status pending.

 
posthttps://api.mundipagg.com/core/v1/charges/charge_id/confirm-payment

Path Params

charge_id
string
required

Código da cobrança.

Body Params

amount
string

Valor a ser confirmado. Caso não seja informado, será considerado o valor total da cobrança

code
string

Código da cobrança no sistema da loja. Irá atualizar o valor informado na criação da cobrança. Max: 52 caracteres

description
string

Descrição

 
{
  "amount":"100",
  "code":"ABCDE123"
  "description": "teste"
}
    // Neste exemplo estamos utilizando A sdk C# MundiAPI.PCL
    // Secret key fornecida pela Mundipagg
    string basicAuthUserName = "sk_test_4tdVXpseumRmqbo";
    // Senha em branco. Passando apenas a secret key
    string basicAuthPassword = "";
           
    var client = new MundiAPIClient(basicAuthUserName, basicAuthPassword);
    string chargeId = "ch_exRAY21fvNFVD9EX";
            
    // Opcional
    var request = new CreateCaptureChargeRequest {
        Amount = 100,
        Code = "ABCDE123"
    };

    var response = client.Charges.CaptureCharge(chargeId, request);
A binary file was returned

You couldn't be authenticated

{
  "id": "ch_7YBoBPWCVKS3QdyM",
  "code": "WZQS3LHEKW",
  "gateway_id": "42c243c4-0b52-49f3-ba92-e8661ebc7916",
  "amount": 1490,
  "status": "paid",
  "currency": "BRL",
  "payment_method": "credit_card",