Documentação de API

Bem vindo a nossa documentação de API!

Nossa API segue os padrões REST. Sendo assim, todas as respostas serão enviadas no formato JSON.

Para autenticar com nossa API, você deve passar sua chave secreta seguindo o padrão Basic Access Authentication.

Você pode encontrar suas chaves acessando o menu Configurações -> Credenciais de API.

Após encontrar suas chaves, você deve passar a chave secreta nos headers da requisição no campo authorization, seguindo o padrão abaixo:

    
const options = {
    method: "POST",
    url: "https://api.villetpay.com/v1/transactions",
    headers: {
        authorization: 'Basic ' + new Buffer("{SECRET_KEY}:x").toString('base64')
    }
}
    
  

Tokenizando cartão

Ao criar transações com cartão de crédito, é necessário passar o token do cartão na requisição. Para gerar o token é muito simples, você só precisará importar nossa biblioteca javascript de tokenização em seu front-end. Insira o código a seguir no cabeçalho da sua página HTML:

    
<script src="https://api.villetpay.com/v1/js"></script>
    
  

Após o usuário preencher os dados do cartão e clicar em finalizar compra, você precisará gerar o hash do cartão usando o script a seguir:

    
VilletPay.setPublicKey("chave_publica_da_company")
VilletPay.setTestMode(true)

var token = await VilletPay.encrypt({
  number: "4111111111111111",
  holderName: "Bruce Wayne",
  expMonth: 1,
  expYear: 2025,
  cvv: "123"
})
    
  

Pronto! Agora é só enviar o token na requisição para criar uma transação em nossa API.

Formato dos postbacks

Ao criar uma transação, você pode passar uma URL para receber eventos em seu servidor quando uma transação for atualizada, através do campo postbackUrl. O formato do payload que você receberá nessa URL segue o formato abaixo:

 

Transação

    
{
    "id": 686401,
    "type": "transaction",
    "objectId": "282",
    "url": "https://test.com",
    "data": {
        "id": 282,
        "amount": 10000,
        "refundedAmount": 0,
        "companyId": 2,
        "installments": 12,
        "paymentMethod": "credit_card",
        "status": "paid",
        "postbackUrl": null,
        "metadata": null,
        "traceable": false,
        "secureId": "a4594817-be48-4a23-81aa-4bb01f95fe78",
        "secureUrl": "https://link.compra.com.br/pagar/a4594817-be48-4a23-81aa-4bb01f95fe78",
        "createdAt": "2022-07-18T09:54:22.000Z",
        "updatedAt": "2022-07-18T09:54:22.000Z",
        "paidAt": "2022-07-18T09:54:22.000Z",
        "ip": null,
        "externalRef": null,
        "customer": {
            "id": 1,
            "externalRef": null,
            "name": "Gabryel",
            "email": "gabryel@hotmail.com",
            "phone": "11999999999",
            "birthdate": null,
            "createdAt": "2022-05-26T19:17:48.000Z",
            "document": {
                "number": "12345678910",
                "type": "cpf"
            },
            "address": {
                "street": "Rua República Argentina",
                "streetNumber": "4214",
                "complement": null,
                "zipCode": "11065030",
                "neighborhood": "Pompéia",
                "city": "Santos",
                "state": "SP",
                "country": "BR"
            }
        },
        "card": {
            "id": 147,
            "brand": "visa",
            "holderName": "GABRYEL FERREIRA",
            "lastDigits": "1111",
            "expirationMonth": 3,
            "expirationYear": 2028,
            "reusable": true,
            "createdAt": "2022-07-17T18:08:11.000Z"
        },
        "boleto": null,
        "pix": null,
        "shipping": null,
        "refusedReason": null,
        "items": [
            {
                "externalRef": null,
                "title": "b456",
                "unitPrice": 100,
                "quantity": 1,
                "tangible": false
            }
        ],
        "splits": [
            {
                "recipientId": 1,
                "amount": 10000,
                "netAmount": 9400
            }
        ],
        "refunds": [],
        "delivery": null,
        "fee": {
            "fixedAmount": 200,
            "spreadPercentage": 4,
            "estimatedFee": 600,
            "netAmount": 9400
        }
    }
}
    
  

