DOCUMENTAÇÃO API

Introdução

Bem-vindo à API da 2ByPay, sua solução completa para integração de pagamentos PIX. Nossa API foi projetada para ser intuitiva, robusta e segura, permitindo que você integre facilmente funcionalidades de pagamento em suas aplicações.

Segurança

Segurança Avançada

Proteção de dados e criptografia em todas as transações

Performance

Alta Performance

Resposta rápida e processamento eficiente

Integração

Fácil Integração

Documentação clara e exemplos práticos

POST

Criar Transação PIX

https://api.2bypay.com/v1/gateway/

Parâmetros da Requisição

Parâmetro Tipo Descrição
amount Obrigatório Integer Valor em reais
name Obrigatório String Nome do cliente
document Obrigatório String CPF / CNPJ do cliente (apenas números)
email Obrigatório String Email do cliente
callbackUrl Obrigatório String Endpoint para receber o status do pagamento
api-key Obrigatório String Token único de transação.
split Opcional Object Caso haja necessidade faz a divisão de recebimento, enviando a porcentagem para o usuario informado
cURL

curl -X POST https://api.2bypay.com/v1/gateway/ \
-H "Content-Type: application/json" \
-d '{
    "amount": 500,
    "client": {
        "name": "Fulano de Tal",
        "document": "123456789",
        "telefone": "11999999999",
        "email": "fulanodetal@email.com"
    },
    "split": {
        "email": "fulano", //Utilize Seu Nome De Usuario!        
        "percentage": 50
        
    },
    "callbackUrl": "https://exemplo/2bypay/callback", //Utilize para enviar seu webhook
    "api-key": "fdas4f65sd-4f56ads4f-f465asd4f"
}'
PHP

$data = [
    "amount"=> 500,
    "client"=> [
        "name"=> "Fulano de Tal",
        "document"=> "123456789",
        "telefone"=> "11999999999",
        "email"=> "fulanodetal@email.com"
    ],
    "split"=> [
        "email"=> "fulano", //Utilize Seu Nome De Usuario!        
        "percentage"=> 50
        
    ],
    "callbackUrl"=> "https://exemplo/2bypay/callback", //Utilize para enviar seu webhook
    "api-key"=> "fdas4f65sd-4f56ads4f-f465asd4f"
];

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.2bypay.com/v1/gateway/");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
$result = json_decode($response, true);
Python

import requests
import json

url = "https://api.2bypay.com/v1/gateway/"
headers = {
    'Content-Type': 'application/json'
}
data = {
    "amount": 500,
    "client": {
        "name": "Fulano de Tal",
        "document": "123456789",
        "telefone": "11999999999",
        "email": "fulanodetal@email.com"
    },
    "split": {
        "email": "fulano", //Utilize Seu Nome De Usuario!        
        "percentage": 50
        
    },
    "callbackUrl": "https://exemplo/2bypay/callback", //Utilize para enviar seu webhook
    "api-key": "fdas4f65sd-4f56ads4f-f465asd4f"
}

response = requests.post(url, headers=headers, json=data)
result = response.json()
JavaScript

const data = {
    "amount": 500,
    "client": {
        "name": "Fulano de Tal",
        "document": "123456789",
        "telefone": "11999999999",
        "email": "fulanodetal@email.com"
    },
    "split": {
        "email": "fulano", //Utilize Seu Nome De Usuario!        
        "percentage": 50
        
    },
    "callbackUrl": "https://exemplo/2bypay/callback", //Utilize para enviar seu webhook
    "api-key": "fdas4f65sd-4f56ads4f-f465asd4f"
};

fetch('https://api.2bypay.com/v1/gateway/', {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)
})
.then(response => response.json())
.then(result => console.log(result));

Exemplo de Resposta

JSON

{
    "status": "success",
    "message": "ok",
    "paymentCode": "00020101021226790014br.gov.bcb.pix255/v2/be1920df6b714e4e84edd77d7f25204000039865802BR592**63042CA1",
    "idTransaction": "52fc5262-4063-4900-933b-55e69850",
    "paymentCodeBase64": "iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6AQAAAACgl2eQAAACwElEQVR4Xu2XS5IjIQwF4SJw/1vMUeAiMJmi2y57IjpmMaXZGH+qDLl4IelJ5bJ/Xr/K+87b+gBnfYCzPsBZfweMUuoqpfTVGl91r9Knm4nA5D36Xn3uUQdY5epmJhA/Fyedr9IHMuvZTAXmnopDHRurtP4fgNVMUCuuvglbNsAbFlZQERo8cI22piU9dFaE8oCVMd2xTXdUiFNGHmlArQtNdWvWt1+gT6LNgHAL7SwOkImuRr8JHo9E/CwlGifvJp6Q2omQPNgktTTRzuVg8YwcSJwzGoHp04QSdUM4YfIFCDMs8ItJgt1DNpcQNsSoeKhTUTR12QlADHPqFalEaViM1FwzwV4tunhWW3DiLONXYxzP3BqxEihi/Ph3TVZCcBSm56xmYO0GsnSwGmAvZuzPkkaVYs8fPyWrNuBKFfaCG3MUzV688zm/YBPeYoM04waWp0umYBmDVHW67R+SuQrE0AXEeo2T2Ryt2K6PJOVACixEq0RMi3iYRvZD5EJgF3UyVQxcGSCWynmEo1seZtpm1dzJsAGJe9eJsgrmSvjhd33w5MI2UjnR51h+s+P/MATYN3BVX8Z7IygBpRIkfNcTo0Lum6uvt2wKaBJiITIns0ESOWClisyDqPOGBEimR5lAWMavOSIlYGLc5fknU7gGHCq9HMCNlQYDgoD1ihyOE+zVgkr3roSi5Pm8ybxSgRc9q+4MFOV/DLcE4BxikTbVP+H2sot2UeyEoBTG+wstVHA54ZPIhDaCt4hV8dBoTsbmOEZg7X0TPw329nAiL7lvUYySnJ5wHamEqvwSsgdPvBIZAGRGTSW+vVvmHg1e0ki8NP6AGd9gLM+wFn/APgNfNIphReCMrQAAAAASUVORK5CYII="
}

