Subject: API Connector Action Parameters Not Replacing Initialized Values (Mercado Pago PIX Integration)
Hello Bubble Support Team,
I am developing a SaaS platform in Bubble and integrating Mercado Pago PIX payments through the API Connector.
I have encountered a very unusual behavior that I have been unable to resolve after extensive testing.
Environment
-
Bubble API Connector
-
Use as: Action
-
Data type: JSON
-
Mercado Pago Payments API
-
Endpoint:
https://api.mercadopago.com/v1/payments
Main Problem
The API Action always sends the values used during initialization instead of the dynamic values passed from the workflow.
Example
API Body:
{
"transaction_amount": <valor>,
"description": "Teste",
"payment_method_id": "pix",
"payer": {
"email": "<email>"
}
}
Body Parameters:
-
valor
-
email
The API initializes successfully.
Initialization values:
-
valor = 21
-
email = my email address
After initialization, I use a workflow action and pass:
-
valor = 999
-
email = Current User’s email
However, Mercado Pago always receives:
- transaction_amount = 21
instead of:
- transaction_amount = 999
Evidence
Workflow configuration clearly shows:
-
(body) valor = 999
-
(body) email = Current User’s email
The API Action executes successfully and creates the PIX payment.
Mercado Pago response:
{
"transaction_amount": 21
}
The value always matches the initialization value.
Additional Tests Performed
-
Created completely new API calls.
-
Deleted previous API versions.
-
Reinitialized multiple times.
-
Changed X-Idempotency-Key values.
-
Created simplified API versions with only transaction_amount and email.
-
Confirmed the Action is configured as “Use as Action”.
-
Confirmed dynamic parameters appear correctly in the workflow.
-
Confirmed Bubble database fields change correctly.
-
Confirmed Mercado Pago payment IDs are generated correctly.
-
Confirmed the issue occurs even when hardcoding values such as 999 directly in the workflow.
Expected Behavior
When the workflow sends:
- valor = 999
the API should send:
{
"transaction_amount": 999
}
Actual Behavior
The API continues sending:
{
"transaction_amount": 21
}
which was the initialization value.
Question
Is there any known issue, cache behavior, API Connector setting, parameter configuration, or workflow behavior that could cause an API Action to continue using initialization values instead of runtime workflow values?
Any guidance would be greatly appreciated.
Thank you very much for your support.
Best regards,
Edmilson Florencio da Costa
SARAED Empreendimentos Digitais
I am 65 years old and learning Bubble. I have spent many days testing this issue and would greatly appreciate any guidance from experienced Bubble developers or Bubble support.
Thank you very much.
