NicoChatNicoChatDocsSearch the docs…
Sign in

AbacatePay (Beta)

Charge by Pix inside the conversation: the flow generates the code, confirms the payment and releases the delivery.

2026-09-08

With the AbacatePay app you charge inside the conversation: the flow generates the Pix, sends the copy-and-paste code and the QR Code, confirms the payment and releases the delivery — all without taking the contact out of WhatsApp.

Integration in beta
This integration is still in testing and may fail. If something does not work as described here, let NicoChat support know: we are following this integration closely precisely so we can fix things fast and serve you better.
Before you open the editor
Setup time: ~10 minutes. You will need an AbacatePay account and an API key.

Before you start

AbacatePay works with two types of key, and the key is what defines the environment:

Key
What happens
dev_...
Test mode. Charges are simulated, nothing is debited. Use it to build the flow.
prod_...
Live mode. It charges for real and requires the account approved in KYC.

There is no “test in production” key: to switch the key, just reinstall the app with the other key or edit the credential.

Step 1 — Get the API key

1
Log in to your account
Go to abacatepay.com and log in.
2
Open Integrate
In the side menu, click Integrate.
3
Open API Keys
That is where the credentials for both environments live.
4
Copy the key
It starts with dev_ or prod_.
The key is your account
Keep the key in a safe place. Anyone who has the key can create charges in your account.

Step 2 — Install the app on the channel

1
Open Settings → Apps
In NicoChat. On some plans the menu appears as Mini Apps.
2
Search for AbacatePay and click Install
3
Paste the API key in the requested field and save
4
Choose the channel where the app will be available

Done: the AbacatePay actions now appear in the flow editor, in the Action → Apps block.

Step 3 — Build the Pix charge flow

A minimal sales flow has five blocks:

text
[Pergunta: qual produto?]
        |
        v
[Acao: 01 Criar Cobranca Pix]
        |
        v
[Mensagem: envia o copia e cola + QR Code]
        |
        v
[Espera: 2 minutos]
        |
        v
[Acao: 02 Consultar Cobranca]  ->  status = PAID ?  ->  [Entrega]
                                        | nao
                                        v
                                  [Volta para a espera]

3.1 Create the charge

Add the action block 01 Criar Cobrança Pix and fill in:

Field
What to enter
Amount (R$)
The amount in reais: 99,90. The app converts it to cents on its own.
Description
What the customer will see: “Monthly Plan – Gym X”.
Expires in (minutes)
30 is usually a good number for selling on WhatsApp.
Name / E-mail / CPF-CNPJ / Mobile
Use the contact variables. CPF and mobile with numbers only.
External ID
Your internal reference (order number, contact ID). Optional, but recommended.

In the outputs, save into contact fields:

  • Charge ID — required, it is what lets you check and refund later.
  • Copy and Paste — the Pix code you are going to send.
  • QR Code Base64 — the QR Code image.
  • Status and Expires in — useful for the message.

3.2 Send the Pix to the contact

Use a message block with the text and leave the code in a separate message, so the customer can copy it with one tap:

text
Prontinho! E so pagar o Pix abaixo
(o codigo expira em 30 minutos)

And right below it, another message with only {{Copia e Cola}}.

3.3 Confirm the payment

AbacatePay does not notify NicoChat on its own — the flow is what asks. After a wait block, call 02 Consultar Cobrança passing the Charge ID and check the Status with a condition. If it is not paid yet, go back to the wait. Do this 3 to 5 times and, if it is not paid, close with an abandoned cart message.

Step 4 — Test

1
Install the app with a dev_ key
2
Run the flow with a low amount
R$ 1.00 is enough to see the whole path.
3
Check the result
Whether the copy-and-paste code arrived and whether the check returns the status.
4
Switch to the prod_ key
Once you are happy with the flow.

Other available actions

Action
What for
03 Estornar Cobrança
Returns the amount of a paid charge (always the full amount).
04 Criar Link de Pagamento
Generates a link with Pix and card, with products and a return URL.
05 Criar Cliente
Registers the contact in AbacatePay to reuse in future charges.
06 Criar Produto
Creates the product — required before creating a subscription.
07 Criar Assinatura
Recurring charge: weekly, monthly, quarterly, half-yearly or yearly.
08 Cancelar Assinatura
Ends the recurrence.
Subscriptions follow an order
Create Product (with the cycle) → store the product ID → Create Subscription.

Common problems

The Amount field is in reais. If you typed 9990 expecting R$ 99.90, the app understood R$ 9,990.00. Write 99,90.
The app shows AbacatePay's raw response right below. Their message usually names the missing field — normally an invalid CPF/CNPJ or e-mail.
With a dev_ key the payment is simulated: you need to mark the charge as paid in AbacatePay's development panel for the status to change.
The AbacatePay webhook is configured in their panel and points to a fixed URL — it cannot be set per charge. That is why this app confirms payment by checking, not by trigger.