Ir para o conteúdo

Criar Cobrança Pix

Endpoint

  • URL: https://gateway.prd.pppay.cloud/api/pix/charge
  • Método: POST
  • Autenticação: Bearer Token (Authorization: Bearer SEU_TOKEN_MERCHANT)

Criar uma nova Cobrança Pix

Parâmetros do Corpo da Requisição

Os seguintes campos devem ser incluídos no corpo da requisição (JSON):

Nome do campo Tipo de dado Envio obrigatório Tipo de filtro
amount float Sim Valor decimal do montante sendo cobrado (em R$)
merchant_transaction_id string Sim ID da transação do lado do comerciante
first_name string Sim Primeiro nome da pessoa que está sendo cobrada
last_name string Sim Sobrenome da pessoa que está sendo cobrada
email string Sim Endereço de e-mail da pessoa que está sendo cobrada
document_number string Sim Número do documento da pessoa que está sendo cobrada. Geralmente, CPF para pessoas físicas e CNPJ para empresas.
message string Sim Mensagem Pix
bank_accounts_allowed array Não Contas bancárias autorizadas a realizar o pagamento.
bank_accounts_allowed[].ispb string Não Este campo especifica o ISPB do banco associado à conta permitida para a transação.
bank_accounts_allowed[].account_number string Não Representa o número da conta associado à conta bancária permitida para a
bank_accounts_allowed[].branch string Não Representa o número da agência associado à conta bancária permitida para a transação.
tag string Não Tag para categorização de transações, de uso livre do merchant.

Exemplo de Corpo da Requisição

{
    "amount": 250,
    "merchant_transaction_id": "ID_TRANSACAO_COMERCIANTE",
    "first_name": "Lorem",
    "last_name": "Ipsum",
    "email": "[email protected]",
    "document_number": "12345678909",
    "pix_message": "Lorem ipsum dolor sit amet.",
    "bank_accounts_allowed": [
        {
            "ispb": "12345678",
            "account_number": "123456",
            "branch": "123"
        },
        {
            "ispb": "12345678",
            "account_number": "123456",
            "branch": "123"
        }
    ],
    "tag": "example"
}

Autorização

Para acessar este endpoint, é necessário incluir o token do comerciante no cabeçalho da requisição como um token Bearer.

Exemplos

Pix

curl --request POST \
    --url "https://gateway.prd.pppay.cloud/api/pix/charge" \
    --header 'Authorization: Bearer SEU_TOKEN_MERCHANT' \
    --header 'accept: application/json' \
    --header 'content-type: application/json'`
    --data '{"amount":250,"merchant_transaction_id":"ID_TRANSACAO_COMERCIANTE","first_name":"Lorem","last_name":"Ipsum","email":"[email protected]","document_number":"12345678909","pix_message":"Lorem ipsum dolor sit amet.","bank_accounts_allowed":[{"ispb":"12345678","account_number":"123456","branch":"123"},{"ispb":"12345678","account_number":"123456","branch":"123"}]}'
import request

url = "https://gateway.prd.pppay.cloud/api/pix/charge"

headers = {
    "accept": "application/json",
    "content-type": "application/json",
    "Authorization": "Bearer MY_API_TOKEN"
}

data = {
    "amount": 250,
    "merchant_transaction_id": "ID_TRANSACAO_COMERCIANTE",
    "first_name": "Lorem",
    "last_name": "Ipsum",
    "email": "[email protected]",
    "document_number": "12345678909",
    "pix_message": "Lorem ipsum dolor sit amet.",
    "bank_accounts_allowed": [
        {
            "ispb": "12345678",
            "account_number": "123456",
            "branch": "123"
        },
        {
            "ispb": "12345678",
            "account_number": "123456",
            "branch": "123"
        }
    ]
}

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

print(response.text)

Respostas

200 - Sucesso
{
    "transaction": {
        "id":"string",
        "merchant_id":"string",
        "user_id":"string",
        "processor_id":"string",
        "merchant_transaction_id":"string",
        "transaction_type":"string",
        "first_name":"string",
        "last_name":"string",
        "email":"string",
        "checkout_url":"string",
        "updated_at":"string",
        "created_at":"string",
        "events":"array of objects",
        "events": [
            {
                "id": "string",
                "success": "boolean",
                "status":"String",
                "event_type":"string",
                "amount":"string",
                "processor_transaction_id":"string",
                "qrcode":"string",
                "qrcode_image":"string",
                "updated_at":"string",
                "created_at":"string"
            }
        ],
        "bank_accounts_allowed": [
            {
                "ispb": "12345678",
                "account_number": "123456",
                "branch": "123"
            },
            {
                "ispb": "12345678",
                "account_number": "123456",
                "branch": "123"
            }
        ]
    }
}
401 - Não autenticado
{
"error": {
    "message": {
    "base": ["Not authenticated"]
    },
    "status": 401
},
"debug": []
}
422 - Não processável
{
"error": {
    "message": {
    "base": ["Unprocessable"]
    },
    "status": 422
},
"debug": []
}