Execute Transaction
Execute a transaction with a valid quote and matching source and destination details.
Execute a transaction with a valid quote so you can move funds from the source account to the destination.
When to use this page
Use this page only after you have a valid quoteId and the source and beneficiary account or destination values match the flow you priced.
Prerequisites
- Set your NadaPay API base URL in
$baseUrl. - Export your NadaPay API key as
YOUR_API_KEY. - Generate a unique idempotency key for the request.
- Generate a quote and keep the returned
quoteId.
Before you continue
- confirm the quote is still valid
- confirm the source account has enough balance for the transaction
- confirm the destination values match the quote you generated
- confirm the business reason and description are correct for your internal records
Start with these values for the recommended flow
For the example below, fill in these values first:
quoteIdsource.accountIdsource.amountdestination.beneficiaryAccountIdreason
Step 1 — Execute the transaction
For the example below, fill in these values first:
quoteIdsource.accountIdsource.amountdestination.beneficiaryAccountIdreason
Step 1 — Execute the transaction
curl --request POST \
--url $baseUrl/transactions/execute \
--header 'x-api-key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--header 'x-idempotency-key: YOUR_UNIQUE_UUID' \
--data '{
"quoteId": "string",
"reason": "gift",
"reasonDescription": "string",
"metadata": {},
"source": {
"accountId": "string",
"nadapayCode": "WAL-123",
"amount": 1000000
},
"destination": {
"beneficiaryAccountId": "string",
"accountId": "string",
"nadapayCode": "WAL-456"
}
}'Use the quoteId from the quote step and make sure the source and destination values match the flow you priced.
Step 2 — Review the response
A successful response returns the transaction created from the quote.
What this step returns
- the transaction created from the quote
- the execution result you will monitor through your internal status workflow
Save the transaction identifiers returned by this step and use them for monitoring and reconciliation.
Common reasons this step fails
- the quote is expired or invalid
- the source account does not have enough balance
- the source or beneficiary account or destination values do not match the quote you priced
- the transaction is blocked by corridor or compliance conditions
Response — error:
{
"statusCode": 500,
"message": "Internal server error"
}What success looks like
- the transaction is created successfully from the quote
- you save the returned transaction identifiers
- your internal monitoring flow begins tracking the transaction outcome
Do not continue if
- the quote is expired or invalid
- the source account does not have enough balance
- the beneficiary account or destination values do not match the quote you priced
Call this next
Updated 11 days ago