curl --request POST \
--url https://api.wppfy.com/send/request-payment \
--header 'Content-Type: application/json' \
--header 'token: <api-key>' \
--data '
{
"number": "5511999999999",
"orderMessageId": "3EB0ID_DO_PEDIDO",
"pixKey": "123e4567-e89b-12d3-a456-426614174000",
"text": "Confira os dados para pagamento"
}
'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"messageid": "<string>",
"chatid": "<string>",
"sender": "<string>",
"senderName": "<string>",
"isGroup": false,
"fromMe": false,
"messageType": "<string>",
"source": "<string>",
"messageTimestamp": 0,
"status": "<string>",
"text": "",
"quoted": "",
"edited": "",
"reaction": "",
"vote": "",
"convertOptions": "",
"buttonOrListid": "",
"owner": "",
"error": "",
"content": {},
"wasSentByApi": true,
"pinned": true,
"sendFunction": "<string>",
"sendPayload": {},
"fileURL": "<string>",
"callPeer": {
"jid": "<string>",
"name": "<string>",
"imagePreviewUrl": "<string>"
},
"send_folder_id": "<string>",
"track_source": "<string>",
"track_id": "<string>",
"ai_metadata": {
"agent_id": "<string>",
"turn": "<string>",
"flow_id": "<string>",
"request": {
"messages": "<array>",
"tools": "<array>",
"options": {
"model": "<string>",
"temperature": 123,
"maxTokens": 123,
"topP": 123,
"frequencyPenalty": 123,
"presencePenalty": 123
}
},
"response": {
"choices": "<array>",
"toolResults": "<array>",
"error": "<string>"
},
"outcome": {
"status": "sent",
"texts": 123,
"audio": true,
"menus": 123,
"files": 123,
"handoff": "<string>",
"lead": [
"<string>"
],
"detail": "<string>"
}
},
"sender_pn": "<string>",
"sender_lid": "<string>",
"sender_image_preview_url": "<string>",
"response": {
"status": "success",
"message": "Payment request sent successfully"
}
}{
"error": "Missing pixKey or pixCode"
}{
"error": "Invalid token"
}{
"error": "Failed to send payment request"
}Solicitar pagamento
Envia uma solicitação de pagamento com o botão nativo “Revisar e pagar” do WhatsApp. O fluxo suporta PIX (estático, dinâmico ou desabilitado), boleto, link de pagamento e cartão, combinando tudo em uma única mensagem interativa.
Como funciona
- Define o valor em
amount(BRL por padrão) e opcionalmente personaliza título, texto e nota adicional. - Por padrão exige
pixKey. - O arquivo apontado por
fileUrlé anexado como documento (boleto ou fatura em PDF, por exemplo). paymentLinkhabilita o botão externo.- Para cobrar um pedido recebido pelo WhatsApp, informe
orderMessageIdcom o ID da mensagemOrderMessagedesse mesmo contato. A API obtém itens, moeda e total do pedido;amountnão é necessário nesse caso. Ainda é preciso informar um método de pagamento.
Campos comuns
Este endpoint também suporta os campos padrão: delay, readchat, readmessages, replyid,
mentions, track_source, track_id e async.
curl --request POST \
--url https://api.wppfy.com/send/request-payment \
--header 'Content-Type: application/json' \
--header 'token: <api-key>' \
--data '
{
"number": "5511999999999",
"orderMessageId": "3EB0ID_DO_PEDIDO",
"pixKey": "123e4567-e89b-12d3-a456-426614174000",
"text": "Confira os dados para pagamento"
}
'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"messageid": "<string>",
"chatid": "<string>",
"sender": "<string>",
"senderName": "<string>",
"isGroup": false,
"fromMe": false,
"messageType": "<string>",
"source": "<string>",
"messageTimestamp": 0,
"status": "<string>",
"text": "",
"quoted": "",
"edited": "",
"reaction": "",
"vote": "",
"convertOptions": "",
"buttonOrListid": "",
"owner": "",
"error": "",
"content": {},
"wasSentByApi": true,
"pinned": true,
"sendFunction": "<string>",
"sendPayload": {},
"fileURL": "<string>",
"callPeer": {
"jid": "<string>",
"name": "<string>",
"imagePreviewUrl": "<string>"
},
"send_folder_id": "<string>",
"track_source": "<string>",
"track_id": "<string>",
"ai_metadata": {
"agent_id": "<string>",
"turn": "<string>",
"flow_id": "<string>",
"request": {
"messages": "<array>",
"tools": "<array>",
"options": {
"model": "<string>",
"temperature": 123,
"maxTokens": 123,
"topP": 123,
"frequencyPenalty": 123,
"presencePenalty": 123
}
},
"response": {
"choices": "<array>",
"toolResults": "<array>",
"error": "<string>"
},
"outcome": {
"status": "sent",
"texts": 123,
"audio": true,
"menus": 123,
"files": 123,
"handoff": "<string>",
"lead": [
"<string>"
],
"detail": "<string>"
}
},
"sender_pn": "<string>",
"sender_lid": "<string>",
"sender_image_preview_url": "<string>",
"response": {
"status": "success",
"message": "Payment request sent successfully"
}
}{
"error": "Missing pixKey or pixCode"
}{
"error": "Invalid token"
}{
"error": "Failed to send payment request"
}Autorizações
Corpo
- Option 1
- Option 2
ID do chat para o qual a mensagem será enviada. Pode ser um número de telefone em formato internacional, um ID de grupo (@g.us), um ID de usuário (com @s.whatsapp.net ou @lid).
"5511999999999"
Valor da cobrança (em BRL por padrão)
199.9
ID de uma OrderMessage recebida do mesmo contato. Vincula a cobrança ao pedido real.
Título que aparece no cabeçalho do fluxo
"Detalhes do pedido"
Mensagem exibida no corpo do fluxo
"Pedido #123 pronto para pagamento"
Texto do rodapé da mensagem
"Loja Exemplo"
Nome do item principal listado no fluxo
"Assinatura Plano Ouro"
Identificador ou número da fatura
"PED-123"
Chave PIX estático (CPF/CNPJ/telefone/email/EVP)
"123e4567-e89b-12d3-a456-426614174000"
Tipo da chave PIX (CPF, CNPJ, PHONE, EMAIL, EVP). Padrão EVP
"EVP"
Nome do recebedor exibido no fluxo (padrão usa o nome do perfil da instância)
"Loja Exemplo"
URL externa para checkout (somente dominios homologados; veja lista acima)
"https://pagamentos.exemplo.com/checkout/abc"
URL ou caminho (base64) do documento a ser anexado (ex.: boleto PDF)
"https://cdn.exemplo.com/boleto-123.pdf"
Nome do arquivo exibido no WhatsApp ao anexar fileUrl
"boleto-123.pdf"
Linha digitável do boleto (habilita o método boleto automaticamente)
"34191.79001 01043.510047 91020.150008 5 91070026000"
ID da mensagem que será respondida
Números mencionados separados por vírgula
Atraso em milissegundos antes do envio (exibe "digitando..." no WhatsApp)
Marca o chat como lido após enviar a mensagem
Marca mensagens recentes como lidas após o envio
Enfileira o envio para processamento assíncrono
Origem de rastreamento (ex.: chatwoot, crm-interno)
Identificador de rastreamento (aceita valores duplicados)
Resposta
Solicitação de pagamento enviada com sucesso
Representa uma mensagem trocada no sistema
ID único interno da mensagem (formato r + 7 caracteres hex aleatórios)
ID original da mensagem no provedor
ID da conversa relacionada
ID do remetente da mensagem
Nome exibido do remetente
Indica se é uma mensagem de grupo
Indica se a mensagem foi enviada pelo usuário
Tipo de conteúdo da mensagem
Plataforma de origem da mensagem
Timestamp original da mensagem em milissegundos
Status do ciclo de vida da mensagem.
Exemplos comuns: Queued, Canceled, Failed, Sent, Delivered, Read.
Em mensagem de grupo, segue o participante mais adiantado: Delivered quando pelo menos um recebeu, Read quando pelo menos um leu e Played quando pelo menos um ouviu.
Texto original da mensagem
ID da mensagem citada/respondida
Histórico de edições da mensagem
ID da mensagem reagida
Dados de votação de enquete e listas
Conversão de opções da mensagem, lista, enquete e botões
ID do botão ou item de lista selecionado
Dono da mensagem
Mensagem de erro caso o envio tenha falhado
Conteúdo bruto da mensagem (JSON serializado ou texto)
Indica se a mensagem foi enviada via API
Mensagem fixada na conversa (fixar e desafixar chegam também em messages_update, tipos Pinned e Unpinned)
Função usada para enviar a mensagem (quando enviada via API)
Payload usado no envio quando disponível. Dados de mídia em base64 são omitidos.
URL ou referência de arquivo da mensagem
Contato conhecido associado a uma ligação, quando disponível em messageType: call.
Show child attributes
Show child attributes
Pasta associada ao envio (quando aplicável)
Origem de rastreamento
ID de rastreamento (pode repetir)
Registro de uma rodada da IA. O completo (pedido ao modelo, resposta e outcome) fica uma vez, na última mensagem do contato que a rodada respondeu, também quando nada saiu (erro, resposta descartada). Cada mensagem enviada pela IA leva só agent_id e turn (o id dessa mensagem do contato).
Show child attributes
Show child attributes
JID PN resolvido do remetente (quando disponível)
LID original do remetente (quando disponível)
URL temporária de preview do remetente, quando conhecida. A hidratação desta versão preenche mensagens recebidas em grupos; o campo pode ser omitido. Não provoca consulta de foto ao WhatsApp na listagem.
Show child attributes
Show child attributes
