Bem-vindo à documentação pagar.me

Aqui você vai encontrar guias e exemplos para te ajudar
a integrar com a melhor API de Pagamentos do Brasil!

Começar

Você também pode buscar ou navegar pelas categorias

Criação

Se você já é cliente e quer começar a antecipar, é preciso entrar em contato com a nossa equipe pelo e-mail relacionamento@pagar.me para liberar essa opção para a sua company. Além disso, os exemplos dessa página também podem ser usados em ambiente de teste para simular antecipações.

Depois de liberar essa função (ou em ambiente de teste), realizar uma antecipação com o Pagar.me é bem simples, você só precisa passar os seguintes parâmetros:

curl -X POST https://api.pagar.me/1/recipients/re_a123sd18das9d164/bulk_anticipations/ -H 'content-type: application/json' -d '{
    "api_key": "SUA_API_KEY", 
    "build": "false", 
    "payment_date": "1462999741870", 
    "requested_amount": "561599", 
    "timeframe": "start",
    "automatic_transfer":"true"
}'
require 'pagarme' 

PagarMe.api_key = 'SUA_API_KEY'

PagarMe::Recipient.default.bulk_anticipate(
   timeframe:        :start,
   payment_date:     Date.new(2016, 12, 25),
   requested_amount: 10000 # in cents
)
<?php
require("vendor/autoload.php");
$pagarme = new PagarMe\Client('SUA_CHAVE_DE_API');

$anticipation = $pagarme->bulkAnticipations()->create([
  'recipient_id' => 're_cjeptpdyg03u3cb6elj68p5ej',
  'build' => 'true',
  'payment_date' => '1536883200000',
  'requested_amount' => '300000',
  'timeframe' => 'start'
]);
PagarMeService.DefaultApiKey = "SUA_API_KEYzende";
var recipient = PagarMeService.GetDefaultService().Recipients.Find("re_ci7nhf1ay0007n016wd5t22nl");

var bulkAnticipation = new BulkAnticipation() {
  Timeframe = TimeFrame.Start,
  PaymentDate = DateTime.Today.AddDays(3),
  RequestedAmount = 561599
};

recipient.CreateAnticipation(bulkAnticipation);
import pagarme from 'pagarme'

pagarme.client.connect({ api_key: 'SUA_API_KEY' })
  .then(client =>  client.bulkAnticipations.create({
    payment_date: '1462999741870',
    timeframe: 'start',
    requested_amount: '100000',
  }))
import pagarme

pagarme.authentication_key('SUA_API_KEY')

params = {
    'payment_date': '1462999741870',
    'timeframe': 'start',
    'requested_amount': '100000'
}

bulk_anticipation = pagarme.bulk_anticipation.create('RECIPIENT_ID', params)

print(bulk_anticipation)

Sendo:

Propriedade
Descrição

timeframe
Tipo: String

Período de onde os recebíveis irão sair — ou seja, do ínicio ou do fim da sua agenda de recebíveis. Ex: Caso você escolha do começo (start), o custo é menor, mas há maior impacto no seu fluxo de caixa. Valores possíveis: start, end

payment_date
Tipo: String
obrigatório

Data de pagamento da antecipação. Em unixtimestamp e milisegundos.

requested_amount
obrigatório

Valor líquido, em centavos, que você deseja receber na antecipação

build
Tipo: Boolean

Define se a antecipação vai diretamente para aprovação do Pagar.me, ou se deve ser confirmada por você.

automatic_transfer

Define se o valor da antecipação será transferido automaticamente para a conta bancária do recebedor

Atenção

É importante notar que o campo payment_date utiliza unixTimeStamp como valor. Para gerar o unixTimeStamp de uma data, é possível utilizar o console do Google Chrome com o seguinte código em Javascript: new Date("2017-12-25T02:00:00.000Z").getTime() que, neste caso, retorna 1514167200000

Limites

Antes de criar uma antecipação, você pode consultar os seus limites e validar o quanto ainda é possível pedir. Segue exemplo:

curl -X GET https://api.pagar.me/1/recipients/re_a123sd18das9d164/bulk_anticipations/limits -H 'content-type: application/json' -d '{
    "api_key": "SUA_API_KEY", 
    "payment_date": "1462999741870", 
    "timeframe": "start"
}'
require 'pagarme'
PagarMe.api_key = 'SUA_API_KEY'

recipient = PagarMe::Recipient.find("re_cix7pxz6f02ppcv6dn4ckcrcc")
limit_params = {:timeframe => "start", :payment_date => DateTime.now + 10}
limits = recipient.bulk_anticipations_limits limit_params
<?php
require("vendor/autoload.php");
$pagarme = new PagarMe\Client('SUA_CHAVE_DE_API');

$anticipationLimits = $pagarme->bulkAnticipations()->getLimits([
  'recipient_id' => 'ID_DO_RECEBEDOR',
  'payment_date' => '1536883200000',
  'timeframe' => 'start'
]);
PagarMeService.DefaultApiKey = "SUA_API_KEY";

var recipient = PagarMeService.GetDefaultService().Recipients.Find("re_ci7nhf1ay0007n016wd5t22nl");

var MaxLimit = recipient.MaxAnticipationValue(TimeFrame.Start, DateTime.Today.AddDays(3));

var MinLimit = recipient.MinAnticipationValue(TimeFrame.Start, DateTime.Today.AddDays(3));
import pagarme from 'pagarme'

pagarme.client.connect({ api_key: 'SUA_API_KEY' })
  .then(client =>  client.bulkAnticipations.limits({
    payment_date: '1462999741870',
    timeframe: 'start',
  }))
import pagarme

pagarme.authentication_key('SUA_API_KEY')

params = {
    'payment_date': '1462999741870',
    'timeframe': 'start'
}

bulk_anticipation_limits = pagarme.bulk_anticipation.limits(recipient['id'], params)

print(bulk_anticipation_limits)

Depois de fazer isso, o retorno é algo parecido com:

{
  "maximum": {
    "amount": 1923458,
    "anticipation_fee": 36281,
    "fee": 124924
  },
  "minimum": {
    "amount": 9,
    "anticipation_fee": 0,
    "fee": 1
  }
}

Antecipações em modo teste

Para simular antecipações em ambiente de teste basta que o recebedor tenha um volume antecipável.


Próximo

Além de criar antecipações, você pode também consultá-las pela API.

Consulta

Criação


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.