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

O saque é uma transferência, feita por meio de uma TED, entre a conta bancária do Pagar.me e a conta bancária cadastrada no seu recebedor. Os saques que forem feitos até as 15h do mesmo dia terão o seu valor creditado também no mesmo dia. Existe um custo de R$3,67 caso não seja para uma conta Bradesco.

É possível utilizar dois tipos de saque no Pagar.me, o automático e o manual. Se você quiser saber mais sobre os tipos de saque, acesse: Tipos de saque.

1. Dashboard

A forma mais simples de se fazer um saque é utilizando a nossa Dashboard, conforme mostra a imagem abaixo:

Em sua página de extrato

Em sua página de extrato

2. API

Também é possível realizar o saque diretamente pela nossa API. Para fazer um saque de valores que estejam disponíveis no seu saldo Pagar.me, é preciso especificar para a API alguns parâmetros:

api_key

Sua API Key para autenticação.

recipient_id

Este é o id do recebedor que ficará com a quantia solicitada. Por meio da conta bancária cadastrada. Veja mais em: Recebedores.

amount

Valor que deseja sacar. Lembrando que deve estar em centavos, sendo que R$100,00 equivale a 10000.

Veja o exemplo:

curl -X POST https://api.pagar.me/1/transfers -H 'content-type: application/json' -d '{
    "amount": "10000", 
    "api_key": "SUA API KEY", 
    "recipient_id": "re_ci9bucss300h1zt6dvywufeqc"
}'
require 'pagarme'

PagarMe.api_key = 'SUA API KEY'
PagarMe::Recipient.find(recipient_id).receive amount
PagarMeService.DefaultApiKey = "SUA API KEY";

var transfer = new Transfer()
{
  RecipientId = "re_ci9bucss300h1zt6dvywufeqc",
  Amount = 10000
}
transfer.Save();
import pagarme from 'pagarme'

pagarme.client.connect({ api_key: 'SUA_API_KEY' })
  .then(client => client.transfers.create({
    amount: 10000,
  	bank_account_id: 'bank_account_id',
  	recipient_id: 'recipient_id',
  }))
  .then(transfer => console.log(transfer))
import pagarme

pagarme.authentication_key('SUA_API_KEY')

transfer_params = {
    'amount': '10000',
    'recipient_id': 'RECIPIENT_ID'
}

transfer = pagarme.transfer.create(transfer_params)

print (transfer)
<?php

require("vendor/autoload.php");
$pagarme = new PagarMe\Client('SUA_CHAVE_DE_API');

$transfer = $pagarme->transfers()->create([
  'amount' => 1000,
  'recipient_id' => 're_cjeptpdyg03u3cb6elj68p5ej'
]);

Basta fazer isso para conseguir realizar um saque para a sua conta bancária.

O retorno imediato de um saque junto à API Pagar.me é:

{
  "object": "transfer",
  "id": 31203,
  "amount": 10000,
  "type": "ted",
  "status": "pending_transfer",
  "source_type": "recipient",
  "source_id": "re_cimcpc2qc002za46d9dt4vfok",
  "target_type": "bank_account",
  "target_id": "12298597",
  "fee": 367,
  "funding_date": null,
  "funding_estimated_date": "2017-01-23T02:00:00.000Z",
  "transaction_id": null,
  "date_created": "2017-01-22T15:35:17.375Z",
  "bank_account": {
    "object": "bank_account",
    "id": 12298597,
    "bank_code": "000",
    "agencia": "0000",
    "agencia_dv": null,
    "conta": "00000",
    "conta_dv": "0",
    "type": "conta_corrente",
    "document_type": "cnpj",
    "document_number": "00000000000000",
    "legal_name": "CONTA BANCARIA DE TESTES",
    "charge_transfer_fees": true,
    "date_created": "2016-03-29T00:45:13.023Z"
  }
}

Cancelando um saque

Você pode também cancelar um saque pela API Pagar.me da seguinte maneira:

curl -X POST https://api.pagar.me/1/transfers/31203/cancel -H 'content-type: application/json' -d '{
    "api_key": "SUA API KEY"
}'
import pagarme from 'pagarme'

pagarme.client.connect({ api_key: 'SUA_API_KEY' })
  .then(client => client.transfers.cancel({
    id: 'transfer_id'
  }))
import pagarme

pagarme.authentication_key('SUA_API_KEY')

transfer = pagarme.transfer.cancel("transfer_id")

print (transfer)
<?php
require("vendor/autoload.php");
$pagarme = new PagarMe\Client('SUA_CHAVE_DE_API');

$canceledTransfer = $pagarme->transfers()->cancel([
  'id' => 'ID_DA_TRANSFERÊNCIA'
]);

Cuidado

Só é possível cancelar um saque enquanto o status dele no Pagar.me ainda estiver pending_transfer.

Quando você solicita o cancelamento de um saque, o retorno da API Pagar.me é:

{
  "object": "transfer",
  "id": 31203,
  "amount": 10000,
  "type": "ted",
  "status": "canceled",
  "source_type": "recipient",
  "source_id": "re_cimcpc2qc002za46d9dt4vfok",
  "target_type": "bank_account",
  "target_id": "12298597",
  "fee": 367,
  "funding_date": null,
  "funding_estimated_date": "2017-01-23T02:00:00.000Z",
  "transaction_id": null,
  "date_created": "2017-01-22T15:35:17.375Z",
  "bank_account": {
    "object": "bank_account",
    "id": 12298597,
    "bank_code": "000",
    "agencia": "0000",
    "agencia_dv": null,
    "conta": "00000",
    "conta_dv": "0",
    "type": "conta_corrente",
    "document_type": "cnpj",
    "document_number": "00000000000000",
    "legal_name": "CONTA BANCARIA DE TESTES",
    "charge_transfer_fees": true,
    "date_created": "2016-03-29T00:45:13.023Z"
  }
}

Updated 7 months ago


Próximo

Excelente! Veja agora como fazer uma antecipação.

Overview

Saque


Suggested Edits are limited on API Reference Pages

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