Moip Developer Center

Seja bem vindo à página de documentação do Moip. Aqui você encontrará a documentação e referência completa das nossas APIs e produtos.

Documentação      Referência API
Suggest Edits

Introdução

 

Abordagem RESTful

As novas APIs do Moip foram implementadas com base na arquitetura RESTful. Para nomear os recursos usamos nomes (Pedidos, Pagamentos, Clientes e outros) e suportamos diversas chamadas HTTP verbs para cada recurso. Desta forma, o mesmo recurso, por exemplo, v2/customers/ pode ser usado tanto para criar um novo Cliente, através do método POST, quanto para consultar uma lista de clientes com o método GET.

Esta API usa JSON como media-type padrão. Usamos em toda nossa API o padrão UTF-8.Com o conceito de hypermedia HATEOAS você pode usar as estruturas de links entre os recursos para automatizar sua aplicação tornando ainda mais ágil a sua integração com as soluções de pagamento Moip.

Error states

Em todas as requisições você deve esperar um HTTP Status. Além do HTTP status você receberá um objeto com os atributos abaixo para auxílio à correção das requisições.

Atributos

Nome Descrição Detalhes
code Código identificador do erro string
path Parâmetro relacionado ao erro string
description Descrição do erro string

Todos os erros mapeados retornarão com o http status 4xx para sua aplicação. Caso você receba um http status 5xx para uma requisição válida por gentileza entre em contato conosco.

  • Erros 400, deve ser tratado por sua aplicação, nós iremos sempre retornar um JSON indicando o motivo do erro.
  • Erros 401 indicam erro de autenticação, confirme se sua autenticação pode realizar a ação desejada e se está usando o ambiente correto, lembre-se que as chaves de produção e de sandbox são distintas.
  • Erros 500 são erros internos, nesses casos reporte-nos diretamente pelo e-mail dev@moip.com.br.

Exemplo:

{
  "errors": [
    {
      "code": "ORD-001",
      "path": "ownId",
      "description": "É necessario informar seu identificador próprio"
    }
  ]
}

Clique aqui e veja nossa lista de erros.

Formato das respostas

Para os métodos POST /resources e GET /resource/:id você deve esperar como retorno a representação completa do recurso utilizado com os atributos nulos/vazios omitidos. Nos casos em que existam recursos aninhados, como os Pagamentos dentro de um Pedido, ao consultar o recurso pai (Pedido) os Pagamentos (recurso filho) serão apresentados em sua representação mínima. A representação mínima é uma versão reduzida do recurso com as informações mais relevantes. Para obter a representação completa do recurso filho (Pagamento) basta realizar o GET em sua própria URI.

Versionamento

A API está em sua versão 2.0. Todas os parâmetros e os atributos esperados de cada chamada estão representados nesta documentação. Evoluções futuras que tornem incompatíveis qualquer integração já realizadas serão tratadas como novas versões da API. Evoluções que não gerem incompatibilidade são implementadas e a documentação atualizada por meio da seção Changelog.

O que são consideradas evoluções que não geram incompatibilidade?

  • Inclusão de novos recursos ou novos atributos de um recurso existente
  • Inclusão de parâmetros opcionais em métodos existentes
  • Alteração da ordem de exibição dos atributos em uma resposta
  • Alteração do formato de retorno de atributos nulos. Sua aplicação deve entender respostas Null, “”, ou atributo não retornado
  • Inclusão de novos eventos de webhooks

Listagem e busca

Em algumas de nossas APIs está disponível o recurso de busca detalhada, como padrão sempre será usado três métodos para compor sua busca, podendo ser usados separadamente ou em conjunto para refinar sua busca, são eles:

  • Paginação: determina quantos registros serão retornados.
  • Consulta genérica: busca por uma string ou informação que você tenha utilizado na criação do recurso.
  • Filtros: delimita alguns parâmetros em sua busca.

Paginação

Os registros são atualmente ordenados pela data de criação em ordem decrescente.

Nome
Tipo
Descrição

limit

inteiro

Quantidade de registros por busca (página). O valor default é 20

offset

inteiro

Registro a partir do qual a busca vai retornar. O valor default é 0.

Exemplo:

GET v2/recurso?limit=100&offset=300

IMPORTANTE

Ao fazer uma consulta o Moip retornará um hyperlink para que você possa fazer a navegação e fazer uma nova consulta com os mesmos parâmetros (_links.next e _links.previous), retornando os resultados posteriores e anteriores a sua consulta. )

Consulta Genérica

É possível buscar um valor específico em seu pedido usando o parâmetro q na url do recurso, esse método é ideal para buscar um recursos por meio de seu identificador próprio.

Nome
Descrição

q

Consulta um valor em específico

Exemplo

GET v2/recurso?q=meu_id_proprio

Filtros

Os filtros podem ser usados para refinar ainda mais a sua busca, como por exemplo retornar pedidos que só estejam em um status ou entre um e outro. Os delimitadores te ajudam nesses cenários.

Cada recurso possui seus atributos disponíveis para filtros. Consulte a documentação do recurso desejado para saber quais você pode utilizar.

Delimitadores:

A URI deve ser montada passando os filtros dentro do parâmetro filters. Use os delimitadores :: (para representar chave e valor) e | (para separar um filtro de outro).

Nome
Tipo
Descrição

gt(x)

number or date

Maior que - “Greater Than”

ge(x)

number or date

Maior ou igual - “Greater than or Equal”

lt(x)

number or date

Menor que - “Less Than”

le(x)

number or date

Menor ou igual - “Less than or Equal”

bt(x,y)

string

Entre - “BeTween”

in(x,y…z)

string

Em - “IN”

Exemplo Simples

GET v2/recurso?filters=status::in(PAID,WAITING)

Exemplo Completo

Fazendo uma busca de transações de valores entre 5000 e 10000 (em centavos), usando as formas de pagamento Cartão de Crédito e Boleto, fazendo uma query em jose silva e retornando 3 resultados.

https://sandbox.moip.com.br/v2/orders?q=pagamento do pedido&filters=status::in(PAID,WAITING)|paymentMethod::in(CREDIT_CARD,BOLETO)|value::bt(5000,10000)&limit=3&offset=0

Ambientes

Todos os exemplos dispostos nessa documentação fazem referência ao ambiente de testes (Sandbox) Moip, onde não ocorrem cobranças reais. Contudo, o comportamento executado em ambiente Sandbox é idêntico ao ambiente real (Produção).

Após realizar sua implementação usando o ambiente de sandbox você deve alterar suas chaves de autenticação e o endpoint para apontar as chamadas para o ambiente de produção.

  • Produção: https://api.moip.com.br
  • Sandbox: https://sandbox.moip.com.br

Changelog

Criamos uma página especial para que você possa acompanhar nossas principais mudanças alem de uma lista de notificação. Clique aqui para acessar essa página e se cadastre para receber as notificações de alteração por e-mail.

Acompanhe também pelo HitchHQ

Começando

Recomendamos que você leia os guias apresentados na nossa documentação de negócios para facilitar o entendimento de nossas APIs e obter uma visão ampla de quais serviços serão necessários utilizar para o seu tipo de negócio. Devs podem preferir navegar pelos recursos abaixo para descobrir todas as possibilidades da v2.

Suggest Edits

Clientes

Cliente é o usuário de um serviço ou o comprador de uma determinada loja virtual. Esta API permite a criação e a consulta de um determinado cliente.

 

Atributos

Nome
Descrição
Detalhes

id

Id Moip do cliente.

string(16), response

ownId

Id próprio do cliente. Referência externa.

string(65)

fullname

Nome completo do cliente.

string(90)

email

Email do cliente.

string(45)

phone

Telefone do cliente.

structured

├─countryCode

DDI (código internacional) do telefone. Valores possíveis: 55.

integer(2)

├─areaCode

DDD (código local) do telefone.

integer(2)

└─number

Número do telefone.

integer(9)

birthDate

Data de nascimento do cliente.

date (AAAA-MM-DD)

taxDocument

Documento fiscal.

structured

├─type

Tipo do documento. Valores possíveis: CPF, CNPJ.

string

└─number

Número do documento.

string(11)

shippingAddress

Endereço de entrega do cliente.

Object Endereço

fundingInstrument

Instrumento de cobrança. DEPRECATED Removido em 15/01/16

structured

├─method

Método do instrumento de cobrança. Valores possíveis: CREDIT_CARD.

string

└─creditCard

Cartão de crédito.

fundingInstruments

Instrumentos de cobrança.

structured list

├─method

Método do instrumento de cobrança. Valores possíveis: CREDIT_CARD.

string

└─creditCard

Cartão de crédito.

moipAccount

MPA da conta do comprador (se houver).

structured list

├─id

Identificador da conta Moip.

string

createdAt

Data de criação do recurso.

datetime, response

_links

Links do recurso.

structured, response

├─self

Hyperlink para o próprio recurso.

structured

└─└─href

URI do próprio recurso.

link

├─hostedAccount

Hyperlink para a página de hostedAccount.

structured

└─└─redirectUrl

URL de redirecionaamento do hostedAccount.

link

Suggest Edits

Criar um cliente

Por meio desta API é possível criar um Cliente.

Preencha todos os campos obrigatórios para que a transação seja elegível ao Venda protegida

 
posthttps://sandbox.moip.com.br/v2/customers

Body Params

ownId
string
required

Id próprio do cliente. Referência externa. Limite de caracteres: (65).

fullname
string
required

Nome completo do cliente. Limite de caracteres: (90)

email
string
required

Email do cliente. Limite de caracteres: (45)

phone
object
phone.countryCode
string
required

DDI (código internacional) do telefone. Valores possíveis: 55. Limite de caracteres: 2

phone.areaCode
string
required

Código de área do cliente. Limite de caracteres: (2).

phone.number
string
required

Número de telefone do cliente. Limite de caracteres: 9

birthDate
date

Data de nascimento do cliente. date (AAAA-MM-DD)

taxDocument
object
taxDocument.type
string

Tipo do documento. Valores possíveis: CPF, CNPJ. Limite de caracteres: (4)

taxDocument.number
string

Número do documento. Limite de caracteres: (11)

shippingAddress
object
shippingAddress.street
string
required

Logradouro do endereço

shippingAddress.complement
string

Complemento do endereço.

shippingAddress.district
string
required

Bairro

shippingAddress.city
string
required

Cidade

shippingAddress.state
string
required

Estado

shippingAddress.country
string
required

País em formato ISO-alpha3, exemplo BRA.

shippingAddress.zipCode
string
required

O CEP do endereço de cobrança

Headers

Authorization
string
required

Hash de autorização tipo Basic gerado a partir da sua Chave e Token encontrados nas configurações de sua conta Moip

Content-Type
string
required

Especificar o tipo do conteúdo da requisição. Valores possíveis: "application/json"

{
  "ownId": "meu_id_sandbox_123",
  "fullname": "Jose Silva",
  "email": "jose_silva0@email.com",
  "birthDate": "1988-12-30",
  "taxDocument": {
    "type": "CPF",
    "number": "22222222222"
  },
  "phone": {
    "countryCode": "55",
    "areaCode": "11",
    "number": "66778899"
  },
  "shippingAddress": {
    "city": "Sao Paulo",
    "complement": "8",
    "district": "Itaim",
    "street": "Avenida Faria Lima",
    "streetNumber": "2927",
    "zipCode": "01234000",
    "state": "SP",
    "country": "BRA"
  }
}
A binary file was returned

You couldn't be authenticated

{
  "id": "CUS-Q3BL0CAJ2G33",
  "ownId": "meu_id_sandbox_123",
  "fullname": "Jose Silva",
  "createdAt": "2017-05-30T07:53:59.000-03",
  "birthDate": "1988-12-30",
  "email": "jose_silva0@email.com",
  "phone": {
    "countryCode": "55",
    "areaCode": "11",
    "number": "66778899"
  },
  "taxDocument": {
    "type": "CPF",
    "number": "22222222222"
  },
  "shippingAddress": {
    "zipCode": "01234000",
    "street": "Avenida Faria Lima",
    "streetNumber": "2927",
    "complement": "8",
    "city": "Sao Paulo",
    "district": "Itaim",
    "state": "SP",
    "country": "BRA"
  },
  "_links": {
    "self": {
      "href": "https://sandbox.moip.com.br/v2/customers/CUS-Q3BL0CAJ2G33"
    },
    "hostedAccount": {
      "redirectHref": "https://hostedaccount-sandbox.moip.com.br?token=b69afe27-31e6-4db0-aec0-42444ec2ec6a&id=CUS-Q3BL0CAJ2G33&mpa=MPA-E3C8493A06AE"
    }
  }
}
Suggest Edits

Consultar um cliente

Por meio desta API é possível consultar as informações e detalhes de um cliente.

 
gethttps://sandbox.moip.com.br/v2/customers/customer_id

Path Params

customer_id
string
required

Headers

Authorization
string
required

Authorization Basic Hash de autorização tipo Basic gerado a partir da sua Chave e Token encontrados nas configurações de sua conta Moip

curl --request GET \
  --url https://sandbox.moip.com.br/v2/customers/CUS-11LZNSUTDC2M \
  --header 'authorization: Basic MDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDE6QUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQg=='
var request = require("request");