Checkout

    
{
    "id": 686401,
    "type": "checkout",
    "objectId": "3",
    "url": "https://test.com",
    "data": {
        "id": 3,
        "companyId": 2,
        "description": null,
        "amount": 1000,
        "secureId": "019c2702-6fbe-4199-b21c-c9342888d6ec",
        "secureUrl": "https://link.compra.com.br/checkout/019c2702-6fbe-4199-b21c-c9342888d6ec",
        "postbackUrl": "https://test.com",
        "createdAt": "2022-08-02T18:04:04.000Z",
        "settings": {
            "defaultPaymentMethod": "credit_card",
            "requestAddress": false,
            "requestPhone": true,
            "requestDocument": true,
            "traceable": false,
            "card": {
                "enabled": true,
                "freeInstallments": 1,
                "maxInstallments": 12
            },
            "boleto": {
                "enabled": false,
                "expiresInDays": 2
            },
            "pix": {
                "enabled": true,
                "expiresInDays": 2
            }
        },
        "items": [
            {
                "externalRef": null,
                "title": "Hamburgão",
                "unitPrice": 3000,
                "quantity": 1,
                "tangible": true
            }
        ],
        "splits": [],
        "transaction": {
            "id": 282,
            "amount": 10000,
            "refundedAmount": 0,
            "companyId": 2,
            "installments": 12,
            "paymentMethod": "credit_card",
            "status": "paid",
            "postbackUrl": null,
            "metadata": null,
            "traceable": false,
            "secureId": "a4594817-be48-4a23-81aa-4bb01f95fe78",
            "secureUrl": "https://link.compra.com.br/pagar/a4594817-be48-4a23-81aa-4bb01f95fe78",
            "createdAt": "2022-07-18T09:54:22.000Z",
            "updatedAt": "2022-07-18T09:54:22.000Z",
            "paidAt": "2022-07-18T09:54:22.000Z",
            "ip": null,
            "externalRef": null,
            "customer": {
                "id": 1,
                "externalRef": null,
                "name": "Gabryel",
                "email": "gabryel@hotmail.com",
                "phone": "11999999999",
                "birthdate": null,
                "createdAt": "2022-05-26T19:17:48.000Z",
                "document": {
                    "number": "12345678910",
                    "type": "cpf"
                },
                "address": {
                    "street": "Rua República Argentina",
                    "streetNumber": "4214",
                    "complement": null,
                    "zipCode": "11065030",
                    "neighborhood": "Pompéia",
                    "city": "Santos",
                    "state": "SP",
                    "country": "BR"
                }
            },
            "card": {
                "id": 147,
                "brand": "visa",
                "holderName": "GABRYEL FERREIRA",
                "lastDigits": "1111",
                "expirationMonth": 3,
                "expirationYear": 2028,
                "reusable": true,
                "createdAt": "2022-07-17T18:08:11.000Z"
            },
            "boleto": null,
            "pix": null,
            "shipping": null,
            "refusedReason": null,
            "items": [
                {
                    "externalRef": null,
                    "title": "b456",
                    "unitPrice": 100,
                    "quantity": 1,
                    "tangible": false
                }
            ],
            "splits": [
                {
                    "recipientId": 1,
                    "amount": 10000,
                    "netAmount": 9400
                }
            ],
            "refunds": [],
            "delivery": null,
            "fee": {
                "fixedAmount": 200,
                "spreadPercentage": 4,
                "estimatedFee": 600,
                "netAmount": 9400
            }
        }
    }
}
    
  

Transferência

    
{
    "id": 388,
    "type": "transfer",
    "objectId": "237",
    "url": "https://test.com",
    "data": {
        "id": 237,
        "amount": 500,
        "status": "bank_processing",
        "pixKey": "12345678900",
        "fee": 0,
        "bankAccount": null,
        "metadata": null,
        "createdAt": "2022-10-18T16:43:42.000Z",
        "updatedAt": "2022-10-18T16:43:44.000Z",
        "failReason": null,
        "receiptUrl": null,
        "description": "Transferência Teste",
        "externalRef": null,
        "postbackUrl": "https://test.com",
        "processedAt": "2022-10-18T16:43:44.000Z",
        "recipientId": 1,
        "pixEnd2EndId": "E277287121G6I8886MF02JNCUGGLELRP",
        "transferredAt": null
    }
}
    
  

Empresa

Sobre nós
Canal de Ética

Desenvolvedor

Jurídico

Política de Privacidade
Manual de KYC
Política de PLD/FT

NOSSAS redes sociais

A VilletPag é uma plataforma completa que oferece serviços financeiros para processamento de pagamentos.

VilletPag Soluções de Pagamentos S/A. CNPJ: 53.183.086/0001-00. Endereço Av Paulista – Cidade – São
Paulo/SP – 01.311-927 Bela Vista