FUNDING_WEBHOOK event to your registered endpoint when a funding record of type DEPOSIT, WITHDRAW, BUY_CRYPTO, TRANSFER_IN, or TRANSFER_OUT reaches status 2 (completed), 3 (canceled), or 4 (refunded). Each event contains full transaction details and, for deposits, identity and banking information about the payer. The payerName and payerAccount fields were added in the 2025-05-08 release.
This webhook covers only fiat activity on the merchant’s Pending Fund account. Crypto wallet withdrawals are sent through Crypto Withdrawal Event (CRYPTO_WITHDRAW_WEBHOOK) instead.
Request Headers
Payload Fields
string
The ID of the webhook endpoint that delivered this event.
string
Always
FUNDING_WEBHOOK for this event type.string
Unique transaction ID for this funding event.
string
Your client-supplied identifier for this transaction. Omitted if not set.
string
Your VelaFi account (user) ID.
string
ID of the merchant whose Pending Fund account is affected.
string
Display name of the merchant.
string
Fiat currency of the transaction.
string
Total fiat amount of the record. Negative for
WITHDRAW, BUY_CRYPTO, and TRANSFER_OUT.string
Net fiat amount (excluding fees).
string
Fee charged for this transaction.
string
Amount refunded, if applicable.
string
ID of the payment channel.
string
ID of the user’s payment method.
string
Transaction type:
DEPOSIT— funds added to the Pending Fund accountWITHDRAW— a fiat withdrawal from the Pending Fund account (not a crypto wallet withdrawal)BUY_CRYPTO— funds used for a crypto purchaseTRANSFER_IN— internal transfer into the accountTRANSFER_OUT— internal transfer out of the account
string
Transaction status:
2 = completed, 3 = canceled, 4 = refunded. Pending records are not sent.string
Unix timestamp (milliseconds) when the transaction completed. Omitted if not set.
string
Unix timestamp (milliseconds) when a refund was issued. Omitted if the record has not been refunded.
string
Unix timestamp (milliseconds) when the record was created.
string
Unix timestamp (milliseconds) when the record was last updated.
string
ID number of the entity sending funds.
string
Tax identifier of the entity sending funds.
string
Full name of the entity sending funds. Added 2025-05-08.
string
Bank account number of the entity sending funds (e.g., IBAN or CBU). Added 2025-05-08.
string
Alias of the virtual account that received the deposit.
string
Raw JSON string from the underlying banking provider with provider-specific fields. See the Bank Webhook Info section below.
string
Machine-readable failure code. Sent only for canceled (
3) payouts that have a recorded failure code.string
Human-readable failure description. Sent only when
failCode is sent and a description is recorded.string
ID of the related record, when there is one. For
BUY_CRYPTO, this is the ID of the on-ramp order.string
Reference of the underlying bank transfer at the payment provider, when available.
string
Unix timestamp (milliseconds) at which this delivery attempt was signed.
Bank Webhook Info Details
ThebankWebhookInfo field is a JSON string. Its structure varies by payment provider:
MXN (SPEI)
MXN (SPEI)
ARS (CVU/CBU)
ARS (CVU/CBU)
COP (PSE/ACH)
COP (PSE/ACH)
BRL (Pix)
BRL (Pix)
Example Payload
Incoming POST body
Required Response
Return the following JSON body with HTTP status200:
Your response
The
payerName and payerAccount fields were introduced in the 2025-05-08 release. Ensure your handler gracefully handles both their presence and absence for backwards compatibility.