Send Messages
Request Payment
Sends a payment request with the native WhatsApp "Review and pay" button. You must provide at least one payment method: `pixKey`, `boletoCode`, `paymentLink` or `allowCards: true`. Otherwise, the API returns an error.
POST
https://api.zapzapapi.com/api/v1/{instanceId}/send/request-paymentAuthentication with the x-api-key and x-api-secret headers.
Parameters
| Name | Type | In | Required | Description |
|---|---|---|---|---|
number | text | body | Yes | Number (with country code) |
amount | number | body | Yes | Amount (BRL) |
pixKey | text | body | No | PIX key (CPF/CNPJ/phone/email/EVP) |
pixType | select | body | No | PIX key type |
itemName | text | body | No | Item name |
invoiceNumber | text | body | No | Invoice number |
title | text | body | No | Flow title |
footer | text | body | No | Footer |
pixName | text | body | No | Recipient name (default: profile name) |
text | textarea | body | No | Message text |
paymentLink | text | body | No | External payment link |
fileUrl | text | body | No | Attached file URL |
fileName | text | body | No | Attached file name |
boletoCode | text | body | No | Boleto code |
allowCards | select | body | No | Allow card |
currency | text | body | No | Currency |
note | text | body | No | Note / Remarks |
digitando | select | body | No | Shows an automatic "typing..." indicator, proportional to the message length, before sending. On by default (humanizes and reduces block risk). Send false to turn it off and reply faster. The response remains synchronous. |
Request example
curl
curl -X POST "https://api.zapzapapi.com/api/v1/{instanceId}/send/request-payment" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-api-secret: YOUR_API_SECRET" \
-H "Content-Type: application/json" \
-d '{"number":"5511999999999","amount":49.9}'Node.js
const res = await fetch("https://api.zapzapapi.com/api/v1/{instanceId}/send/request-payment", {
method: "POST",
headers: {
"x-api-key": "YOUR_API_KEY",
"x-api-secret": "YOUR_API_SECRET",
"Content-Type": "application/json",
},
body: JSON.stringify({
"number": "5511999999999",
"amount": 49.9
}),
});
console.log(await res.json());Python
import requests
res = requests.post(
"https://api.zapzapapi.com/api/v1/{instanceId}/send/request-payment",
headers={"x-api-key": "YOUR_API_KEY", "x-api-secret": "YOUR_API_SECRET"},
json={"number":"5511999999999","amount":49.9},
)
print(res.json())Response example
JSON
{
"messageId": "ABCDEF123456",
"status": "sent"
}Values are illustrative; the fields follow the real response format.
Other endpoints in this category
Get your API keys
Create your account, connect a number in minutes and start using the API. R$15 per active number/month, with a welcome credit when you create the account, subject to the current campaign.