Webhook

https://exemplo/2bypay/callback
Sua aplicação deverá retornar a Resposta: 200. Caso não houver resposta o webhook será re-enviado 5 vezes com intervalo de 15 segundos!. O webhook irá retornar idTransiction e status. Exemplo:

Exemplo de Resposta

JSON

{
    "status": "paid",
    "idTransaction": "52fc5262-4063-4900-933b-55e69850",
}
POST

Consultar Transação

https://api.2bypay.com/v1/webhook/

Parâmetros da Requisição

Parâmetro Tipo Descrição
idTransaction Obrigatório String Id da transação
api-key Obrigatório String Token de autorização
cURL

        curl -X POST https://api.2bypay.com/v1/webhook/ \
        -H "Content-Type: application/json" \
        -d '{
            "idTransaction": '4f6sdf4648-654fs4d8f9-f564sdfs-54sd
            "api-key": "fdas4f65sd-4f56ads4f-f465asd4f"
        }'
PHP

        $data =[
            "idTransaction" => '4f6sdf4648-654fs4d8f9-f564sdfs-54sd
            "api-key" => "fdas4f65sd-4f56ads4f-f465asd4f"
        ];
        
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, "https://api.2bypay.com/v1/webhook/");
        curl_setopt($ch, CURLOPT_HTTPHEADER, [
            'Content-Type: application/json'
        ]);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        
        $response = curl_exec($ch);
        $result = json_decode($response, true);
Python

        import requests
        import json
        
        url = "https://api.2bypay.com/v1/webhook/"
        headers = {
            'Content-Type': 'application/json'
        }
        data = {
            "idTransaction": '4f6sdf4648-654fs4d8f9-f564sdfs-54sd
            "api-key": "fdas4f65sd-4f56ads4f-f465asd4f"
        }
        
        response = requests.post(url, headers=headers, json=data)
        result = response.json()
JavaScript

        const data = {
            "idTransaction": '4f6sdf4648-654fs4d8f9-f564sdfs-54sd
            "api-key": "fdas4f65sd-4f56ads4f-f465asd4f"
        };
        
        fetch('https://api.2bypay.com/v1/webhook/', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json'
            },
            body: JSON.stringify(data)
        })
        .then(response => response.json())
        .then(result => console.log(result));

Exemplo de Resposta

JSON

{
    "status": "WAITING_FOR_APPROVAL" 
    // ou
    "status": "PAID_OUT"
}
        
POST

Realizar um pagamento

https://api.2bypay.com/c1/cashout/

Parâmetros da Requisição

Parâmetro Tipo Descrição
name Obrigatório String Nome do recebedor
cpf Obrigatório String CPF do recebedor
keypix Obrigatório String Chave PIX do recebedor
amount Obrigatório Float | Decimal | Int Valor a ser pago
api-key Obrigatório String Token de autorização
cURL

curl -X POST https://api.2bypay.com/c1/cashout/ \
-H "Content-Type: application/json" \
-d '{
    "api-key": "81bb141a-1746-49a8-basdasdas4a-c3b8dasdasdasaa0d2259" ,
    "name": "fulano de tal",
    "cpf": "123456789012" ,
    "keypix": "123456789012",
    "amount": 350.00
}'
PHP

        $data [
            "api-key" => "81bb141a-1746-49a8-basdasdas4a-c3b8dasdasdasaa0d2259" ,
            "name" => "fulano de tal",
            "cpf" => "123456789012" ,
            "keypix" => "123456789012",
            "amount" => 350.00
        ];
        
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, "https://api.2bypay.com/c1/cashout/");
        curl_setopt($ch, CURLOPT_HTTPHEADER, [
            'Content-Type: application/json'
        ]);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        
        $response = curl_exec($ch);
        $result = json_decode($response, true);
Python

        import requests
        import json
        
        url = "https://api.2bypay.com/c1/cashout/"
        headers = {
            'Content-Type': 'application/json'
        }
        data = {
            "api-key": "81bb141a-1746-49a8-basdasdas4a-c3b8dasdasdasaa0d2259" ,
            "name": "fulano de tal",
            "cpf": "123456789012" ,
            "keypix": "123456789012",
            "amount": 350.00
        }
        
        response = requests.post(url, headers=headers, json=data)
        result = response.json()
JavaScript

        const data = {
            "api-key": "81bb141a-1746-49a8-basdasdas4a-c3b8dasdasdasaa0d2259" ,
            "name": "fulano de tal",
            "cpf": "123456789012" ,
            "keypix": "123456789012",
            "amount": 350.00
        };
        
        fetch('https://api.2bypay.com/c1/cashout/', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json'
            },
            body: JSON.stringify(data)
        })
        .then(response => response.json())
        .then(result => console.log(result));

Exemplo de Resposta

JSON

httpsStatus: 200
        
ERROS

Códigos de Erro

Lista de possíveis códigos de erro retornados pela API.

400

Bad Request

Requisição inválida ou mal formatada

401

Unauthorized

Autenticação falhou ou token inválido

404

Not Found

Recurso não encontrado

500

Server Error

Erro interno do servidor

Exemplo de Resposta de Erro

JSON

{
    "error": "Descrição detalhada do erro"
}