var options = { method: 'GET',
  url: 'https://sandbox.moip.com.br/v2/customers/CUS-11LZNSUTDC2M',
  headers: { authorization: 'Basic MDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDE6QUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQg==' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://sandbox.moip.com.br/v2/customers/CUS-11LZNSUTDC2M")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Basic MDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDE6QUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQg=='

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://sandbox.moip.com.br/v2/customers/CUS-11LZNSUTDC2M");
xhr.setRequestHeader("authorization", "Basic MDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDE6QUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQg==");

xhr.send(data);
import requests

url = "https://sandbox.moip.com.br/v2/customers/CUS-11LZNSUTDC2M"

headers = {'authorization': 'Basic MDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDEwMTAxMDE6QUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQkFCQUJBQg=='}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "id": "CUS-Q3BL0CAJ2G33",
  "ownId": "meu_id_sandbox_123",
  "fullname": "Jose Silva",
  "createdAt": "2017-05-30T07:53:59.000-03",
  "birthDate": "1988-12-30",
  "email": "jose_silva0@email.com",
  "phone": {
    "countryCode": "55",
    "areaCode": "11",
    "number": "66778899"
  },
  "taxDocument": {
    "type": "CPF",
    "number": "22222222222"
  },
  "shippingAddress": {
    "zipCode": "01234000",
    "street": "Avenida Faria Lima",
    "streetNumber": "2927",
    "complement": "8",
    "city": "Sao Paulo",
    "district": "Itaim",
    "state": "SP",
    "country": "BRA"
  },
  "_links": {
    "self": {
      "href": "https://sandbox.moip.com.br/v2/customers/CUS-Q3BL0CAJ2G33"
    },
    "hostedAccount": {
      "redirectHref": "https://hostedaccount-sandbox.moip.com.br?token=b69afe27-31e6-4db0-aec0-42444ec2ec6a&id=CUS-Q3BL0CAJ2G33&mpa=MPA-E3C8493A06AE"
    }
  }
}
Suggest Edits

Adicionar um cartão de crédito

Por meio desta API é possível adicionar um ou mais cartões de crédito a um Cliente.

 
posthttps://sandbox.moip.com.br/v2/customers/customer_id/fundinginstruments

Path Params

customer_id
string
required

Body Params

method
string

Método do instrumento de cobrança. Valores possíveis: CREDIT_CARD

creditCard
object

Cartão de crédito. object Cartão de Crédito

creditCard.expirationMonth
integer

Mês de expiração do cartão. (Necessário estar dentro do escopo PCI para enviar esse campo sem criptografia) integer(2)

creditCard.expirationYear
integer

Ano de expiração do cartão. (Necessário estar dentro do escopo PCI para enviar esse campo sem criptografia) integer(4)

creditCard.number
string

Número do cartão de crédito. (Necessário estar dentro do escopo PCI para enviar esse campo sem criptografia) string(19)

creditCard.cvc
integer

Código de segurança do cartão. (Necessário estar dentro do escopo PCI para enviar esse campo sem criptografia)

creditCard.holder
object

Portador do cartão.

creditCard.holder.fullname
string

Nome do portador impresso no cartão. string(90),

creditCard.holder.birthdate
yyyy-mm-dd

Data de nascimento do cliente. date(AAAA-MM-DD),

creditCard.holder.taxDocument
object

Documento fiscal.

creditCard.holder.taxDocument.cpf
string

Tipo do documento. Valores possíveis: CPF. string(3)

creditCard.holder.taxDocument.number
string

Número do documento. string(11)

creditCard.holder.phone
object

Telefone do cliente. structured

creditCard.holder.phone.countryCode
string

DDI (código internacional) do telefone. Valores possíveis: 55. Limite de caracteres: 2

creditCard.holder.phone.areaCode
string

Código de área do cliente. Limite de caracteres: (2).

creditCard.holder.phone.number
string

Número de telefone do cliente. Limite de caracteres: 9

Criptografando o cartão

Não é possível adicionar um cartão de crédito utilizando o hash de criptografia através dessa API. Para utilizar o hash, é necessário adicionar no momento do pagamento.

{
  "method": "CREDIT_CARD",
  "creditCard": {
    "expirationMonth": "05",
    "expirationYear": "22",
    "number": "5555666677778884",
    "cvc": "123",
    "holder": {
      "fullname": "Jose Portador da Silva",
      "birthdate": "1988-12-30",
      "taxDocument": {
        "type": "CPF",
        "number": "33333333333"
      },
      "phone": {
        "countryCode": "55",
        "areaCode": "11",
        "number": "66778899"
      }
    }
  }
}
A binary file was returned

You couldn't be authenticated

{
  "creditCard": {
    "id": "CRC-4DADMLXTCZWE",
    "brand": "MASTERCARD",
    "first6": "555566",
    "last4": "8884",
    "store": true
  },
  "card": {
    "brand": "MASTERCARD",
    "store": true
  },
  "method": "CREDIT_CARD"
}
Suggest Edits

Deletar um cartão de crédito

Através desse endpoint é possível deletar um cartão de crédito salvo.

 
deletehttps://sandbox.moip.com.br/v2/fundinginstruments/:creditcard_id

Headers

id
string
curl --request DELETE \
  --url https://sandbox.moip.com.br/v2/fundinginstruments/:creditcard_id
var request = require("request");

var options = { method: 'DELETE',
  url: 'https://sandbox.moip.com.br/v2/fundinginstruments/:creditcard_id' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://sandbox.moip.com.br/v2/fundinginstruments/:creditcard_id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Delete.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("DELETE", "https://sandbox.moip.com.br/v2/fundinginstruments/:creditcard_id");

xhr.send(data);
import requests

url = "https://sandbox.moip.com.br/v2/fundinginstruments/:creditcard_id"

response = requests.request("DELETE", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

No response examples available
Suggest Edits

Pedidos

O Pedido é a representação da venda de um produto ou serviço. Esta API possibilita a criação, consulta e listagem de pedidos.

 

Atributos:

Nome Descrição Detalhes
id Id Moip do pedido. string(16), response
ownId Id próprio do pedido. Referência externa. string(65)
status Status do pedido. Valores possíveis: CREATED, WAITING, PAID, NOT_PAID, REVERTED. string, response
createdAt Data de criação do recurso. datetime, response
amount Valores do pedido. structured
├─total Valor total do pedido, em centavos. Ex: R$10,32 deve ser informado 1032 integer(12), response
├─fees Valor total de tarifa Moip. integer(12), response
├─refunds Valor total de reembolsos. integer(12), response
├─liquid Valor total liquido. integer(12), response
├─otherReceivers Soma de valores recebidos por outros recebedores. Usado em Marketplaces. integer(12), response
├─currency Moeda utilizada no pedido. Valores possíveis: BRL. string
├─subtotals Estrutura de valores adicionais do pedido. structured
├ ├─shipping Valor de frete do item, será somado ao valor dos itens. Em centavos Ex: R$10,32 deve ser informado 1032 integer(12)
├ ├─addition Valor adicional ao item, será somado ao valor dos itens. Em centavos Ex: R$10,32 deve ser informado 1032 integer(12)
├ ├─discount Valor de desconto do item, será subtraído do valor total dos itens. Em centavos Ex: R$10,32 deve ser informado 1032 integer(12)
└ └─items Soma dos valores de todos os itens. integer(12), response
items Estrutura de informações do item do pedido. structured list
├─product Nome do produto. string(256)
├─quantity Quantidade de produtos. integer(12)
├─detail Descrição adicional do produto. string(250)
└─price Valor inicial do item. (O valor será multiplicado de acordo com a quantidade de produtos.) Em centavos Ex: R$10,32 deve ser informado 1032 integer(12)
checkoutPreferences Configurações para o checkout Moip Recurso em desenvolvimento. structured
├─redirectUrls URLs de redirecionamento. string(256)
├ ├─urlSuccess URL para redirecionamento em casos de sucesso. link
└ └─urlFailure URL para redirecionamento em casos de falha. link
├─installments Configurações de parcelamento. structured list
├ ├─quantity Limitadores do plano de parcelas. Exemplo: [1, 3]; tupla
├ ├─discount Valor de desconto para a parcela. integer
└ └─addition Valor de acréscimo para a parcela. integer
shippingAddress Endereço de entrega. structured Objeto: Endereço, response
customer Cliente associado ao pedido. Cliente
payments Pagamentos associados ao pedido. Ver recurso [Pagamento para mais informações. coleção de Pagamentos, response
refunds Reembolsos associados ao pedido. Ver recurso Reembolso para mais informações. coleção de Reembolsos, response
entries Lançamentos associados ao pedido. Ver objeto Lançamento para mais informações. coleção de Lançamentos, response
events Eventos associados ao pedido. structured list, response
├─createdAt Data de criação do evento. date(AAAA-MM-DD), response
├─type Tipo do evento. Valores possíveis: ORDER.CREATED, ORDER.WAITING, ORDER.PAID, ORDER.NOT_PAID, ORDER.REVERTED. string, response
└─description Descrição do evento. string(65), response
receivers Estrutura de recebedores dos pagamentos. structured list
├─type Define qual o tipo de recebedor do pagamento, valores possíveis: PRIMARY, SECONDARY string
├─feePayor Boolean para definir se o recebedor é o pagador da taxa Moip, valores possíveis: true, false. Se o feePayor não for informado, o recebedor type PRIMARY será o pagador da taxa Moip. Se houver mais de um recebedor tipo SECONDARY, apenas um deles poderá ser o pagador da taxa. boolean
├─moipAccount Estrutura de Conta Moip que irá receber valores do pagamento. structured
├ ├─login Login Moip ao qual recebeu valores do pagamento. string(256)
├ ├─fullname Nome do portador da Conta Moip. string(256)
├ └─id Id Moip de Conta Moip que irá receber valores do pagamento. string(16)
├─amount Estrutura de valor a ser recebido structured
├ ├─refunds Valor total reembolsado do recebedor. integer(12)
├ ├─fees Valor total de tarifas pagas pelo recebedor. integer(12)
└ └─total Valor total recebido. Em centavos Ex: R$10,32 será informado 1032 integer(12)
updatedAt Data da última atualização do recurso. datetime, response
_links Estrutura de links Hypermedia (HATEOAS) do recurso. structured, response
├─self Hyperlink para o próprio recurso. structured
├ └─href Hyperlink para o próprio recurso. link
└─checkout Links para checkout. object Checkout Moip
Suggest Edits

Criar Pedido

Por meio desta API é possível criar um Pedido no Moip que irá conter os dados da venda de um produto ou serviço. Para criar o pedido, você pode utilizar um Cliente já criado anteriormente ou informar os dados de um novo Cliente.

 
posthttps://sandbox.moip.com.br/v2/orders

Body Params

ownId
string
required

Id próprio do pedido. Referência externa string(65)

amount
object

Valores do pedido.

amount.currency
string

Moeda utilizada no pedido. Valores possíveis: BRL. Valor default BRL.

amount.subtotals
string

Estrutura de valores adicionais do pedido.

amount.subtotals.shipping
integer

Valor de frete do item, será somado ao valor dos itens. Em centavos Ex: R$10,32 deve ser informado 1032 Integer(12)

amount.subtotals.addition
integer

Valor adicional ao item, será somado ao valor dos itens. Em centavos Ex: R$10,32 deve ser informado 1032 Integer(12)

amount.subtotals.discount
integer

alor de desconto do item, será subtraído do valor total dos itens. Em centavos Ex: R$10,32 deve ser informado 1032 integer(12)

amount.customer
object
items
object

Informações dos items do pedido

items.product
string

Nome do produto. string(256)

items.quantity
integer

Quantidade de produtos integer(12)

items.detail
string

Descrição adicional do produto. string(250),

items.price
integer

Valor inicial do item. (O valor será multiplicado de acordo com a quantidade de items.) Em centavos Ex: R$10,32 deve ser informado 1032 integer(12)

customer
object
required

Cliente do pedido. Pode ser informado o id de um cliente já existente ou a coleção de dados para a criação de um novo cliente. Cliente

customer.id
string

Caso utilize um cliente já existente, passe o ID moip do cliente aqui. Para criar um novo cliente, veja o formato do objeto em Cliente

checkoutPreferences
object

Configurações para o Checkout. Utilizado apenas quando o Checkout Moip será utilizado

checkoutPreferences.redirectUrls
object

URLs de redirecionamento.

checkoutPreferences.redirectUrls.urlSuccess
string

URL para redirecionamento em casos de sucesso. Link

checkoutPreferences.redirectUrls.urlFailure
string

URL para redirecionamento em casos de falha. Link

checkoutPreferences.installments
object

Configurações de parcelamento. Define quais planos de parcelamento serão apresentados no Checkout Moip.

checkoutPreferences.installments.quantity
array of integers

Limitadores do plano de parcelas. Exemplo: [1, 3];

checkoutPreferences.installments.discount
integer

Valor de desconto para a parcela

checkoutPreferences.installments.addition
integer

Valor de acréscimo para a parcela

receivers
object

Estrutura de recebedores dos pagamentos. Utilizado para definir comissionamentos em implementações de Marketplaces.

receivers.type
string

Define qual o tipo de recebedor do pagamento, valores possíveis: PRIMARY, SECONDARY. Veja as diferenças entre recebedores do tipo PRIMARY e SECONDARY na tabela abaixo.

receivers.feePayor
boolean

Flag para definir se o recebedor é o pagador da taxa Moip, valores possíveis: true, false. Se o feePayor não for informado, o recebedor type PRIMARY será o pagador da taxa Moip. Se houver mais de um recebedor tipo SECONDARY, somente um poderá ser o pagador da taxa.

receivers.moipAccount
object

Conta Moip recebedora do pagamento.

receivers.moipAccount.id
string

Id Moip da Conta Moip que irá receber valores do pagamento. O identificador é obtido por meio da permissão Oauth string(16),

receivers.moipAccount.amount
object
receivers.moipAccount.amount.fixed
integer

Valor fixo a ser recebido. Em centavos Ex: R$10,32 deve ser informado 1032 integer(12),

receivers.moipAccount.amount.percentual
integer

Valor percentual a ser recebido. Em percentual de 0 há 100 integer(12)

Headers

Authorization
string

Basic ou OAuth

Exemplo

Acima um exemplo de criação de um pedido com todos os parâmetros obrigatórios para o Venda Protegida. Caso você deseje utilizar o checkout com dados mínimos (campos reduzidos) entre em contato através do email marketplace@moip.com.br e solicite que o serviço seja habilitado.

PRIMARY
SECONDARY

Pagador das taxas Moip

Sim

Sim (se especificado pelo atributo feePayor)

Realizar reembolsos

Sim

Não

Responsabilidade pelos chargebacks

Sim

Não

Responder o Moip na intermediação de chargebacks

Sim

Não

{
  "ownId": "seu_identificador_proprio",
  "amount": {
    "currency": "BRL",
    "subtotals": {
      "shipping": 1000
    }
  },
  "items": [
    {
      "product": "Descrição do pedido",
      "quantity": 1,
      "detail": "Mais info...",
      "price": 1000
    }
  ],
  "customer": {
    "ownId": "seu_identificador_proprio_de_cliente_01234",
    "fullname": "Jose Silva",
    "email": "nome@email.com",
    "birthDate": "1988-12-30",
    "taxDocument": {
      "type": "CPF",
      "number": "22222222222"
    },
    "phone": {
      "countryCode": "55",
      "areaCode": "11",
      "number": "66778899"
    },
    "shippingAddress": {
      "street": "Avenida Faria Lima",
      "streetNumber": 2927,
      "complement": 8,
      "district": "Itaim",
      "city": "Sao Paulo",
      "state": "SP",
      "country": "BRA",
      "zipCode": "01234000"
    }
  }
}
A binary file was returned

You couldn't be authenticated

{
    "id": "ORD-KZCH1S1ORAH2",
    "ownId": "seu_identificador_proprio",
    "status": "CREATED",
    "createdAt": "2017-05-30T08:01:30.118-03",
    "updatedAt": "2017-05-30T08:01:30.118-03",
    "amount": {
        "total": 2000,
        "fees": 0,
        "refunds": 0,
        "liquid": 0,
        "otherReceivers": 0,
        "currency": "BRL",
        "subtotals": {
            "shipping": 1000,
            "addition": 0,
            "discount": 0,
            "items": 1000
        }
    },
    "items": [
        {
            "product": "Descrição do pedido",
            "price": 1000,
            "quantity": 1,
            "detail": "Mais info..."
        }
    ],
    "customer": {
        "id": "CUS-PFDEHFFXGE5X",
        "ownId": "seu_identificador_proprio_de_cliente_01234",
        "fullname": "Jose Silva",
        "createdAt": "2017-05-30T08:01:30.119-03",
        "birthDate": "1988-12-30",
        "email": "nome@email.com",
        "phone": {
            "countryCode": "55",
            "areaCode": "11",
            "number": "66778899"
        },
        "taxDocument": {
            "type": "CPF",
            "number": "22222222222"
        },
        "shippingAddress": {
            "zipCode": "01234000",
            "street": "Avenida Faria Lima",
            "streetNumber": "2927",
            "complement": "8",
            "city": "Sao Paulo",
            "district": "Itaim",
            "state": "SP",
            "country": "BRA"
        },
        "moipAccount": {
            "id": "MPA-PQ0H8UZYNNWY"
        },
        "_links": {
            "self": {
                "href": "https://sandbox.moip.com.br/v2/customers/CUS-PFDEHFFXGE5X"
            },
            "hostedAccount": {
                "redirectHref": "https://hostedaccount-sandbox.moip.com.br?token=cc4c66e7-a5fd-48b6-94ad-3da76aab5976&id=CUS-PFDEHFFXGE5X&mpa=MPA-E3C8493A06AE"
            }
        }
    },
    "payments": [],
    "escrows": [],
    "refunds": [],
    "entries": [],
    "events": [
        {
            "type": "ORDER.CREATED",
            "createdAt": "2017-05-30T08:01:30.118-03",
            "description": ""
        }
    ],
    "receivers": [
        {
            "moipAccount": {
                "id": "MPA-E3C8493A06AE",
                "login": "seuemail@dominio.com",
                "fullname": "Seu nome"
            },
            "type": "PRIMARY",
            "amount": {
                "total": 2000,
                "fees": 0,
                "refunds": 0
            },
            "feePayor": true
        }
    ],
    "shippingAddress": {
        "zipCode": "01234000",
        "street": "Avenida Faria Lima",
        "streetNumber": "2927",
        "complement": "8",
        "city": "Sao Paulo",
        "district": "Itaim",
        "state": "SP",
        "country": "BRA"
    },
    "_links": {
        "self": {
            "href": "https://sandbox.moip.com.br/v2/orders/ORD-KZCH1S1ORAH2"
        },
        "checkout": {
            "payCheckout": {
                "redirectHref": "https://checkout-new-sandbox.moip.com.br?token=ecf62312-7f5e-40a1-9a73-9d5a3e926a0c&id=ORD-KZCH1S1ORAH2"
            },
            "payCreditCard": {
                "redirectHref": "https://checkout-new-sandbox.moip.com.br?token=ecf62312-7f5e-40a1-9a73-9d5a3e926a0c&id=ORD-KZCH1S1ORAH2&payment-method=credit-card"
            },
            "payBoleto": {
                "redirectHref": "https://checkout-new-sandbox.moip.com.br?token=ecf62312-7f5e-40a1-9a73-9d5a3e926a0c&id=ORD-KZCH1S1ORAH2&payment-method=boleto"
            },
            "payOnlineBankDebitItau": {
                "redirectHref": "https://checkout-sandbox.moip.com.br/debit/itau/ORD-KZCH1S1ORAH2"
            }
        }
    }
}
Suggest Edits

Consultar Pedido

Por meio desta API é possível consultar as informações e detalhes de um Pedido. Em casos de pedidos divididos (com split) usados em Marketplaces, a consulta realizada com as credenciais de recebedores secundários, omite informações sensíveis do Cliente tais como e-mail, cpf e telefone.

 
gethttps://sandbox.moip.com.br/v2/orders/order_id

Path Params

order_id
string
required

Headers

Authorization
string

Basic ou OAuth

curl --request GET \
  --url https://sandbox.moip.com.br/v2/orders/ORD-123456789012
var request = require("request");

var options = { method: 'GET',
  url: 'https://sandbox.moip.com.br/v2/orders/ORD-123456789012' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://sandbox.moip.com.br/v2/orders/ORD-123456789012")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://sandbox.moip.com.br/v2/orders/ORD-123456789012");

xhr.send(data);
import requests

url = "https://sandbox.moip.com.br/v2/orders/ORD-123456789012"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
    "id": "ORD-KZCH1S1ORAH2",
    "ownId": "seu_identificador_proprio",
    "status": "CREATED",
    "createdAt": "2017-05-30T08:01:30.000-03",
    "updatedAt": "2017-05-30T08:01:30.000-03",
    "amount": {
        "total": 2000,
        "fees": 0,
        "refunds": 0,
        "liquid": 0,
        "otherReceivers": 0,
        "currency": "BRL",
        "subtotals": {
            "shipping": 1000,
            "addition": 0,
            "discount": 0,
            "items": 1000
        }
    },
    "items": [
        {
            "product": "Descrição do pedido",
            "price": 1000,
            "quantity": 1,
            "detail": "Mais info..."
        }
    ],
    "customer": {
        "id": "CUS-PFDEHFFXGE5X",
        "ownId": "seu_identificador_proprio_de_cliente_01234",
        "fullname": "Jose Silva",
        "createdAt": "2017-05-30T08:01:30.000-03",
        "birthDate": "1988-12-30",
        "email": "nome@email.com",
        "phone": {
            "countryCode": "55",
            "areaCode": "11",
            "number": "66778899"
        },
        "taxDocument": {
            "type": "CPF",
            "number": "22222222222"
        },
        "shippingAddress": {
            "zipCode": "01234000",
            "street": "Avenida Faria Lima",
            "streetNumber": "2927",
            "complement": "8",
            "city": "Sao Paulo",
            "district": "Itaim",
            "state": "SP",
            "country": "BRA"
        },
        "moipAccount": {
            "id": "MPA-PQ0H8UZYNNWY"
        },
        "_links": {
            "self": {
                "href": "https://sandbox.moip.com.br/v2/customers/CUS-PFDEHFFXGE5X"
            },
            "hostedAccount": {
                "redirectHref": "https://hostedaccount-sandbox.moip.com.br?token=cc4c66e7-a5fd-48b6-94ad-3da76aab5976&id=CUS-PFDEHFFXGE5X&mpa=MPA-E3C8493A06AE"
            }
        }
    },
    "payments": [],
    "escrows": [],
    "refunds": [],
    "entries": [],
    "events": [
        {
            "type": "ORDER.CREATED",
            "createdAt": "2017-05-30T08:01:30.000-03",
            "description": ""
        }
    ],
    "receivers": [
        {
            "moipAccount": {
                "id": "MPA-E3C8493A06AE",
                "login": "seuemail@dominio.com",
                "fullname": "Seu nome"
            },
            "type": "PRIMARY",
            "amount": {
                "total": 2000,
                "fees": 0,
                "refunds": 0
            },
            "feePayor": true
        }
    ],
    "shippingAddress": {
        "zipCode": "01234000",
        "street": "Avenida Faria Lima",
        "streetNumber": "2927",
        "complement": "8",
        "city": "Sao Paulo",
        "district": "Itaim",
        "state": "SP",
        "country": "BRA"
    },
    "_links": {
        "self": {
            "href": "https://sandbox.moip.com.br/v2/orders/ORD-KZCH1S1ORAH2"
        },
        "checkout": {
            "payCheckout": {
                "redirectHref": "https://checkout-new-sandbox.moip.com.br?token=ecf62312-7f5e-40a1-9a73-9d5a3e926a0c&id=ORD-KZCH1S1ORAH2"
            },
            "payCreditCard": {
                "redirectHref": "https://checkout-new-sandbox.moip.com.br?token=ecf62312-7f5e-40a1-9a73-9d5a3e926a0c&id=ORD-KZCH1S1ORAH2&payment-method=credit-card"
            },
            "payBoleto": {
                "redirectHref": "https://checkout-new-sandbox.moip.com.br?token=ecf62312-7f5e-40a1-9a73-9d5a3e926a0c&id=ORD-KZCH1S1ORAH2&payment-method=boleto"
            },
            "payOnlineBankDebitItau": {
                "redirectHref": "https://checkout-sandbox.moip.com.br/debit/itau/ORD-KZCH1S1ORAH2"
            }
        }
    }
}
Suggest Edits

Listar Todos os Pedidos

Por meio desta API é possível listar todos pedidos criados anteriormente. Os pedidos são ordenados pela data de criação, dos mais recentes para os mais antigos. Nesta versão da API são retornados apenas pedidos que contenham ao menos um pagamento.

 
gethttps://sandbox.moip.com.br/v2/orders

Path Params

createdAt
date
required

Data de criação do recurso. Permite o uso de todos os delimitadores.

paymentMethod
string
required

Forma de pagamento do pagamento autorizado associado ao pedido ou do último pagamento atualizado. Valores possíveis: DEBIT_CARD, BOLETO, ONLINE_BANK_FINANCING, ONLINE_BANK_DEBIT,WALLET. Use o delimitador in.

value
int32
required

Valor do pedido. Permite o uso de todos os delimitadores.

status
string
required

Status do pedido, Valores possíveis: WAITING, NOT_PAID, PAID, REVERTED. Use o delimitador in.

limit
int32
required

Quantidade de registros por busca (página). Valor default é 100.

offset
int32
required

Registro a partir do qual a busca vai retornar. Valor default é 0.

Headers

Authorization
string

Basic ou OAuth

Também é possível filtrar os resultados conforme a listagem de parâmetros disponíveis do método.

Fazendo uma busca de transações de valores entre 5000 e 10000 (em centavos), usando as formas de pagamento Cartão de Crédito e Boleto, fazendo uma query em jose silva e retornando 3 resultados.

https://sandbox.moip.com.br/v2/orders?q=pagamento do pedido&filters=status::in(PAID,WAITING)|paymentMethod::in(CREDIT_CARD,BOLETO)| amount::bt(5000,10000)&limit=3&offset=0

ATENÇÃO

Antes de fazer qualquer requisição certifique de usar o “URL Encode” nos valores enviados dentro do parâmetro filters.

Exemplo - Url Com Encode:

GET https://sandbox.moip.com.br/v2/orders?q=jose%20silva&filters%3Dstatus%3A%3Ain(PAID%2CWAITING)%7CpaymentMethod%3A%3Ain (CREDIT_CARD%2CBOLETO)%7Camount%3A%3Abt(5000%2C10000)&limit=3&offset=0)))

Atributos do retorno:

Nome Descrição Tipo
summary Resumo dos resultados da listagem structured
├─count Número de registros retornados integer(12)
└─amount Valor total dos pedidos retornados. Em centavos Ex: R$10,32 será informado 1032 integer(12)
orders Lista com a representação mínima dos Pedidos Coleção de Pedidos
_links Estrutura de links Hypermedia (HATEOAS) do recurso. structured
curl --request GET \
  --url https://sandbox.moip.com.br/v2/orders
var request = require("request");

var options = { method: 'GET', url: 'https://sandbox.moip.com.br/v2/orders' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://sandbox.moip.com.br/v2/orders")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://sandbox.moip.com.br/v2/orders");

xhr.send(data);
import requests

url = "https://sandbox.moip.com.br/v2/orders"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
    "_links": {
        "next": {
            "href": "https://test.moip.com.br/v2/orders?filters=&limit=2&offset=2"
        },
        "previous": {
            "href": "https://test.moip.com.br/v2/orders?filters=&limit=2&offset=0"
        }
    },
    "summary": {
        "count": 375,
        "amount": 3208507
    },
    "orders": [
        {
            "id": "ORD-X8PHHUMCJUYN",
            "ownId": null,
            "status": "NOT_PAID",
            "blocked": false,
            "amount": {
                "total": 10490,
                "addition": 0,
                "fees": 0,
                "deduction": 0,
                "otherReceivers": 0,
                "currency": "BRL"
            },
            "receivers": [
                {
                    "type": "PRIMARY",
                    "moipAccount": {
                        "id": "MPA-E3C8493A06AE"
                    }
                }
            ],
            "customer": {
                "fullname": "nome sobrenome",
                "email": "nome@exemplo.com.br"
            },
            "items": [
                {
                    "product": null
                }
            ],
            "payments": [
                {
                    "id": "PAY-0UBH5IAJ8KHX",
                    "installmentCount": 1,
                    "fundingInstrument": {
                        "method": "CREDIT_CARD",
                        "brand": "VISA"
                    }
                }
            ],
            "events": [],
            "_links": {
                "self": {
                    "href": "https://test.moip.com.br/v2/orders/ORD-X8PHHUMCJUYN"
                }
            },
            "createdAt": "2017-05-29T06:14:40-0300",
            "updatedAt": "2017-05-29T06:14:40-0300"
        },
        {
            "id": "ORD-PWWKSVNBMC4V",
            "ownId": null,
            "status": "NOT_PAID",
            "blocked": false,
            "amount": {
                "total": 10090,
                "addition": 0,
                "fees": 0,
                "deduction": 0,
                "otherReceivers": 0,
                "currency": "BRL"
            },
            "receivers": [
                {
                    "type": "PRIMARY",
                    "moipAccount": {
                        "id": "MPA-E3C8493A06AE"
                    }
                }
            ],
            "customer": {
                "fullname": "nome sobrenome",
                "email": "nome@exemplo.com.br"
            },
            "items": [
                {
                    "product": null
                }
            ],
            "payments": [
                {
                    "id": "PAY-XUTZMV0G5CC8",
                    "installmentCount": 1,
                    "fundingInstrument": {
                        "method": "CREDIT_CARD",
                        "brand": "VISA"
                    }
                }
            ],
            "events": [],
            "_links": {
                "self": {
                    "href": "https://test.moip.com.br/v2/orders/ORD-PWWKSVNBMC4V"
                }
            },
            "createdAt": "2017-05-28T06:09:58-0300",
            "updatedAt": "2017-05-28T06:09:58-0300"
        }
    ]
}
Suggest Edits

Pagamentos

O Pagamento é a transação financeira que ocorre entre o Cliente e o Recebedor, seja por meio de um cartão de crédito, de um boleto bancário, ou por outro meio de pagamento. Esta API permite a criação, consulta e listagem de pagamentos.

 

Atributos:

Nome Descrição Tipo
id Id Moip do pagamento. string(16), response
status Status do pagamento. Valores possíveis: CREATED,WAITING, IN_ANALYSIS, PRE_AUTHORIZED,AUTHORIZED, CANCELLED, REFUNDED, REVERSED, SETTLED. string, response
amount Valores do pedido. structured, response
├─refunds Valor total de reembolsos do pagamento. Em centavos Ex: R$10,32 será informado 1032 integer(12)
├─fees Valor total de tarifa Moip. Em centavos Ex: R$10,32 será informado 1032 integer(12)
├─liquid Valor líquido do pagamento. Em centavos Ex: R$10,32 será informado 1032 integer(12)
├─currency Moeda utilizada no pagamento. Valores possíveis: BRL. string
└─total Valor total do pagamento. Em centavos Ex: R$10,32 será informado 1032 integer(12)
installmentCount Número de parcelas, Mínimo 1 e Máximo 12. integer(2)
delayCapture Se o pagamento deve ser pré-autorizado para captura posterior. Válido apenas para pagamentos por cartão de crédito. boolean
statementDescriptor Identificação de sua loja na fatura de cartão de crédito do comprador. string(13)
fundingInstrument Meio de pagamento utilizado. structured
├─method Meio de pagamento. Valores possíveis: CREDIT_CARD, BOLETO, ONLINE_BANK_DEBIT, WALLET. string
├─creditCard Dados do cartão de crédito utilizado no pagamento. object Cartão de Crédito
├─boleto Dados do boleto utilizado no pagamento. structured object Boleto
├─onlineBankDebit Dados da transferência bancária utilizada no pagamento. object Débito online
fees Tarifas do pagamento. structured list, response
├─type Tipo de tarifa. Valores possíveis: TRANSACTION, PRE_PAYMENT. string
└─amount Valor da tarifa. Em centavos Ex: R$10,32 será informado 1032 integer(12)
events Eventos associados ao pagamento. structured list, response
├─createdAt Data de criação do evento. date
├─type Tipo do evento. Valores possíveis: PAYMENT.WAIING, PAYMENT.AUTHORIZED, PAYMENT.IN_ANALYSIS, PRE_AUTHORIZED, PAYMENT.REFUNDED, PAYMENT.REVERSED. string
└─description Descrição do evento. string
cancellationDetails Detalhes do cancelamento de pagamentos de cartão de crédito. structured
├─cancelledBy Responsável pelo cancelamento. Valores possíveis: MOIP ou ACQUIRER. string, response
├─code Código do motivo de cancelamento. Valores possíveis: ver lista de detalhes de cancelamento number, response
└─description Descrição do motivo de cancelamento. string, response
updatedAt Data da última atualização do recurso. datetime, response
createdAt Data da criação do recurso. datetime, response
_links Estrutura de links Hypermedia (HATEOAS) do recurso. structured, response
├─self Referência para o próprio recurso. structured
├ └─href Hyperlink para o próprio recurso. link
├─order Referência para o Pedido. structured
├ ├─title Identificador do Pedido. string
├ └─href Hyperlink para o Pedido. link
└─checkout Links para checkout. Apenas será retornado o link para o meio de pagamento escolhido. object Checkout Moip

ALERTA

O valor pago em um boleto pode ser diferente do valor inicial do pedido. Sempre valide o atributo amount.total , enviados nos webhooks de pagamentos e também disponível nas consultas via API.

Suggest Edits

Criar Pagamento

Por meio desta API é possível solicitar ao Moip que realize a cobrança de um pedido. Para isso, você deve enviar as informações referentes ao pagamento.

 
posthttps://sandbox.moip.com.br/v2/orders/order_id/payments

Path Params

order_id
string
required

Body Params

installmentCount
int32

Número de parcelas. Válido para pagamentos por cartão. Se não for informado, o pagamento será realizado em 1 parcela. Mínimo 1 e Máximo 12.

statementDescriptor
string

Identificação de sua loja na fatura de cartão de crédito do comprador. string(13)

delayCapture
boolean

Se o pagamento deve ser pré-autorizado para captura posterior. Válido apenas para pagamentos por cartão de crédito.

fundingInstrument
object
required
fundingInstrument.method
string

Meio de pagamento. Valores possíveis: CREDIT_CARD, BOLETO, ONLINE_BANK_DEBIT, WALLET.

fundingInstrument.creditCard
string

Dados do cartão utilizado no pagamento. Pode ser usado o id de um Cartão previamente salvo, um hash de um cartão criptografado ou a coleção de dados do cartão caso você possua certificação PCI.

fundingInstrument.creditCard.id
string

Identificador do cartão de crédito no previamente salvo no Moip. string(16)

fundingInstrument.creditCard.hash
string

Dados criptografados do cartão de crédito

fundingInstrument.creditCard.number
string

Número do cartão de crédito. Requer certificação PCI. string(19)

fundingInstrument.creditCard.expirationMonth
integer

Mês de expiração do cartão. Requer certificação PCI. integer(2), obrigatório se utilizado o number

fundingInstrument.creditCard.expirationYear
integer

Ano de expiração do cartão. Requer certificação PCI. integer(4), obrigatório se utilizado o number

fundingInstrument.creditCard.cvc
integer

Código de segurança do cartão. Não enviar apenas em casos de exceção quando não existe possibilidade de captura. Exemplo: cobrança posterior em apps ou cobranças recorrentes. integer

fundingInstrument.creditCard.store
boolean

Determina durante a criação de um pagamento se o cartão de crédito utilizado deve ser salvo para oneClickBuy (default: true).l

fundingInstrument.creditCard.holder
object

Portador do cartão. structured, caso esteja utilizando o id não enviar

fundingInstrument.creditCard.holder.fullname
string

Nome do portador impresso no cartão. string(90)

fundingInstrument.creditCard.holder.birthdate
yyyy-mm-dd

Data de nascimento do portador. date(AAAA-MM-DD)

fundingInstrument.creditCard.holder.phone
object
fundingInstrument.creditCard.holder.phone.countryCode
integer

DDI (código internacional) do telefone. Valores possíveis: 55. integer(2)

fundingInstrument.creditCard.holder.phone.areaCode
integer

DDD (código local) do telefone. integer(2)

fundingInstrument.creditCard.holder.phone.number
integer

Número do telefone. integer(9)

fundingInstrument.creditCard.holder.taxDocument
object
fundingInstrument.creditCard.holder.taxDocument.type
string

Tipo do documento. Valores possíveis: CPF,CNPJ. string(3)

fundingInstrument.creditCard.holder.taxDocument.number
string

Número do documento.string(11)

fundingInstrument.creditCard.holder.billingAddress
object

Endereços de cobrança do cartão de crédito. object Endereço

fundingInstrument.boleto
object

Dados do boleto utilizado no pagamento.

fundingInstrument.boleto.expirationDate
yyyy-mm-dd

Data de expiração de um boleto. date

fundingInstrument.boleto.instructionLines
object

Instruções impressas no boleto.

fundingInstrument.boleto.instructionLines.first
string

Primeira linha de instrução. string

fundingInstrument.boleto.instructionLines.second
string

Segunda linha de instrução. string

fundingInstrument.boleto.instructionLines.third
string

Terceira linha de instrução. string

fundingInstrument.boleto.logoUri
string

Endereço de uma imagem com o logotipo a ser impresso no boleto. Ainda não disponível nesta versão da API. link

fundingInstrument.onlineBankDebit
object

Dados para o débito online.

fundingInstrument.onlineBankDebit.bankNumber
string

Número do banco. Valores possíveis: 001, 237, 341, 041. Ver lista de bancos e códigos FEBRABAN

fundingInstrument.onlineBankDebit.expirationDate
yyyy-mm-dd

Data de expiração do débito. date

fundingInstrument.onlineBankDebit.returnUri
string

Url de redirecionamento. Ainda não disponível nesta versão da API. link

IMPORTANTE

Você deve fazer a criptografia dos dados do cartão de crédito antes de enviar ao Moip. Caso você tenha certificado PCI, é permitido o envio dos dados sem criptografia para o Moip.

IMPORTANTE

Por recomendação das bandeiras de cartão, um pagamento pré-autorizado deverá ser capturado em até 5 dias. Caso ultrapassado esse período, o Moip cancelará o pagamento automaticamente.

{
  "installmentCount": 1,
  "statementDescriptor": "minhaLoja.com",
  "fundingInstrument": {
    "method": "CREDIT_CARD",
    "creditCard": {
        "hash": "HhL0kbhfid+jwgj5l6Kt9EPdetDxQN8s7uKUHDYxDC/XoULjzik44rSda3EcWuOcL17Eb8JjWc1JI7gsuwg9P0rJv1mJQx+d3Dv1puQYz1iRjEWWhnB1bw0gTvnnC/05KbWN5M8oTiugmhVK02Rt2gpbcTtpS7VWyacfgesBJFavYYMljYg8p2YGHXkXrMuQiOCeemKLk420d0OTMBba27jDVVJ663HZDrObnjFXJH/4B5irkj+HO5genV+V4PYoLcOESG4nrI3oFAsMGsLLcdJo0NNvkEmJpn0e9GzureKKFYisYU+BEd9EMr/odS0VMvOYRV65HbPTspIkjl2+3Q==",
      "store": true,
      "holder": {
        "fullname": "Jose Portador da Silva",
        "birthdate": "1988-12-30",
        "taxDocument": {
          "type": "CPF",
          "number": "33333333333"
        },
        "phone": {
          "countryCode": "55",
          "areaCode": "11",
          "number": "66778899"
        }
      }
    }
  }
}
A binary file was returned

You couldn't be authenticated

{
  "id": "PAY-VZ1HI48256ZX",
  "status": "IN_ANALYSIS",
  "amount": {
    "fees": 187,
    "refunds": 0,
    "liquid": 1813,
    "currency": "BRL",
    "total": 2000
  },
  "installmentCount": 1,
  "fundingInstrument": {
    "creditCard": {
      "id": "CRC-V0AAG27AAFG7",
      "brand": "MASTERCARD",
      "first6": "555566",
      "last4": "8884",
      "store": true,      
      "holder": {
        "birthdate": "30/12/1988",
        "taxDocument": {
          "type": "CPF",
          "number": "33333333333"
        },
        "fullname": "Jose Portador da Silva"
      }
    },
    "method": "CREDIT_CARD"
  },
  "fees": [
    {
      "type": "TRANSACTION",
      "amount": 187
    }
  ],
  "events": [
    {
      "createdAt": "2015-01-14T12:17:50-0200",
      "type": "PAYMENT.IN_ANALYSIS"
    },
    {
      "createdAt": "2015-01-14T12:17:48-0200",
      "type": "PAYMENT.CREATED"
    }
  ],
  "_links": {
    "order": {
      "title": "ORD-VULX1EWDKXHF",
      "href": "https://sandbox.moip.com.br/v2/orders/ORD-VULX1EWDKXHF"
    },
    "self": {
      "href": "https://sandbox.moip.com.br/v2/payments/PAY-VZ1HI48256ZX"
    }
  },
  "updatedAt": "2015-01-14T12:17:50-0200",
  "createdAt": "2015-01-14T12:17:48-0200"
}
Suggest Edits

Consultar Pagamento

Por meio desta API é possível consultar as informações e detalhes de um Pagamento em específico.

 
gethttps://sandbox.moip.com.br/v2/payments/payment_id

Path Params

payment_id
string
required

id do pagamento em formato de hash string(16)

curl --request GET \
  --url https://sandbox.moip.com.br/v2/payments/PAY-123456789012
var request = require("request");

var options = { method: 'GET',
  url: 'https://sandbox.moip.com.br/v2/payments/PAY-123456789012' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://sandbox.moip.com.br/v2/payments/PAY-123456789012")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://sandbox.moip.com.br/v2/payments/PAY-123456789012");

xhr.send(data);
import requests

url = "https://sandbox.moip.com.br/v2/payments/PAY-123456789012"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "id": "PAY-0UBH5IAJ8KHX",
  "status": "CANCELLED",
  "delayCapture": false,
  "amount": {
    "total": 10490,
    "fees": 645,
    "refunds": 0,
    "liquid": 9845,
    "currency": "BRL"
  },
  "installmentCount": 1,
  "fundingInstrument": {
    "creditCard": {
      "id": "CRC-I819ZYMJRTD7",
      "brand": "VISA",
      "first6": "407302",
      "last4": "0002",
      "store": true,
      "holder": {
        "birthdate": "1986-04-26",
        "birthDate": "1986-04-26",
        "taxDocument": {
          "type": "CPF",
          "number": "22222222222"
        },
        "fullname": "Nome Completo"
      }
    },
    "method": "CREDIT_CARD"
  },
  "fees": [
    {
      "type": "TRANSACTION",
      "amount": 645
    }
  ],
  "events": [
    {
      "type": "PAYMENT.CANCELLED",
      "createdAt": "2017-05-29T06:14:42.000-03"
    },
    {
      "type": "PAYMENT.CREATED",
      "createdAt": "2017-05-29T06:14:40.000-03"
    }
  ],
  "_links": {
    "self": {
      "href": "https://sandbox.moip.com.br/v2/payments/PAY-0UBH5IAJ8KHX"
    },
    "order": {
      "href": "https://sandbox.moip.com.br/v2/orders/ORD-X8PHHUMCJUYN",
      "title": "ORD-X8PHHUMCJUYN"
    }
  },
  "createdAt": "2017-05-29T06:14:40.000-03",
  "updatedAt": "2017-05-29T06:14:42.000-03"
}
Suggest Edits

Capturar Pagamento Pré-autorizado

Essa API permite a captura de um pagamento que esteja pré-autorizado no Moip. Para que você possa pré-autorizar utilize o atributo delayCapture na criação de um pagamento. Somente é possível capturar um pagamento que esteja com status PRE_AUTHORIZED. Caso você esteja capturando um Pagamento que foi criado dentro do contexto de um Multipagamento você deve utilizar as credenciais (accessToken) do usuário recebedor do pagamento e não as credenciais do seu Aplicativo.

 
posthttps://sandbox.moip.com.br/v2/payments/payment_id/capture

Path Params

payment_id
string
required
curl --request POST \
  --url https://sandbox.moip.com.br/v2/payments/payment_id/capture
var request = require("request");

var options = { method: 'POST',
  url: 'https://sandbox.moip.com.br/v2/payments/payment_id/capture' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://sandbox.moip.com.br/v2/payments/payment_id/capture")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://sandbox.moip.com.br/v2/payments/payment_id/capture");

xhr.send(data);
import requests

url = "https://sandbox.moip.com.br/v2/payments/payment_id/capture"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "id": "PAY-ZJOE0VPNGIM5",
  "status": "AUTHORIZED",
  "amount": {
    "refunds": 0,
    "fees": 187,
    "liquid": 1813,
    "currency": "BRL",
    "total": 2000
  },
  "installmentCount": 1,
  "statementDescriptor": "minhaLoja.com",  
  "fundingInstrument": {
    "creditCard": {
      "id": "CRC-8XPB5E78J3C5",
      "brand": "VISA",
      "first6": "401200",
      "last4": "3335",
      "store": true,      
      "holder": {
        "birthdate": "30/12/1988",
        "taxDocument": {
          "type": "CPF",
          "number": "22222222222"
        },
        "fullname": "Jose Portador da Silva"
      }
    },
    "method": "CREDIT_CARD"
  },
  "fees": [
    {
      "type": "TRANSACTION",
      "amount": 187
    }
  ],
  "events": [
    {
      "createdAt": "2015-03-30T09:51:58-0300",
      "type": "PAYMENT.AUTHORIZED"
    },
    {
      "createdAt": "2015-03-30T09:51:41-0300",
      "type": "PAYMENT.IN_ANALYSIS"
    },
    {
      "createdAt": "2015-03-30T09:51:41-0300",
      "type": "PAYMENT.PRE_AUTHORIZED"
    },
    {
      "createdAt": "2015-03-30T09:51:38-0300",
      "type": "PAYMENT.CREATED"
    }
  ],
  "_links": {
    "order": {
      "title": "ORD-Y3HRHLCNQ4VO",
      "href": "https://sandbox.moip.com.br/v2/orders/ORD-Y3HRHLCNQ4VO"
    },
    "self": {
      "href": "https://sandbox.moip.com.br/v2/payments/PAY-ZJOE0VPNGIM5"
    }
  },
  "createdAt": "2015-03-30T09:51:38-0300",
  "updatedAt": "2015-03-30T09:51:58-0300"
}
Suggest Edits

Cancelar Pagamento Pré-autorizado

Essa API permite o cancelamento de um pagamento que esteja pré-autorizado no Moip. Para que você possa pré-autorizar utilize o atributo delayCapture na criação de um pagamento. Somente é possível capturar um pagamento que esteja com status PRE_AUTHORIZED.

 
posthttps://sandbox.moip.com.br/v2/payments/payment_id/void

Path Params

payment_id
string
required
curl --request POST \
  --url https://sandbox.moip.com.br/v2/payments/PAY-123456789012/void
var request = require("request");

var options = { method: 'POST',
  url: 'https://sandbox.moip.com.br/v2/payments/PAY-123456789012/void' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://sandbox.moip.com.br/v2/payments/PAY-123456789012/void")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://sandbox.moip.com.br/v2/payments/PAY-123456789012/void");

xhr.send(data);
import requests

url = "https://sandbox.moip.com.br/v2/payments/PAY-123456789012/void"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "id": "PAY-ZJOE0VPNGIM5",
  "status": "CANCELLED",
  "amount": {
    "refunds": 0,
    "fees": 187,
    "liquid": 1813,
    "currency": "BRL",
    "total": 2000
  },
  "installmentCount": 1,
  "statementDescriptor": "minhaLoja.com",  
  "fundingInstrument": {
    "creditCard": {
      "id": "CRC-8XPB5E78J3C5",
      "brand": "VISA",
      "first6": "401200",
      "last4": "3335",
      "store": true,      
      "holder": {
        "birthdate": "30/12/1988",
        "taxDocument": {
          "type": "CPF",
          "number": "22222222222"
        },
        "fullname": "Jose Portador da Silva"
      }
    },
    "method": "CREDIT_CARD"
  },
  "fees": [
    {
      "type": "TRANSACTION",
      "amount": 187
    }
  ],
  "events": [
    {
      "createdAt": "2015-03-30T09:51:58-0300",
      "type": "PAYMENT.CANCELLED"
    },
    {
      "createdAt": "2015-03-30T09:51:41-0300",
      "type": "PAYMENT.PRE_AUTHORIZED"
    },
    {
      "createdAt": "2015-03-30T09:51:41-0300",
      "type": "PAYMENT.IN_ANALYSIS"
    },
    {
      "createdAt": "2015-03-30T09:51:38-0300",
      "type": "PAYMENT.CREATED"
    }
  ],
  "_links": {
    "order": {
      "title": "ORD-Y3HRHLCNQ4VO",
      "href": "https://sandbox.moip.com.br/v2/orders/ORD-Y3HRHLCNQ4VO"
    },
    "self": {
      "href": "https://sandbox.moip.com.br/v2/payments/PAY-ZJOE0VPNGIM5"
    }
  },
  "createdAt": "2015-03-30T09:51:38-0300",
  "updatedAt": "2015-03-30T09:51:58-0300"
}
Suggest Edits

Custódia

A Custódia é uma ferramenta exclusiva para uso de Marketplaces que possibilita o bloqueio e desbloqueio de transações através de APIs.
O uso desse serviço é recomendado para marketplaces que desejam oferecer mais segurança aos compradores e evitar chargebacks por eventuais falhas de entregas dos vendedores.

 

IMPORTANTE

Esta é uma ferramenta exclusiva para uso de Marketplaces. O uso de custódia (Escrow), implica em bloqueio e desbloqueio de transações através de APIs.

Em caso de dúvidas sobre o funcionamento, por favor, consulte-nos.

A Custódia (escrow) é o bloqueio temporário dos lançamentos de um Pedido. Recurso usado em implementação de Marketplaces.

PRAZO DE CUSTÓDIA

Um pagamento pode permanecer em custódia por até 180 dias.

Após esse período o Moip fará a liberação do valor custodiado automaticamente.

(Esse prazo era de 45 dias e foi alterado para 180 dias em 22/06/2017).

Status de custódia

Uma custódia, assim como um pedido e um pagamento tem seu próprio status. Que indica se o valor dessa custódia está com bloqueio pendente HOLD_PENDING, bloqueado HELD ou liberado RELEASED.

Abaixo, está a descrição mais detalhada de cada um desses status:

Status
Descrição

HOLD_PENDING

Esse status ocorre quando um pagamento está AUTORIZADO e possui um registro de custódia. Nesse cenário, o valor do pagamento ainda não está bloqueado e permanece no saldo futuro.

HELD

Após a liquidação de uma transação com custódia em status HOLD_PENDING esse status é alterado para HELD e o valor deixa de fazer parte do saldo futuro para ser enviado para o saldo bloqueado.

RELEASED

Esse status ocorre quando um pagamento tem seu valor desbloqueado, independente de estar liquidado ou não. Para que uma custódia seja liberada o marketplace deverá fazer o release via API. Caso o release seja feito antes da liquidação da transação o valor da mesma permanecerá no saldo futuro e não será mais bloqueado na liquidação.

Exemplo de uma transação em custódia.

Exemplo de uma transação em custódia.

Suggest Edits

Criar um pagamento com custódia

 
posthttps://sandbox.moip.com.br/v2/orders/order_id/payments

Path Params

order_id
string
required

Body Params

escrow
object
escrow.description
string

Headers

Authorization
string
required

OAuth

ATENÇÃO

Esta é uma ferramenta exclusiva para uso de Marketplaces. O uso de custódia (Escrow), implica em bloqueio e desbloqueio de transações através de APIs.

Em caso de dúvidas sobre o funcionamento, por favor, consulte-nos.

{
  "installmentCount": 1,
  "statementDescriptor": "minhaLoja.com",
  "escrow":{
    "description" : "custódia de pagamento",
  },
  "fundingInstrument": {
    "method": "CREDIT_CARD",
    "creditCard": {
        "hash": "HhL0kbhfid+jwgj5l6Kt9EPdetDxQN8s7uKUHDYxDC/XoULjzik44rSda3EcWuOcL17Eb8JjWc1JI7gsuwg9P0rJv1mJQx+d3Dv1puQYz1iRjEWWhnB1bw0gTvnnC/05KbWN5M8oTiugmhVK02Rt2gpbcTtpS7VWyacfgesBJFavYYMljYg8p2YGHXkXrMuQiOCeemKLk420d0OTMBba27jDVVJ663HZDrObnjFXJH/4B5irkj+HO5genV+V4PYoLcOESG4nrI3oFAsMGsLLcdJo0NNvkEmJpn0e9GzureKKFYisYU+BEd9EMr/odS0VMvOYRV65HbPTspIkjl2+3Q==",
      "store": true,
      "holder": {
        "fullname": "Jose Portador da Silva",
        "birthdate": "1988-12-30",
        "taxDocument": {
          "type": "CPF",
          "number": "33333333333"
        },
        "phone": {
          "countryCode": "55",
          "areaCode": "11",
          "number": "66778899"
        }
      }
    }
  }
}
A binary file was returned

You couldn't be authenticated

{
  "id": "PAY-VZ1HI48256ZX",
  "status": "IN_ANALYSIS",
  "amount": {
    "fees": 187,
    "refunds": 0,
    "liquid": 1813,
    "currency": "BRL",
    "total": 2000
  },
  "installmentCount": 1,
  "fundingInstrument": {
    "creditCard": {
      "id": "CRC-V0AAG27AAFG7",
      "brand": "MASTERCARD",
      "first6": "555566",
      "last4": "8884",
      "store": true,
      "holder": {
        "birthdate": "30/12/1988",
        "taxDocument": {
          "type": "CPF",
          "number": "33333333333"
        },
        "fullname": "Jose Portador da Silva"
      }
    },
    "method": "CREDIT_CARD"
  },
  "fees": [
    {
      "type": "TRANSACTION",
      "amount": 187
    }
  ],
  "escrows": [
    {
      "id": "ECW-WG99P8TU7NYD",
      "status": "HOLD_PENDING",
      "description": "custódia de pagamento",
      "amount": 200,
      "createdAt": "2015-01-14T12:17:50-0200",
      "updatedAt": "2015-01-14T12:17:50-0200",
      "_links": {
        "self": {
          "href": "https://sandbox.moip.com.br/v2/escrows/ECW-WG99P8TU7NYD"
        },
        "order": {
          "href": "https://sandbox.moip.com.br/v2/orders/ORD-123456789012",
          "title": "ORD-123456789012"
        },
        "payment": {
          "href": "https://sandbox.moip.com.br/v2/payments/PAY-VZ1HI48256ZX",
          "title": "PAY-VZ1HI48256ZX"
        }
      }
    }
  ],
  "events": [
    {
      "createdAt": "2015-01-14T12:17:50-0200",
      "type": "PAYMENT.IN_ANALYSIS"
    },
    {
      "createdAt": "2015-01-14T12:17:48-0200",
      "type": "PAYMENT.CREATED"
    }
  ],
  "_links": {
    "order": {
      "title": "ORD-VULX1EWDKXHF",
      "href": "https://sandbox.moip.com.br/v2/orders/ORD-VULX1EWDKXHF"
    },
    "self": {
      "href": "https://sandbox.moip.com.br/v2/payments/PAY-VZ1HI48256ZX"
    }
  },
  "updatedAt": "2015-01-14T12:17:50-0200",
  "createdAt": "2015-01-14T12:17:48-0200"
}
Suggest Edits

Liberação de custódia

 
posthttps://sandbox.moip.com.br/v2/escrows/escrow_id/release

Path Params

escrow_id
string
required

Headers

Authorization
string

OAuth

AUTENTICAÇÃO

Por questão de segurança, a liberação de uma custódia só pode ser feita mediante uso o accessToken do APP do Marketplace como autenticador.

curl --request POST \
  --url https://sandbox.moip.com.br/v2/escrows/ECW-9OS6FAPR3FD5/release
var request = require("request");

var options = { method: 'POST',
  url: 'https://sandbox.moip.com.br/v2/escrows/ECW-9OS6FAPR3FD5/release' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://sandbox.moip.com.br/v2/escrows/ECW-9OS6FAPR3FD5/release")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://sandbox.moip.com.br/v2/escrows/ECW-9OS6FAPR3FD5/release");

xhr.send(data);
import requests

url = "https://sandbox.moip.com.br/v2/escrows/ECW-9OS6FAPR3FD5/release"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "id": "ECW-9OS6FAPR3FD5",
  "status": "RELEASED",
  "description": "TEST ESCROW",
  "amount": 100,
  "createdAt": "2017-05-04T05:44:39.000-03",
  "updatedAt": "2017-05-04T05:44:39.000-03",
  "_links": {
    "self": {
      "href": "https://api.moip.com.br/v2/escrows/ECW-9OS6FAPR3FD5"
    },
    "order": {
      "href": "https://api.moip.com.br/v2/orders/ORD-9OS6FAPR3FD5",
      "title": "ORD-9OS6FAPR3FD5"
    },
    "payment": {
      "href": "https://api.moip.com.br/v2/payments/PAY-9OS6FAPR3FD5",
      "title": "PAY-9OS6FAPR3FD5"
    }
  }
}
Suggest Edits

Reembolsos

 

O Reembolso é devolução de um pagamento para o consumidor. Por meio desta API é possível realizar reembolsos e consultar os detalhes de determinado reembolso.

Atributos:

Nome Descrição Tipo
id Id Moip do reembolso. string(16), response
status Status do reembolso. Valores possíveis: REQUESTED, COMPLETED, FAILED. string, response
amount Valores do reembolso. Em centavos Ex: R$10,32 deve ser informado 1032 structured
├─fees Valor da tarifa do reembolso. integer(12), response
├─currency Moeda utilizada no pedido. Valores possíveis: BRL. string, response
└─total Total reembolsado. Em centavos Ex: R$10,32 será informado 1032 integer(12), response
type Tipo do reembolso. Valores possíveis: FULL, PARTIAL. string, response
refundingInstrument Meio de pagamento utilizado no reembolso. structured
├─method Meio de pagamento. Valores possíveis: CREDIT_CARD, BANK_ACCOUNT, MOIP_ACCOUNT string
├─creditCard Cartão de crédito usado no reembolso. Object Cartão de Crédito
├─moipAccount Conta Moip usado no reembolso. Object Conta Moip
└─bankAccount Conta bancária usada no reembolso. Object Conta bancária
events Eventos do reembolso. structured
├─createdAt Data de criação do reembolso. integer(12), response
├─type Tipo do reembolso. Valores possíveis: REFUND.REQUESTED, REFUND.WAITING, REFUND.FAILED, REFUND.COMPLETED. string, response
createdAt Data da criação do recurso. datetime, response
_links Estrutura de links Hypermedia (HATEOAS) do recurso. structured, response
├─self Referência para o próprio recurso. structured
├ └─href Hyperlink para o próprio recurso. link
├─order Referência para o Pedido. structured
├ ├─title Identificador do Pedido. string
├ └─href Hyperlink para o Pedido. link
├─payment Referência para o Pagamento. structured
├ ├─title Identificador do Pagamento. string
└ └─href Hyperlink para o Pagamento. link
Suggest Edits

Reembolsar Pagamento

Esta API permite reembolsar um pagamento. Lembre-se que também é possível reembolsar diretamente o Pedido.

O reembolso pode ser feito sobre o valor total ou sobre parte do valor do pagamento. Caso o atributo amount não seja especificado será considerado o reembolso do valor total. Caso o pagamento tenha sido efetuado por cartão de crédito, o valor será devolvido para o Cliente no próprio cartão. Caso o pagamento tenha sido efetuado por outros meios, esta API possibilita que seja escolhido o meio de reembolso (conta bancária ou Conta Moip).

 
posthttps://sandbox.moip.com.br/v2/payments/payment_id/refunds

Path Params

payment_id
string
required

Caso você vá reembolsar o valor parcial do pagamento, mande o seguinte no body da request:

{
    "amount": 1000   
}

IMPORTANTE

O reembolso pode ser executado apenas pelo recebedor primário da transação, ou seja a conta Moip que tenha o parâmetro receivers.[].type do tipo PRIMARY.

Parâmetros:

Nome Descrição Tipo
amount Valores do reembolso. Em centavos Ex: R$10,32 deve ser informado 1032 structured, opcional
refundingInstrument Meio de pagamento utilizado no reembolso. structured
├─method Meios de pagamento: BANK_ACCOUNT e MOIP_ACCOUNT. Usado apenas em pagamentos realizados com boleto ou débito online. string, condicional
├─BANK_ACCOUNT Conta bancária usada no reembolso. Conta bancária, condicional
└─MOIP_ACCOUNT Conta Moip usada no reembolso. Carteira eletrônica, condicional
curl --request POST \
  --url https://sandbox.moip.com.br/v2/payments/PAY-123456789012/refunds
var request = require("request");

var options = { method: 'POST',
  url: 'https://sandbox.moip.com.br/v2/payments/PAY-123456789012/refunds' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://sandbox.moip.com.br/v2/payments/PAY-123456789012/refunds")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://sandbox.moip.com.br/v2/payments/PAY-123456789012/refunds");

xhr.send(data);
import requests

url = "https://sandbox.moip.com.br/v2/payments/PAY-123456789012/refunds"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "id": "REF-BP8AAGSG7OTY",
  "status": "COMPLETED",
  "events": [
    {
      "createdAt": "2015-02-26T19:14:25-0300",
      "type": "REFUND.COMPLETED"
    },
    {
      "createdAt": "2015-02-26T19:14:23-0300",
      "type": "REFUND.REQUESTED"
    }
  ],
  "amount": {
    "fees": 0,
    "currency": "BRL",
    "total": 2000
  },
  "type": "FULL",
  "refundingInstrument": {
    "creditCard": {
      "brand": "MASTERCARD",
      "first6": "555566",
      "last4": "8884"
    },
    "method": "CREDIT_CARD"
  },
  "createdAt": "2015-02-26T19:14:23-0300",
  "_links": {
    "payment": {
      "title": "PAY-X2VXEGV7WVFB",
      "href": "https://sandbox.moip.com.br/v2/payments/PAY-X2VXEGV7WVFB"
    },
    "order": {
      "title": "ORD-44GC0PFGU42M",
      "href": "https://sandbox.moip.com.br/v2/orders/ORD-44GC0PFGU42M"
    },
    "self": {
      "href": "https://sandbox.moip.com.br/v2/refunds/REF-BP8AAGSG7OTY"
    }
  }
}
Suggest Edits

Reembolsar Pedido

Esta API permite reembolsar um pedido.

O reembolso pode ser feito sobre o valor total ou sobre parte do valor do pagamento. Caso o atributo amount não seja especificado será considerado o reembolso do valor total. Caso o pagamento tenha sido efetuado por cartão de crédito, o valor será devolvido para o Cliente no próprio cartão. Caso o pagamento tenha sido efetuado por outros meios, esta API possibilita que seja escolhido o meio de reembolso (conta bancária, ordem de pagamento ou Conta Moip).

 
posthttps://sandbox.moip.com.br/v2/orders/order_id/refunds

Path Params

order_id
string
required

Caso você vá reembolsar o valor parcial do pedido para o cartão de crédito, mande o seguinte no body da request:

{
    "amount": 1000   
}

Caso você vá reembolsar o valor parcial do pedido para uma conta bancária, mande o seguinte no body da request:

{
  "refundingInstrument": {
    "method": "BANK_ACCOUNT",
    "bankAccount": {
      "type": "CHECKING",
      "bankNumber": "001",
      "agencyNumber": 4444444,
      "agencyCheckNumber": 2,
      "accountNumber": 1234,
      "accountCheckNumber": 1,
      "holder": {
        "fullname": "Nome do Portador",
        "taxDocument": {
          "type": "CPF",
          "number": "22222222222"
        }
      }
    }
  }
}

O modelo da response será:

200 (Created)
Content-Type: application/json
{
  "id": "REF-Q62KXZ2R69SW",
  "status": "REQUESTED",
  "events": [
    {
      "createdAt": "2015-02-27T11:35:04-0300",
      "type": "REFUND.REQUESTED"
    }
  ],
  "amount": {
    "fees": 0,
    "currency": "BRL",
    "total": 2000
  },
  "type": "FULL",
  "refundingInstrument": {
    "bankAccount": {
      "bankNumber": "001",
      "bankName": "BANCO DO BRASIL S.A.",
      "agencyNumber": "44444",
      "agencyCheckNumber": "2",
      "accountNumber": "1234",
      "accountCheckNumber": "1",
      "type": "CHECKING",
      "holder": {
        "taxDocument": {
          "type": "CPF",
          "number": "22222222222"
        },
        "fullname": "Jose Silva"
      }
    },
    "method": "BANK_ACCOUNT"
  },
  "createdAt": "2015-02-27T11:35:04-0300",
  "_links": {
    "payment": {
      "title": "PAY-T9DSISNJZ9LP",
      "href": "https://sandbox.moip.com.br/v2/payments/PAY-T9DSISNJZ9LP"
    },
    "order": {
      "title": "ORD-724JCGAOIVHZ",
      "href": "https://sandbox.moip.com.br/v2/orders/ORD-724JCGAOIVHZ"
    },
    "self": {
      "href": "https://sandbox.moip.com.br/v2/refunds/REF-Q62KXZ2R69SW"
    }
  }
}

IMPORTANTE

O reembolso pode ser executado apenas pelo recebedor primário da transação, ou seja a conta Moip que tenha o parâmetro receivers.[].type do tipo PRIMARY.

Parâmetros:

Nome Descrição Tipo
amount Valores do reembolso. Em centavos Ex: R$10,32 deve ser informado 1032 structured, opcional
refundingInstrument Meio de pagamento utilizado no reembolso. structured, condicional
├─method Meios de pagamento: BANK_ACCOUNT e MOIP_ACCOUNT. Usado apenas em pagamentos realizados com boleto ou débito online. string, condicional
├─BANK_ACCOUNT Conta bancária utilizada no reembolso. A conta bancária deve ser de mesma titularidade do CLiente utilizado no Pedido. Caso o taxDocument do Cliente não seja informado no Pedido, esta validação não será realizada. Conta bancária, condicional
└─MOIP_ACCOUNT Conta Moip usada no reembolso. Nesta versão da api não é possível enviar os dados da Conta Moip que irá receber o reembolso. Caso o Cliente possua uma Conta Moip o reeembolso será feito automaticamente. Em caso contrário, o reembolso irá falhar. Carteira eletrônica, condicional
curl --request POST \
  --url https://sandbox.moip.com.br/v2/orders/ORD-123456789012/refunds
var request = require("request");

var options = { method: 'POST',
  url: 'https://sandbox.moip.com.br/v2/orders/ORD-123456789012/refunds' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://sandbox.moip.com.br/v2/orders/ORD-123456789012/refunds")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://sandbox.moip.com.br/v2/orders/ORD-123456789012/refunds");

xhr.send(data);
import requests

url = "https://sandbox.moip.com.br/v2/orders/ORD-123456789012/refunds"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "id": "REF-BP8AAGSG7OTY",
  "status": "COMPLETED",
  "events": [
    {
      "createdAt": "2015-02-26T19:14:25-0300",
      "type": "REFUND.COMPLETED"
    },
    {
      "createdAt": "2015-02-26T19:14:23-0300",
      "type": "REFUND.REQUESTED"
    }
  ],
  "amount": {
    "fees": 0,
    "currency": "BRL",
    "total": 2000
  },
  "type": "FULL",
  "refundingInstrument": {
    "creditCard": {
      "brand": "MASTERCARD",
      "first6": "555566",
      "last4": "8884"
    },
    "method": "CREDIT_CARD"
  },
  "createdAt": "2015-02-26T19:14:23-0300",
  "_links": {
    "payment": {
      "title": "PAY-X2VXEGV7WVFB",
      "href": "https://sandbox.moip.com.br/v2/payments/PAY-X2VXEGV7WVFB"
    },
    "order": {
      "title": "ORD-44GC0PFGU42M",
      "href": "https://sandbox.moip.com.br/v2/orders/ORD-44GC0PFGU42M"
    },
    "self": {
      "href": "https://sandbox.moip.com.br/v2/refunds/REF-BP8AAGSG7OTY"
    }
  }
}
Suggest Edits

Consultar Reembolso

Por meio desta API é possível consultar as informações e detalhes de um Reembolso.

 
gethttps://sandbox.moip.com.br/v2/refunds/refund_id

Path Params

refund_id
string
required

Id do reembolso em formato de hash string(16) Obrigatório

curl --request GET \
  --url https://sandbox.moip.com.br/v2/refunds/REF-123456789012
var request = require("request");

var options = { method: 'GET',
  url: 'https://sandbox.moip.com.br/v2/refunds/REF-123456789012' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://sandbox.moip.com.br/v2/refunds/REF-123456789012")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://sandbox.moip.com.br/v2/refunds/REF-123456789012");

xhr.send(data);
import requests

url = "https://sandbox.moip.com.br/v2/refunds/REF-123456789012"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

 {
  "id": "REF-BO0ABQCGVZVD",
  "status": "COMPLETED",
  "amount": {
    "fees": 0,
    "currency": "BRL",
    "total": 1000
  },
  "type": "PARTIAL",
  "refundingInstrument": {
    "creditCard": {
      "brand": "MASTERCARD",
      "first6": "555566",
      "last4": "8884"
    },
    "method": "CREDIT_CARD"
  },
  "createdAt": "2015-01-13T18:13:06-0200",
  "_links": {
    "payment": {
      "title": "PAY-6N4P8COQU6OS",
      "href": "https://sandbox.moip.com.br/v2/payments/PAY-6N4P8COQU6OS"
    },
    "order": {
      "title": "ORD-F78K9QTS1UN6",
      "href": "https://sandbox.moip.com.br/v2/orders/ORD-F78K9QTS1UN6"
    },
    "self": {
      "href": "https://sandbox.moip.com.br/v2/refunds/REF-BO0ABQCGVZVD"
    }
  }
}
Suggest Edits

Listar Reembolsos do Pagamento

Esta API permite listar todos os reembolsos associados a um determinado pagamento.

 
gethttps://sandbox.moip.com.br/v2/payments/payment_id/refunds

Path Params

payment_id
string
required

Id do pagamento em formato de hash string(16), obrigatório

curl --request GET \
  --url https://sandbox.moip.com.br/v2/payments/PAY-123456789012/refunds
var request = require("request");

var options = { method: 'GET',
  url: 'https://sandbox.moip.com.br/v2/payments/PAY-123456789012/refunds' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://sandbox.moip.com.br/v2/payments/PAY-123456789012/refunds")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://sandbox.moip.com.br/v2/payments/PAY-123456789012/refunds");

xhr.send(data);
import requests

url = "https://sandbox.moip.com.br/v2/payments/PAY-123456789012/refunds"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "refunds": [
    {
      "id": "REF-J4DZBVSRSRMU",
      "status": "COMPLETED",
      "type": "FULL",
      "amount": {
        "fees": 0,
        "currency": "BRL",
        "total": 10000
      },
      "refundingInstrument": {
        "method": "CREDIT_CARD",
        "creditCard": {
          "brand": "VISA",
          "first6": "401200",
          "last4": "3335"
        }
      },
      "events": [
        {
          "createdAt": "2015-12-05T18:57:17-0200",
          "type": "REFUND.COMPLETED"
        },
        {
          "createdAt": "2015-12-05T18:57:15-0200",
          "type": "REFUND.REQUESTED"
        }
      ],
      "_links": {
        "payment": {
          "title": "PAY-3N7TSKQ26L2I",
          "href": "https://sandbox.moip.com.br/v2/payments/PAY-3N7TSKQ26L2I"
        },
        "order": {
          "title": "ORD-1RQDM20CQW8T",
          "href": "https://sandbox.moip.com.br/v2/orders/ORD-1RQDM20CQW8T"
        },
        "self": {
          "href": "https://sandbox.moip.com.br/v2/refunds/REF-I7IEV1RG9T1L"
        }
      },
      "createdAt": "2015-12-05T18:57:15-0200"
    }
  ]
}
Suggest Edits

Listar Reembolsos do Pedido

Esta API permite listar todos os reembolsos associados a um determinado pedido.

 
gethttps://sandbox.moip.com.br/v2/orders/orders_id/refunds

Path Params

orders_id
string
required

Id do pagamento em formato de hash. string(16), Obrigatório

curl --request GET \
  --url https://sandbox.moip.com.br/v2/orders/ORD_123456789012/refunds
var request = require("request");

var options = { method: 'GET',
  url: 'https://sandbox.moip.com.br/v2/orders/ORD_123456789012/refunds' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://sandbox.moip.com.br/v2/orders/ORD_123456789012/refunds")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://sandbox.moip.com.br/v2/orders/ORD_123456789012/refunds");

xhr.send(data);
import requests

url = "https://sandbox.moip.com.br/v2/orders/ORD_123456789012/refunds"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "refunds": [
    {
      "id": "REF-J4DZBVSRSRMU",
      "status": "COMPLETED",
      "type": "FULL",
      "amount": {
        "fees": 0,
        "currency": "BRL",
        "total": 10000
      },
      "refundingInstrument": {
        "method": "CREDIT_CARD",
        "creditCard": {
          "brand": "VISA",
          "first6": "401200",
          "last4": "3335"
        }
      },
      "events": [
        {
          "createdAt": "2015-12-05T18:57:17-0200",
          "type": "REFUND.COMPLETED"
        },
        {
          "createdAt": "2015-12-05T18:57:15-0200",
          "type": "REFUND.REQUESTED"
        }
      ],
      "_links": {
        "payment": {
          "title": "PAY-3N7TSKQ26L2I",
          "href": "https://sandbox.moip.com.br/v2/payments/PAY-3N7TSKQ26L2I"
        },
        "order": {
          "title": "ORD-1RQDM20CQW8T",
          "href": "https://sandbox.moip.com.br/v2/orders/ORD-1RQDM20CQW8T"
        },
        "self": {
          "href": "https://sandbox.moip.com.br/v2/refunds/REF-J4DZBVSRSRMU"
        }
      },
      "createdAt": "2015-12-05T18:57:15-0200"
    }
  ]
}
Suggest Edits

Multipedidos

 

O Multipedido é uma coleção de pedidos. Usado para viabilizar transações que envolvam pedidos para diferentes lojistas em um mesmo carrinho de compras. Ao cobrar um multipedido, com uma única interação do consumidor, o Moip gera múltiplos pagamentos (ex: múltiplas cobranças no cartão do cliente) e associa a cada pedido, facilitando a gestão de marketplaces e plataformas.

Importante: por definição não é possível realizar o reembolso de um pedido múltiplo. Contudo, você ainda será capaz de reembolsar cada pedido individualmente. Para isso, utilize a API de reembolso de pedidos.

Importante: para utilizar esse recurso você deverá previamente solicitar permissões para as Contas Moip a serem envolvidas na transação como recebedoras de pagamentos. Para isso, utilize o Moip Connect.

Atributos:

Nome Descrição Detalhes
id Id Moip do multipedido. string(16), response
ownId Id próprio do multipedido. Referência externa. string(65)
status Status do multipedido. Valores possíveis: WAITING, PAID, NOT_PAID, REVERTED. string(65), response
amount Valores do multipedido. structured, response
├─currency Moeda utilizada. Valores possíveis: BRL. string
└─total Valor total do multipedido. Em centavos Ex: R$10,32 será informado 1032 integer(12)
orders Pedidos. coleção de Pedidos
createdAt Data da criação do recurso. datetime, response
updatedAt Data da atualização do recurso. datetime, response
_links Estrutura de links Hypermedia (HATEOAS) do recurso. structured, response
├─self Hyperlink para o próprio recurso. structured
├ └─href Hyperlink para o próprio recurso. link
└─checkout Links para checkout. structured Objeto: Checkout Moip
Suggest Edits

Criar Multipedido

Por meio desta API é possível criar coleções de pedidos, ou seja uma estrutura de carrinho compartilhado.

 
posthttps://sandbox.moip.com.br/v2/multiorders

Body Params

ownId
string
required

Id próprio do multipedido. Referência externa. string(65)

orders
string
required

Pedidos. O atributo receiver de cada pedido deve ser preenchido indicando quem será o recebedor primário. Coleção de Pedidos

Headers

OAuth Authentication
string
{
  "ownId": "meu_multiorder_id",
  "orders": [
    {
      "ownId": "pedido_1_id",
      "amount": {
        "currency": "BRL",
        "subtotals": {
          "shipping": 2000
        }
      },
      "items": [
        {
          "product": "Camisa Verde e Amarelo - Brasil",
          "quantity": 1,
          "detail": "Seleção Brasileira",
          "price": 2000
        }
      ],
      "customer": {
        "ownId": "customer[1234]",
        "fullname": "Joao Sousa",
        "email": "joao.sousa@email.com",
        "birthDate": "1988-12-30",
        "taxDocument": {
          "type": "CPF",
          "number": "22222222222"
        },
        "phone": {
          "countryCode": "55",
          "areaCode": "11",
          "number": "66778899"
        },
        "shippingAddress": 
          {
            "street": "Avenida Faria Lima",
            "streetNumber": 2927,
            "complement": 8,
            "district": "Itaim",
            "city": "Sao Paulo",
            "state": "SP",
            "country": "BRA",
            "zipCode": "01234000"
          }
      },
      "receivers": [
        {
          "moipAccount": {
            "id": "MPA-VB5OGTVPCI52"
          },
          "type": "PRIMARY"
        }
      ]
    },
    {
      "ownId": "pedido_2_id",
      "amount": {
        "currency": "BRL",
        "subtotals": {
          "shipping": 3000
        }
      },
      "items": [
        {
          "product": "Camisa Preta - Alemanha",
          "quantity": 1,
          "detail": "Camiseta da Copa 2014",
          "price": 1000
        }
      ],
      "customer": {
        "ownId": "customer[1234]",
        "fullname": "Joao Sousa",
        "email": "joao.sousa@email.com",
        "birthDate": "1988-12-30",
        "taxDocument": {
          "type": "CPF",
          "number": "22222222222"
        },
        "phone": {
          "countryCode": "55",
          "areaCode": "11",
          "number": "66778899"
        },
        "shippingAddress": 
          {
            "street": "Avenida Faria Lima",
            "streetNumber": 2927,
            "complement": 8,
            "district": "Itaim",
            "city": "Sao Paulo",
            "state": "SP",
            "country": "BRA",
            "zipCode": "01234000"
          }
      },
      "receivers": [
        {
          "moipAccount": {
            "id": "MPA-IFYRB1HBL73Z"
          },
          "type": "PRIMARY"
        },
        {
          "moipAccount": {
            "id": "MPA-KQB1QFWS6QNM"
          },
          "type": "SECONDARY",
          "feePayor": false,
          "amount": {
            "fixed": 55
          }
        }
      ]
    }
  ]
}
A binary file was returned

You couldn't be authenticated

{
  "id": "MOR-9241K3EFW5DV",
  "ownId": "meu_multiorder_id",
  "status": "CREATED",
  "createdAt": "2015-02-27T11:39:02-0300",
  "updatedAt": "",
  "amount": {
    "currency": "BRL",
    "total": 8000
  },
  "orders": [
    {
      "id": "ORD-4LFGB72U2OK1",
      "ownId": "pedido_1_id",
      "status": "CREATED",
      "createdAt": "2015-02-27T11:39:02-0300",
      "amount": {
        "total": 4000,
        "fees": 0,
        "refunds": 0,
        "liquid": 0,
        "otherReceivers": 4000,
        "currency": "BRL",
        "subtotals": {
          "shipping": 2000,
          "addition": 0,
          "discount": 0,
          "items": 2000
        }
      },
      "items": [
        {
          "product": "Camisa Verde e Amarelo - Brasil",
          "price": 2000,
          "detail": "Seleção Brasileira",
          "quantity": 1
        }
      ],
      "customer": {
        "id": "CUS-IRDAWA6Q260J",
        "ownId": "customer[1234]",
        "fullname": "Joao Sousa",
        "createdAt": "2015-02-27T11:39:02-0300",
        "birthDate": "1988-12-30T00:00:00-0200",
        "email": "joao.sousa@email.com",
        "phone": {
          "countryCode": "55",
          "areaCode": "11",
          "number": "66778899"
        },
        "taxDocument": {
          "type": "CPF",
          "number": "22222222222"
        },
        "shippingAddress": {
          "zipCode": "01234000",
          "street": "Avenida Faria Lima",
          "streetNumber": "2927",
          "complement": "8",
          "city": "Sao Paulo",
          "district": "Itaim",
          "state": "SP",
          "country": "BRA"
        },
        "moipAccount": {
          "id": "MPA-PNYDE2TGOHQ9"
        },
        "_links": {
          "self": {
            "href": "https://sandbox.moip.com.br/v2/customers/CUS-IRDAWA6Q260J"
          }
        }
      },
      "payments": [],
      "refunds": [],
      "entries": [],
      "events": [
        {
          "createdAt": "2015-02-27T11:39:02-0300",
          "description": "",
          "type": "ORDER.CREATED"
        }
      ],
      "receivers": [
        {
          "amount": {
            "fees": 0,
            "refunds": 0,
            "total": 4000
          },
          "moipAccount": {
            "fullname": "Lojista 4 Moip",
            "login": "lojista_4@labs.moip.com.br",
            "id": "MPA-VB5OGTVPCI52"
          },
          "type": "PRIMARY"
        }
      ],
      "shippingAddress": {
        "zipCode": "01234000",
        "street": "Avenida Faria Lima",
        "streetNumber": "2927",
        "complement": "8",
        "city": "Sao Paulo",
        "district": "Itaim",
        "state": "SP",
        "country": "BRA"
      },
      "_links": {
        "self": {
          "href": "https://sandbox.moip.com.br/v2/orders/ORD-4LFGB72U2OK1"
        }
      }
    },
    {
      "id": "ORD-29P0JCAJY8ZU",
      "ownId": "pedido_2_id",
      "status": "CREATED",
      "createdAt": "2015-02-27T11:39:02-0300",
      "amount": {
        "total": 4000,
        "fees": 0,
        "refunds": 0,
        "liquid": 0,
        "otherReceivers": 4000,
        "currency": "BRL",
        "subtotals": {
          "shipping": 3000,
          "addition": 0,
          "discount": 0,
          "items": 1000
        }
      },
      "items": [
        {
          "product": "Camisa Preta - Alemanha",
          "price": 1000,
          "detail": "Camiseta da Copa 2014",
          "quantity": 1
        }
      ],
      "customer": {
        "id": "CUS-RE6XARTZD2K7",
        "ownId": "customer[1234]",
        "fullname": "Joao Sousa",
        "createdAt": "2015-02-27T11:39:02-0300",
        "birthDate": "1988-12-30T00:00:00-0200",
        "email": "joao.sousa@email.com",
        "phone": {
          "countryCode": "55",
          "areaCode": "11",
          "number": "66778899"
        },
        "taxDocument": {
          "type": "CPF",
          "number": "22222222222"
        },
        "shippingAddress": {
          "zipCode": "01234000",
          "street": "Avenida Faria Lima",
          "streetNumber": "2927",
          "complement": "8",
          "city": "Sao Paulo",
          "district": "Itaim",
          "state": "SP",
          "country": "BRA"
        },
        "moipAccount": {
          "id": "MPA-PNYDE2TGOHQ9"
        },
        "_links": {
          "self": {
            "href": "https://sandbox.moip.com.br/v2/customers/CUS-RE6XARTZD2K7"
          }
        }
      },
      "payments": [],
      "refunds": [],
      "entries": [],
      "events": [
        {
          "createdAt": "2015-02-27T11:39:02-0300",
          "description": "",
          "type": "ORDER.CREATED"
        }
      ],
      "receivers": [
        {
          "amount": {
            "fees": 0,
            "refunds": 0,
            "total": 3945
          },
          "moipAccount": {
            "fullname": "Lojista 3 Moip",
            "login": "lojista_3@labs.moip.com.br",
            "id": "MPA-IFYRB1HBL73Z"
          },
          "type": "PRIMARY"
        },
        {
          "amount": {
            "refunds": 0,
            "total": 55
          },
          "moipAccount": {
            "fullname": "Maria da Silva Santos",
            "login": "secundario_1@labs.moip.com.br",
            "id": "MPA-KQB1QFWS6QNM"
          },
          "type": "SECONDARY"
        }
      ],
      "shippingAddress": {
        "zipCode": "01234000",
        "street": "Avenida Faria Lima",
        "streetNumber": "2927",
        "complement": "8",
        "city": "Sao Paulo",
        "district": "Itaim",
        "state": "SP",
        "country": "BRA"
      },
      "_links": {
        "self": {
          "href": "https://sandbox.moip.com.br/v2/orders/ORD-29P0JCAJY8ZU"
        }
      }
    }
  ],
  "_links": {
    "self": {
      "href": "https://sandbox.moip.com.br/v2/orders/MOR-9241K3EFW5DV"
    },
    "checkout": {
      "payOnlineBankDebitItau": {
        "redirectHref": "https://checkout-sandbox.moip.com.br/debit/itau/MOR-9241K3EFW5DV"
      },
      "payCreditCard": {
        "redirectHref": "https://checkout-sandbox.moip.com.br/creditcard/MOR-9241K3EFW5DV"
      }
    }
  }
}
Suggest Edits

Consultar Multipedido

Por meio desta API é possível consultar as informações e detalhes de um multipedido.

 
gethttps://sandbox.moip.com.br/v2/multiorders/multiorder_id

Path Params

multiorder_id
string
required

Id do multipagamento em formato de hash. String(16), Obrigatório

Headers

OAuth Authentication
string
curl --request GET \
  --url https://sandbox.moip.com.br/v2/multiorders/MOR-123456789012
var request = require("request");

var options = { method: 'GET',
  url: 'https://sandbox.moip.com.br/v2/multiorders/MOR-123456789012' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://sandbox.moip.com.br/v2/multiorders/MOR-123456789012")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://sandbox.moip.com.br/v2/multiorders/MOR-123456789012");

xhr.send(data);
import requests

url = "https://sandbox.moip.com.br/v2/multiorders/MOR-123456789012"

response = requests.request("GET", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
  "id": "MOR-9241K3EFW5DV",
  "ownId": "meu_multiorder_id",
  "status": "CREATED",
  "createdAt": "2015-02-27T11:39:02-0300",
  "updatedAt": "",
  "amount": {
    "currency": "BRL",
    "total": 8000
  },
  "orders": [
    {
      "id": "ORD-4LFGB72U2OK1",
      "ownId": "pedido_1_id",
      "status": "CREATED",
      "createdAt": "2015-02-27T11:39:02-0300",
      "amount": {
        "total": 4000,
        "fees": 0,
        "refunds": 0,
        "liquid": 0,
        "otherReceivers": 4000,
        "currency": "BRL",
        "subtotals": {
          "shipping": 2000,
          "addition": 0,
          "discount": 0,
          "items": 2000
        }
      },
      "items": [
        {
          "product": "Camisa Verde e Amarelo - Brasil",
          "price": 2000,
          "detail": "Seleção Brasileira",
          "quantity": 1
        }
      ],
      "customer": {
        "id": "CUS-IRDAWA6Q260J",
        "ownId": "customer[1234]",
        "fullname": "Joao Sousa",
        "createdAt": "2015-02-27T11:39:02-0300",
        "birthDate": "1988-12-30T00:00:00-0200",
        "email": "joao.sousa@email.com",
        "phone": {
          "countryCode": "55",
          "areaCode": "11",
          "number": "66778899"
        },
        "taxDocument": {
          "type": "CPF",
          "number": "22222222222"
        },
        "shippingAddress": {
          "zipCode": "01234000",
          "street": "Avenida Faria Lima",
          "streetNumber": "2927",
          "complement": "8",
          "city": "Sao Paulo",
          "district": "Itaim",
          "state": "SP",
          "country": "BRA"
        },
        "moipAccount": {
          "id": "MPA-PNYDE2TGOHQ9"
        },
        "_links": {
          "self": {
            "href": "https://sandbox.moip.com.br/v2/customers/CUS-IRDAWA6Q260J"
          }
        }
      },
      "payments": [],
      "refunds": [],
      "entries": [],
      "events": [
        {
          "createdAt": "2015-02-27T11:39:02-0300",
          "description": "",
          "type": "ORDER.CREATED"
        }
      ],
      "receivers": [
        {
          "amount": {
            "fees": 0,
            "refunds": 0,
            "total": 4000
          },
          "moipAccount": {
            "fullname": "Lojista 4 Moip",
            "login": "lojista_4@labs.moip.com.br",
            "id": "MPA-VB5OGTVPCI52"
          },
          "type": "PRIMARY"
        }
      ],
      "shippingAddress": {
        "zipCode": "01234000",
        "street": "Avenida Faria Lima",
        "streetNumber": "2927",
        "complement": "8",
        "city": "Sao Paulo",
        "district": "Itaim",
        "state": "SP",
        "country": "BRA"
      },
      "_links": {
        "self": {
          "href": "https://sandbox.moip.com.br/v2/orders/ORD-4LFGB72U2OK1"
        }
      }
    },
    {
      "id": "ORD-29P0JCAJY8ZU",
      "ownId": "pedido_2_id",
      "status": "CREATED",
      "createdAt": "2015-02-27T11:39:02-0300",
      "amount": {
        "total": 4000,
        "fees": 0,
        "refunds": 0,
        "liquid": 0,
        "otherReceivers": 4000,
        "currency": "BRL",
        "subtotals": {
          "shipping": 3000,
          "addition": 0,
          "discount": 0,
          "items": 1000
        }
      },
      "items": [
        {
          "product": "Camisa Preta - Alemanha",
          "price": 1000,
          "detail": "Camiseta da Copa 2014",
          "quantity": 1
        }
      ],
      "customer": {
        "id": "CUS-RE6XARTZD2K7",
        "ownId": "customer[1234]",
        "fullname": "Joao Sousa",
        "createdAt": "2015-02-27T11:39:02-0300",
        "birthDate": "1988-12-30T00:00:00-0200",
        "email": "joao.sousa@email.com",
        "phone": {
          "countryCode": "55",
          "areaCode": "11",
          "number": "66778899"
        },
        "taxDocument": {
          "type": "CPF",
          "number": "22222222222"
        },
        "shippingAddress": {
          "zipCode": "01234000",
          "street": "Avenida Faria Lima",
          "streetNumber": "2927",
          "complement": "8",
          "city": "Sao Paulo",
          "district": "Itaim",
          "state": "SP",
          "country": "BRA"
        },
        "moipAccount": {
          "id": "MPA-PNYDE2TGOHQ9"
        },
        "_links": {
          "self": {
            "href": "https://sandbox.moip.com.br/v2/customers/CUS-RE6XARTZD2K7"
          }
        }
      },
      "payments": [],
      "refunds": [],
      "entries": [],
      "events": [
        {
          "createdAt": "2015-02-27T11:39:02-0300",
          "description": "",
          "type": "ORDER.CREATED"
        }
      ],
      "receivers": [
        {
          "amount": {
            "fees": 0,
            "refunds": 0,
            "total": 3945
          },
          "moipAccount": {
            "fullname": "Lojista 3 Moip",
            "login": "lojista_3@labs.moip.com.br",
            "id": "MPA-IFYRB1HBL73Z"
          },
          "type": "PRIMARY"
        },
        {
          "amount": {
            "refunds": 0,
            "total": 55
          },
          "moipAccount": {
            "fullname": "Maria da Silva Santos",
            "login": "secundario_1@labs.moip.com.br",
            "id": "MPA-KQB1QFWS6QNM"
          },
          "type": "SECONDARY"
        }
      ],
      "shippingAddress": {
        "zipCode": "01234000",
        "street": "Avenida Faria Lima",
        "streetNumber": "2927",
        "complement": "8",
        "city": "Sao Paulo",
        "district": "Itaim",
        "state": "SP",
        "country": "BRA"
      },
      "_links": {
        "self": {
          "href": "https://sandbox.moip.com.br/v2/orders/ORD-29P0JCAJY8ZU"
        }
      }
    }
  ],
  "_links": {
    "self": {
      "href": "https://sandbox.moip.com.br/v2/orders/MOR-9241K3EFW5DV"
    },
    "checkout": {
      "payOnlineBankDebitItau": {
        "redirectHref": "https://checkout-sandbox.moip.com.br/debit/itau/MOR-9241K3EFW5DV"
      },
      "payCreditCard": {
        "redirectHref": "https://checkout-sandbox.moip.com.br/creditcard/MOR-9241K3EFW5DV"
      }
    }
  }
}
Suggest Edits

Multipagamentos

O Multipagamento é uma coleção de pagamentos associados a um multipedido. Usado para a implementação de carrinhos com mais de um lojista e situações em que seja necessário cobrar de forma distinta diferentes itens dentro de um único checkout. Ao criar um multipagamento, o Moip criar automaticamente um pagamento para cada pedido do multipedido e realiza a cobrança automática.

Em casos de cartão de crédito, são geradas múltiplas autorizações, uma para cada pagamento, separando as cobranças na fatura do cliente e com isso facilitando a gestão do Marketplace ou Plataforma.

 

Parâmetros:

Nome Descrição Tipo
id Id Moip do multipagamento. string(16), response
status Status do multipagamento. Valores possíveis: WAITING, IN_ANALYSIS, PRE_AUTHORIZED,AUTHORIZED, CANCELLED, REFUNDED, REVERSED. string, response
amount Valores do multipagamento. structured
├─currency Moeda utilizada. Valores possíveis: BRL. string, response
└─total Valor total do multipagamento. Em centavos Ex: R$10,32 será informado 1032 integer(12), response
installmentCount Número de parcelas. Válido para pagamentos por cartão. Se não for informado, o pagamento será realizado em 1 parcela. Mínimo 1 e Máximo 12. integer(2)
delayCapture Opção para o uso de pré-autorização. Ao setar o atributo para "true", o pagamento será pré-autorizado e ficará disponível para captura posterior. Veja como capturar aqui. boolean
fundingInstrument Meio de pagamento utilizado. structured
├─method Meio de pagamento. Valores possíveis: CREDIT_CARD, BOLETO, ONLINE_BANK_DEBIT, WALLET. string
├─creditCard Dados do cartão de crédito utilizado no pagamento. Objecti Cartão de Crédito
├─boleto Dados do boleto utilizado no pagamento. Object Boleto
├─onlineBankDebit Dados da transferência bancária utilizada no pagamento. Object Débito Online
└─wallet Dados da carteira eletrônica utilizada no pagamento. Não disponível nesta versão da API. Object Carteira Eletrônica
cancellationDetails Detalhes do cancelamento de pagamentos de cartão de crédito. structured
├─cancelledBy Responsável pelo cancelamento. Valores possíveis: MOIP ou ACQUIRER. string, response
├─code Código do motivo de cancelamento. Valores possíveis: ver lista de Detalhes de Cancelamento de Pagamentos number, response
└─description Descrição do motivo de cancelamento. string, response

response|
|updatedAt| Data da atualização do recurso. |datetime,
response|
| _links| Estrutura de links Hypermedia (HATEOAS) do recurso. |structured,
response|
| ├─self| Hyperlink para o próprio recurso. |structured|
| ├─└─href| Hyperlink para o próprio recurso. |link,
response|
| └─checkout| Links para checkout. | Object Checkout Moip,
response* |

Suggest Edits

Criar Multipagamento

Essa API permite criar automaticamente pagamentos para todos os pedidos de um Pedido Múltiplo.

 
posthttps://sandbox.moip.com.br/v2/multiorders/multiorder_id/multipayments

Path Params

multiorder_id
string
required

Body Params

installmentCount
int32

Número de parcelas. Válido para pagamentos por cartão. Se não for informado, o pagamento será realizado em 1 parcela. Mínimo 1 e Máximo 12. integer(2)

delayCapture
boolean

Se o pagamento deve ser pré-autorizado para captura posterior. Válido apenas para pagamentos por cartão de crédito. Indisponível para Multipagamentos nesta versão da API.

fundingInstrument
object

Meio de pagamento utilizado.

fundingInstrument.method
string

Meio de pagamento. Valores possíveis: CREDIT_CARD, BOLETO, ONLINE_BANK_DEBIT, WALLET.

fundingInstrument.creditCard
string

Dados do cartão utilizado no pagamento. Pode ser usado o id de um Cartão previamente salvo, um hash de um cartão criptografado ou a coleção de dados do cartão caso você possua certificação PCI.

fundingInstrument.creditCard.id
string

Identificador do cartão de crédito no previamente salvo no Moip. string(16)

fundingInstrument.creditCard.hash
string

Dados criptografados do cartão de crédito

fundingInstrument.creditCard.number
string

Número do cartão de crédito. Requer certificação PCI. string(19)

fundingInstrument.creditCard.expirationMonth
integer

Mês de expiração do cartão. Requer certificação PCI. integer(2), obrigatório se utilizado o number

fundingInstrument.creditCard.expirationYear
integer

Ano de expiração do cartão. Requer certificação PCI. integer(4), obrigatório se utilizado o number

fundingInstrument.creditCard.cvc
integer

Código de segurança do cartão. Não enviar apenas em casos de exceção quando não existe possibilidade de captura. Exemplo: cobrança posterior em apps ou cobranças recorrentes. integer

fundingInstrument.creditCard.store
boolean

Determina durante a criação de um pagamento se o cartão de crédito utilizado deve ser salvo para oneClickBuy (default: true).l

fundingInstrument.creditCard.holder
object

Portador do cartão. structured, caso esteja utilizando o id não enviar

fundingInstrument.creditCard.holder.fullname
string

Nome do portador impresso no cartão. string(90)

fundingInstrument.creditCard.holder.birthdate
yyyy-mm-dd

Data de nascimento do portador. date(AAAA-MM-DD)

fundingInstrument.creditCard.holder.phone
object
fundingInstrument.creditCard.holder.phone.countryCode
integer

DDI (código internacional) do telefone. Valores possíveis: 55. integer(2)

fundingInstrument.creditCard.holder.phone.areaCode
integer

DDD (código local) do telefone. integer(2)

fundingInstrument.creditCard.holder.phone.number
integer

Número do telefone. integer(9)

fundingInstrument.creditCard.holder.taxDocument
object
fundingInstrument.creditCard.holder.taxDocument.type
string

Tipo do documento. Valores possíveis: CPF,CNPJ. string(3)

fundingInstrument.creditCard.holder.taxDocument.number
string

Número do documento.string(11)

fundingInstrument.creditCard.holder.billingAddress
object

Endereços de cobrança do cartão de crédito. object Endereço

fundingInstrument.boleto
object

Dados do boleto utilizado no pagamento.

fundingInstrument.boleto.expirationDate
yyyy-mm-dd

Data de expiração de um boleto. date

fundingInstrument.boleto.instructionLines
object

Instruções impressas no boleto.

fundingInstrument.boleto.instructionLines.first
string

Primeira linha de instrução. string

fundingInstrument.boleto.instructionLines.second
string

Segunda linha de instrução. string

fundingInstrument.boleto.instructionLines.third
string

Terceira linha de instrução. string

fundingInstrument.boleto.logoUri
string

Endereço de uma imagem com o logotipo a ser impresso no boleto. Ainda não disponível nesta versão da API. link

fundingInstrument.onlineBankDebit
object

Dados para o débito online.

fundingInstrument.onlineBankDebit.bankNumber
string

Número do banco. Valores possíveis: 001, 237, 341, 041. Ver lista de bancos e códigos FEBRABAN

fundingInstrument.onlineBankDebit.expirationDate
yyyy-mm-dd

Data de expiração do débito. date

fundingInstrument.onlineBankDebit.returnUri
string

Url de redirecionamento. Ainda não disponível nesta versão da API. link

Headers

OAuth Authentication
string

IMPORTANTE

Você deve fazer a criptografia dos dados do cartão de crédito antes de enviar ao Moip. Caso você tenha certificado PCI, você pode enviar os dados sem criptografia para o Moip diretamente.

{
  "installmentCount": 1,
  "fundingInstrument": {
    "method": "CREDIT_CARD",
    "creditCard": {
      "hash": "HhL0kbhfid+jwgj5l6Kt9EPdetDxQN8s7uKUHDYxDC/XoULjzik44rSda3EcWuOcL17Eb8JjWc1JI7gsuwg9P0rJv1mJQx+d3Dv1puQYz1iRjEWWhnB1bw0gTvnnC/05KbWN5M8oTiugmhVK02Rt2gpbcTtpS7VWyacfgesBJFavYYMljYg8p2YGHXkXrMuQiOCeemKLk420d0OTMBba27jDVVJ663HZDrObnjFXJH/4B5irkj+HO5genV+V4PYoLcOESG4nrI3oFAsMGsLLcdJo0NNvkEmJpn0e9GzureKKFYisYU+BEd9EMr/odS0VMvOYRV65HbPTspIkjl2+3Q==",
      "holder": {
        "fullname": "Jose Portador da Silva",
        "birthdate": "1988-12-30",
        "taxDocument": {
          "type": "CPF",
          "number": "33333333333"
        },
        "phone": {
          "countryCode": "55",
          "areaCode": "11",
          "number": "66778899"
        }
      }
    }
  }
}
{
  "fundingInstrument": {
    "method": "BOLETO",
    "boleto": {
      "expirationDate": "2017-09-30",
      "instructionLines": {
        "first": "Primeira linha se instrução",
        "second": "Segunda linha se instrução",
        "third": "Terceira linha se instrução"
      },
      "logoUri": "http://"
    }
  }
}
{
  "fundingInstrument": {
    "method": "ONLINE_BANK_DEBIT",
    "onlineBankDebit": {
      "bankNumber": "001",
      "expirationDate": "2017-12-30",
      "returnUri": "http://"
    }
  }
}
A binary file was returned

You couldn't be authenticated

{
  "id": "MPY-8MMS9Y8TE2IK",
  "status": "WAITING",
  "amount": {
    "currency": "BRL",
    "total": 8000
  },
  "installmentCount": 1,
  "payments": [
    {
      "id": "PAY-YVP2NVPMV6YC",
      "status": "WAITING",
      "amount": {
        "fees": 335,
        "refunds": 0,
        "liquid": 3665,
        "currency": "BRL",
        "total": 4000
      },
      "installmentCount": 1,
      "fundingInstrument": {
        "creditCard": {
          "id": "CRC-31VUZTMZVION",
          "brand": "MASTERCARD",
          "first6": "555566",
          "last4": "8884",
          "holder": {
            "birthdate": "30/12/1988",
            "taxDocument": {
              "type": "CPF",
              "number": "33333333333"
            },
            "fullname": "Jose Portador da Silva"
          }
        },
        "method": "CREDIT_CARD"
      },
      "fees": [
        {
          "type": "TRANSACTION",
          "amount": 335
        }
      ],
      "events": [
        {
          "createdAt": "2015-01-14T14:07:34-0200",
          "type": "PAYMENT.WAITING"
        },
        {
          "createdAt": "2015-01-14T14:07:32-0200",
          "type": "PAYMENT.CREATED"
        }
      ],
      "_links": {
        "order": {
          "title": "ORD-H31PC0X9WTHR",
          "href": "https://sandbox.moip.com.br/v2/orders/ORD-H31PC0X9WTHR"
        },
        "self": {
          "href": "https://sandbox.moip.com.br/v2/payments/PAY-YVP2NVPMV6YC"
        }
      },
      "updatedAt": "2015-01-14T14:07:34-0200",
      "createdAt": "2015-01-14T14:07:32-0200"
    },
    {
      "id": "PAY-78WM5WUDITVI",
      "status": "WAITING",
      "amount": {
        "fees": 335,
        "refunds": 0,
        "liquid": 3665,
        "currency": "BRL",
        "total": 4000
      },
      "installmentCount": 1,
      "fundingInstrument": {
        "creditCard": {
          "id": "CRC-GTVZJDJ47I34",
          "brand": "MASTERCARD",
          "first6": "555566",
          "last4": "8884",
          "holder": {
            "birthdate": "30/12/1988",
            "taxDocument": {
              "type": "CPF",
              "number": "33333333333"
            },
            "fullname": "Jose Portador da Silva"
          }
        },
        "method": "CREDIT_CARD"
      },
      "fees": [
        {
          "type": "TRANSACTION",
          "amount": 335
        }
      ],
      "events": [
        {
          "createdAt": "2015-01-14T14:07:34-0200",
          "type": "PAYMENT.WAITING"
        },
        {
          "createdAt": "2015-01-14T14:07:33-0200",
          "type": "PAYMENT.CREATED"
        }
      ],
      "_links": {
        "order": {
          "title": "ORD-3PJ1LMDGGAZ1",
          "href": "https://sandbox.moip.com.br/v2/orders/ORD-3PJ1LMDGGAZ1"
        },
        "self": {
          "href": "https://sandbox.moip.com.br/v2/payments/PAY-78WM5WUDITVI"
        }
      },
      "updatedAt": "2015-01-14T14:07:34-0200",
      "createdAt": "2015-01-14T14:07:33-0200"
    }
  ],
  "_links": {
    "multiorder": {
      "href": "https://sandbox.moip.com.br/v2/multiorders/MOR-DT554VQVBYCY"
    },
    "self": {
      "href": "https://sandbox.moip.com.br/v2/multipayments/MPY-8MMS9Y8TE2IK"
    }
  }
}
{
    "id": "MPY-0CUMZOZVWFO9",
    "status": "WAITING",
    "amount": {
        "total": 8000,
        "currency": "BRL"
    },
    "installmentCount": 1,
    "fundingInstrument": {
        "boleto": {
            "expirationDate": "2017-09-30",
            "lineCode": "23793.39126 60000.107999 22001.747900 7 72980000004000",
            "logoUri": "http://",
            "instructionLines": {
                "first": "Primeira linha se instrução",
                "second": "Segunda linha se instrução",
                "third": "Terceira linha se instrução"
            }
        },
        "method": "BOLETO"
    },
    "payments": [
        {
            "id": "PAY-8M75I5IITET6",
            "status": "WAITING",
            "delayCapture": false,
            "amount": {
                "total": 4000,
                "fees": 0,
                "refunds": 0,
                "liquid": 4000,
                "currency": "BRL"
            },
            "installmentCount": 1,
            "fundingInstrument": {
                "boleto": {
                    "expirationDate": "2017-09-30",
                    "logoUri": "http://",
                    "instructionLines": {
                        "first": "Primeira linha se instrução",
                        "second": "Segunda linha se instrução",
                        "third": "Terceira linha se instrução"
                    }
                },
                "method": "BOLETO"
            },
            "fees": [
                {
                    "type": "TRANSACTION",
                    "amount": 0
                }
            ],
            "events": [
                {
                    "type": "PAYMENT.CREATED",
                    "createdAt": "2017-06-05T09:52:50.000-03"
                },
                {
                    "type": "PAYMENT.WAITING",
                    "createdAt": "2017-06-05T09:52:50.000-03"
                }
            ],
            "receivers": [
                {
                    "moipAccount": {
                        "id": "MPA-VB5OGTVPCI52",
                        "login": "lojista_1@labs.moip.com.br",
                        "fullname": "Lojista 1 Moip"
                    },
                    "type": "PRIMARY",
                    "amount": {
                        "total": 4000,
                        "refunds": 0
                    }
                }
            ],
            "_links": {
                "self": {
                    "href": "https://sandbox.moip.com.br/v2/payments/PAY-8M75I5IITET6"
                },
                "order": {
                    "href": "https://sandbox.moip.com.br/v2/orders/ORD-M5AHK7HRNX72",
                    "title": "ORD-M5AHK7HRNX72"
                }
            },
            "createdAt": "2017-06-05T09:52:50.000-03",
            "updatedAt": "2017-06-05T09:52:50.000-03"
        },
        {
            "id": "PAY-58CJE5Y6K8WD",
            "status": "WAITING",
            "delayCapture": false,
            "amount": {
                "total": 4000,
                "fees": 0,
                "refunds": 0,
                "liquid": 4000,
                "currency": "BRL"
            },
            "installmentCount": 1,
            "fundingInstrument": {
                "boleto": {
                    "expirationDate": "2017-09-30",
                    "logoUri": "http://",
                    "instructionLines": {
                        "first": "Primeira linha se instrução",
                        "second": "Segunda linha se instrução",
                        "third": "Terceira linha se instrução"
                    }
                },
                "method": "BOLETO"
            },
            "fees": [
                {
                    "type": "TRANSACTION",
                    "amount": 0
                }
            ],
            "events": [
                {
                    "type": "PAYMENT.CREATED",
                    "createdAt": "2017-06-05T09:52:50.000-03"
                },
                {
                    "type": "PAYMENT.WAITING",
                    "createdAt": "2017-06-05T09:52:50.000-03"
                }
            ],
            "receivers": [
                {
                    "moipAccount": {
                        "id": "MPA-73YA1Y4R0B",
                        "login": "kezyaantunes",
                        "fullname": "kezya davi"
                    },
                    "type": "PRIMARY",
                    "amount": {
                        "total": 3945,
                        "refunds": 0
                    }
                },
                {
                    "moipAccount": {
                        "id": "MPA-BFF5C2BE1AC5",
                        "login": "davienzo@mailiantor.com",
                        "fullname": "enzo davi"
                    },
                    "type": "SECONDARY",
                    "amount": {
                        "total": 55,
                        "fees": 0,
                        "refunds": 0
                    },
                    "feePayor": false
                }
            ],
            "_links": {
                "self": {
                    "href": "https://sandbox.moip.com.br/v2/payments/PAY-58CJE5Y6K8WD"
                },
                "order": {
                    "href": "https://sandbox.moip.com.br/v2/orders/ORD-MGZNBIW5H6IE",
                    "title": "ORD-MGZNBIW5H6IE"
                }
            },
            "createdAt": "2017-06-05T09:52:50.000-03",
            "updatedAt": "2017-06-05T09:52:50.000-03"
        }
    ],
    "_links": {
        "self": {
            "href": "https://sandbox.moip.com.br/v2/multipayments/MPY-0CUMZOZVWFO9"
        },
        "multiorder": {
            "href": "https://sandbox.moip.com.br/v2/multiorders/MOR-Q5FO4UJ48G63"
        },
        "checkout": {
            "payBoleto": {
                "redirectHref": "https://checkout-sandbox.moip.com.br/boleto/MPY-0CUMZOZVWFO9"
            }
        }
    }
}
{
    "id": "MPY-6G3X3PVCVM33",
    "status": "WAITING",
    "amount": {
        "total": 8000,
        "currency": "BRL"
    },
    "installmentCount": 1,
    "payments": [
        {
            "id": "PAY-LXENQ51DI2S2",
            "status": "WAITING",
            "delayCapture": false,
            "amount": {
                "total": 4000,
                "fees": 0,
                "refunds": 0,
                "liquid": 4000,
                "currency": "BRL"
            },
            "installmentCount": 1,
            "fundingInstrument": {
                "method": "ONLINE_BANK_DEBIT",
                "onlineBankDebit": {
                    "bankNumber": "001",
                    "expirationDate": "2017-12-30",
                    "bankName": "BANCO DO BRASIL S.A."
                }
            },
            "fees": [
                {
                    "type": "TRANSACTION",
                    "amount": 0
                }
            ],
            "events": [
                {
                    "type": "PAYMENT.CREATED",
                    "createdAt": "2017-06-05T09:56:51.000-03"
                },
                {
                    "type": "PAYMENT.WAITING",
                    "createdAt": "2017-06-05T09:56:51.000-03"
                }
            ],
            "receivers": [
                {
                    "moipAccount": {
                        "id": "MPA-VB5OGTVPCI52",
                        "login": "lojista_1@labs.moip.com.br",
                        "fullname": "Lojista 1 Moip"
                    },
                    "type": "PRIMARY",
                    "amount": {
                        "total": 4000,
                        "refunds": 0
                    }
                }
            ],
            "_links": {
                "self": {
                    "href": "https://sandbox.moip.com.br/v2/payments/PAY-LXENQ51DI2S2"
                },
                "order": {
                    "href": "https://sandbox.moip.com.br/v2/orders/ORD-J8VW5EEX1MTC",
                    "title": "ORD-J8VW5EEX1MTC"
                }
            },
            "createdAt": "2017-06-05T09:56:51.000-03",
            "updatedAt": "2017-06-05T09:56:51.000-03"
        },
        {
            "id": "PAY-69THLXEJ4J9V",
            "status": "WAITING",
            "delayCapture": false,
            "amount": {
                "total": 4000,
                "fees": 0,
                "refunds": 0,
                "liquid": 4000,
                "currency": "BRL"
            },
            "installmentCount": 1,
            "fundingInstrument": {
                "method": "ONLINE_BANK_DEBIT",
                "onlineBankDebit": {
                    "bankNumber": "001",
                    "expirationDate": "2017-12-30",
                    "bankName": "BANCO DO BRASIL S.A."
                }
            },
            "fees": [
                {
                    "type": "TRANSACTION",
                    "amount": 0
                }
            ],
            "events": [
                {
                    "type": "PAYMENT.CREATED",
                    "createdAt": "2017-06-05T09:56:51.000-03"
                },
                {
                    "type": "PAYMENT.WAITING",
                    "createdAt": "2017-06-05T09:56:51.000-03"
                }
            ],
            "receivers": [
                {
                    "moipAccount": {
                        "id": "MPA-73YA1Y4R0B",
                        "login": "kezyaantunes",
                        "fullname": "kezya davi"
                    },
                    "type": "PRIMARY",
                    "amount": {
                        "total": 3945,
                        "refunds": 0
                    }
                },
                {
                    "moipAccount": {
                        "id": "MPA-BFF5C2BE1AC5",
                        "login": "davienzo@mailiantor.com",
                        "fullname": "enzo davi"
                    },
                    "type": "SECONDARY",
                    "amount": {
                        "total": 55,
                        "fees": 0,
                        "refunds": 0
                    },
                    "feePayor": false
                }
            ],
            "_links": {
                "self": {
                    "href": "https://sandbox.moip.com.br/v2/payments/PAY-69THLXEJ4J9V"
                },
                "order": {
                    "href": "https://sandbox.moip.com.br/v2/orders/ORD-QW8I4OF0U9Z0",
                    "title": "ORD-QW8I4OF0U9Z0"
                }
            },
            "createdAt": "2017-06-05T09:56:51.000-03",
            "updatedAt": "2017-06-05T09:56:51.000-03"
        }
    ],
    "_links": {
        "self": {
            "href": "https://sandbox.moip.com.br/v2/multipayments/MPY-6G3X3PVCVM33"
        },
        "multiorder": {
            "href": "https://sandbox.moip.com.br/v2/multiorders/MOR-5MV8LQXJFPJP"
        },
        "checkout": {
            "payOnlineBankDebitItau": {
                "redirectHref": "https://checkout-sandbox.moip.com.br/debit/itau/MPY-6G3X3PVCVM33"
            }
        }
    }
}
Suggest Edits

Consultar Multipagamento

Por meio desta API é possível consultar as informações e detalhes de um multipedido.

 
gethttps://sandbox.moip.com.br/v2/multipayments/multipayment_id

Path Params

multipayment_id
string
required

Id do multipagamento em formato de hash. string(16), obrigatório

Headers

OAuth Authentication
string
required
curl --request GET \
  --url https://sandbox.moip.com.br/v2/multipayments/MPY-123456789012 \
  --header 'oauth authentication: OAuth qguusgp05mxaa9adyy8kvo4nuq380z7'
var request = require("request");

var options = { method: 'GET',
  url: 'https://sandbox.moip.com.br/v2/multipayments/MPY-123456789012',
  headers: { 'oauth authentication': 'OAuth qguusgp05mxaa9adyy8kvo4nuq380z7' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://sandbox.moip.com.br/v2/multipayments/MPY-123456789012")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["oauth authentication"] = 'OAuth qguusgp05mxaa9adyy8kvo4nuq380z7'

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://sandbox.moip.com.br/v2/multipayments/MPY-123456789012");
xhr.setRequestHeader("oauth authentication", "OAuth qguusgp05mxaa9adyy8kvo4nuq380z7");

xhr.send(data);
import requests

url = "https://sandbox.moip.com.br/v2/multipayments/MPY-123456789012"

headers = {'oauth authentication': 'OAuth qguusgp05mxaa9adyy8kvo4nuq380z7'}

response = requests.request("GET", url, headers=headers)

print(response.text)
A binary file was returned

You couldn't be authenticated

{
    "id": "MPY-6G3X3PVCVM33",
    "status": "WAITING",
    "amount": {
        "total": 8000,
        "currency": "BRL"
    },
    "installmentCount": 1,
    "payments": [
        {
            "id": "PAY-LXENQ51DI2S2",
            "status": "WAITING",
            "delayCapture": false,
            "amount": {
                "total": 4000,
                "fees": 0,
                "refunds": 0,
                "liquid": 4000,
                "currency": "BRL"
            },
            "installmentCount": 1,
            "fundingInstrument": {
                "method": "ONLINE_BANK_DEBIT",
                "onlineBankDebit": {
                    "bankNumber": "001",
                    "expirationDate": "2017-12-30",
                    "bankName": "BANCO DO BRASIL S.A."
                }
            },
            "fees": [
                {
                    "type": "TRANSACTION",
                    "amount": 0
                }
            ],
            "events": [
                {
                    "type": "PAYMENT.CREATED",
                    "createdAt": "2017-06-05T09:56:51.000-03"
                },
                {
                    "type": "PAYMENT.WAITING",
                    "createdAt": "2017-06-05T09:56:51.000-03"
                }
            ],
            "receivers": [
                {
                    "moipAccount": {
                        "id": "MPA-VB5OGTVPCI52",
                        "login": "lojista_1@labs.moip.com.br",
                        "fullname": "Lojista 1 Moip"
                    },
                    "type": "PRIMARY",
                    "amount": {
                        "total": 4000,
                        "refunds": 0
                    }
                }
            ],
            "_links": {
                "self": {
                    "href": "https://sandbox.moip.com.br/v2/payments/PAY-LXENQ51DI2S2"
                },
                "order": {
                    "href": "https://sandbox.moip.com.br/v2/orders/ORD-J8VW5EEX1MTC",
                    "title": "ORD-J8VW5EEX1MTC"
                }
            },
            "createdAt": "2017-06-05T09:56:51.000-03",
            "updatedAt": "2017-06-05T09:56:51.000-03"
        },
        {
            "id": "PAY-69THLXEJ4J9V",
            "status": "WAITING",
            "delayCapture": false,
            "amount": {
                "total": 4000,
                "fees": 0,
                "refunds": 0,
                "liquid": 4000,
                "currency": "BRL"
            },
            "installmentCount": 1,
            "fundingInstrument": {
                "method": "ONLINE_BANK_DEBIT",
                "onlineBankDebit": {
                    "bankNumber": "001",
                    "expirationDate": "2017-12-30",
                    "bankName": "BANCO DO BRASIL S.A."
                }
            },
            "fees": [
                {
                    "type": "TRANSACTION",
                    "amount": 0
                }
            ],
            "events": [
                {
                    "type": "PAYMENT.CREATED",
                    "createdAt": "2017-06-05T09:56:51.000-03"
                },
                {
                    "type": "PAYMENT.WAITING",
                    "createdAt": "2017-06-05T09:56:51.000-03"
                }
            ],
            "receivers": [
                {
                    "moipAccount": {
                        "id": "MPA-73YA1Y4R0B",
                        "login": "kezyaantunes",
                        "fullname": "kezya davi"
                    },
                    "type": "PRIMARY",
                    "amount": {
                        "total": 3945,
                        "refunds": 0
                    }
                },
                {
                    "moipAccount": {
                        "id": "MPA-BFF5C2BE1AC5",
                        "login": "davienzo@mailiantor.com",
                        "fullname": "enzo davi"
                    },
                    "type": "SECONDARY",
                    "amount": {
                        "total": 55,
                        "fees": 0,
                        "refunds": 0
                    },
                    "feePayor": false
                }
            ],
            "_links": {
                "self": {
                    "href": "https://sandbox.moip.com.br/v2/payments/PAY-69THLXEJ4J9V"
                },
                "order": {
                    "href": "https://sandbox.moip.com.br/v2/orders/ORD-QW8I4OF0U9Z0",
                    "title": "ORD-QW8I4OF0U9Z0"
                }
            },
            "createdAt": "2017-06-05T09:56:51.000-03",
            "updatedAt": "2017-06-05T09:56:51.000-03"
        }
    ],
    "_links": {
        "self": {
            "href": "https://sandbox.moip.com.br/v2/multipayments/MPY-6G3X3PVCVM33"
        },
        "multiorder": {
            "href": "https://sandbox.moip.com.br/v2/multiorders/MOR-5MV8LQXJFPJP"
        },
        "checkout": {
            "payOnlineBankDebitItau": {
                "redirectHref": "https://checkout-sandbox.moip.com.br/debit/itau/MPY-6G3X3PVCVM33"
            }
        }
    }
}
Suggest Edits

OAuth (Moip Connect)

 

Para todas as requisições que envolvam mais de uma Conta Moip diretamente, será necessária autenticação por meio de um token OAuth. Usando o padrão OAuth 2.0 é possível se autenticar nas APIs do Moip e solicitar o uso das APIs em nome de outro usuário. Desta forma, outro usuário Moip pode lhe conceder as mais diversas permissões, desde receber pagamentos como recebedor secundário até mesmo ações especiais como reembolso de um pagamento.

O OAuth do Moip foi desenvolvido seguindo as especificações do OAuth 2.0 Authorization Framework.

  • Registrando seu aplicativo
  • Solicitando permissões dos usuários para seu aplicativo
  • Gerar token de acesso

Importante: As URLs para obtenção dos tokens OAuth são diferentes das URLs padrão de Produção e Sandbox.

  • Produção: https://connect.moip.com.br
  • Sandbox: https://connect-sandbox.moip.com.br

Registrando seu aplicativo

Para gerenciar os pagamentos em nome de seus usuários vendedores é necessário que você crie um Aplicativo no Moip. Para isso, utiliza a API de criação de Apps.

Você irá receber as seguintes informações:

  • ID do aplicativo id
  • Chave privada do aplicativo secret
  • Token de autenticação do aplicativo accessToken
  • Data de criação createAt
  • Data de atualização updatedAt

Com elas você irá montar o link para solicitar permissão e para a gerar o token OAuth (accessToken) da conta Moip do seu usuário.

Suggest Edits

Criar um App

Para gerenciar os pagamentos em nome de seus usuários vendedores é necessário que você crie um Aplicativo no Moip.

 

Basic Auth

 Authentication is required for this endpoint.
posthttps://sandbox.moip.com.br/v2/channels

Body Params

name
string
required

O nome do seu App aparecerá na tela que solicitação permissões para as contas. Por exemplo: "App Name gostaria de...".

description
string
required

Descrição da sua plataforma

site
string
required

Seu site.

redirectUri
string
required

Essa será a URL que o Moip irá redirecionar o usuário de volta para sua aplicação quando ele confirmar a autorização para seu App, também deverá ser responsável por receber o code de autorização para pegar o accessToken da conta conectada.

Criar App em Sandbox

Você pode criar seu app em Sandbox aqui mesmo na documentação. Basta preencher com os dados do seu App e quando clicar em Testar API inserir seu Token e Chave (encontrados na sua conta Moip de Sandbox).

curl --request POST \
  --url https://sandbox.moip.com.br/v2/channels
var request = require("request");

var options = { method: 'POST',
  url: 'https://sandbox.moip.com.br/v2/channels' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://sandbox.moip.com.br/v2/channels")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)

response = http.request(request)
puts response.read_body
var data = JSON.stringify(false);

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open("POST", "https://sandbox.moip.com.br/v2/channels");

xhr.send(data);
import requests

url = "https://sandbox.moip.com.br/v2/channels"

response = requests.request("POST", url)

print(response.text)
A binary file was returned

You couldn't be authenticated

Try the API to see results
Suggest Edits

Solicitando Permissões de Acesso ao Usuário

 
gethttps://connect-sandbox.moip.com.br/oauth/authorize

Para solicitar as permissões você deverá montar a URL com os parâmetros descritos abaixo e redirecionar o usuário para esta URL.

Após o usuário conceder a permissão, você receberá um novo code para utilizar em uma nova requisição server-side para de fato receber o token de acesso que lhe dará os acessos concedidos.

Atributos:

Nome Descrição Detalhes
response_type Define o tipo de resposta a ser obtido. Valores possíveis: CODE string(4), obrigatório
client_id Identificador único do aplicativo que será realizada a solicitação. string(16) obrigatório
redirect_uri URI de redirecionamento do cliente string(255) obrigatório
scope Permissões que deseja (Valores possíveis de acordo com o recurso.) string(255) obrigatório

Scopes disponíveis:

Nome Descrição
RECEIVE_FUNDS Permissão para criação e consulta de PEDIDOS, PAGAMENTOS, MULTIPEDIDOS, MULTIPAGAMENTOS, CLIENTES e consulta de LANÇAMENTOS.
REFUND Permissão para criação e consultas de reembolsos de PEDIDOS, PAGAMENTOS.
MANAGE_ACCOUNT_INFO Permissão para consulta de informações cadastrais de ACCOUNTS.
RETRIEVE_FINANCIAL_INFO Permissão para consulta de saldo de através do endpoint ACCOUNTS.
TRANSFER_FUNDS Permissão para transferências bancárias ou para contas Moip através do endpoint TRANSFERS.
DEFINE_PREFERENCES Permissão para criação, alteração e exclusão de preferências de notificação através do endpoint PREFERENCES

Exemplo

https://connect-sandbox.moip.com.br/oauth/authorize?response_type=code&client_id=APP-M11STAPPOAUt&redirect_uri=https://url.com.br/callback.php&scope=RECEIVE_FUNDS, REFUND,MANAGE_ACCOUNT_INFO

LEMBRETE

Você pode enviar parâmetros adicionais para identificação do seu usuário usando query-params, porém é necessário que você faça o encode da url para que os parâmetros enviados não entrem em conflito com os parâmetros obrigatórios.

Exemplo

https://connect-sandbox.moip.com.br/oauth/authorize?response_type=code&client_id=APP-M11STAPPOAUt&redirect_uri=https%3A%2F%2Flabs.moip.com.br%3Fmy_seller_id%sell321&scope=RECEIVE_FUNDS

Assim que o cliente for redirecionado, o Moip checará se ele está logado. Se estiver, serão exibidas as opções de aceitar ou recusar o vínculo com informações de seu aplicativo.

Caso a permissão seja concedida, o usuário será redirecionado para a sua URL de redirecionamento com o code referente a confirmação do aceite do usuário.

EXEMPLO
http://meusite.com.br/?code=ohgrvfk2kdq92w27w66mlntasfh24je

Caso ele não esteja logado, ele será redirecionado para página de login, e após o login ele volta para o fluxo descrito acima.

curl --request GET \
  --url https://connect-sandbox.moip.com.br/oauth/authorize
var request = require("request");

var options = { method: 'GET',
  url: 'https://connect-sandbox.moip.com.br/oauth/authorize' };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
require 'uri'
require 'net/http'

url = URI("https://connect-sandbox.moip.com.br/oauth/authorize")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::