Criação
Se você já é cliente e quer começar a antecipar, é preciso entrar em contato com a nossa equipe pelo e-mail [email protected]
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",
"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',
'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 |
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.
Updated 8 months ago