Capital icon

Grant lifecycle-related events

Learn which webhooks are sent for each event.

Adyen sends webhooks for the following grant lifecycle-related events:

  • Grant approved
  • Grant rejected
  • Grant canceled
  • Grant pending
  • Grant failed
  • Grant active
  • Grant repaid
  • Grant revoked
  • Grant written off
  • The next sections show code samples for some of these events.

    Offer created

    When a new offer is created for an account holder, Adyen sends a balancePlatform.balanceAccountHolder.capitalOffer.created webhook to notify your server. The webhook includes information about the offer, such as:

    • accountHolderId: The user for which an offer has been created.
    • id: The unique identifier assigned to the offer.
    • amount.value and amount.currency: The offer amount.
    • expiresAt: The date by which an offer must be accepted; otherwise, the offer will expire.

    Grant requested

    When a user selects an offer using either the capital components or your custom interface built with our APIs, Adyen sends a balancePlatform.grants.created webhook to your server. This webhook includes information about the grant, such as:

    • counterparty.accountHolderId: The user for which a grant has been requested.
    • counterparty.balanceAccountId: The balance account details where the grant amount should be disbursed.
    • id: The unique identifier assigned to the grant.
    • amount.value and amount.currency: The grant amount that has been requested.
    • status.code: Requested

    Grant reviewing

    In specific situations, Adyen may require your users to provide additional information about their businesses, such as when the total user's exposure meets or exceeds the threshold, typically EUR 25,000 or the equivalent amount in another supported currency. You then need to collect additional data from your user and submit it to Adyen.

    Adyen sends a balancePlatform.grants.updated webhook to notify your server about this event, including the following information:

    • counterparty.accountHolderId: The user for which a grant has been requested.
    • counterparty.balanceAccountId: The balance account details where the grant amount should be disbursed.
    • id: The unique identifier assigned to the grant.
    • actions.code: AnaCreditCapabilityRule
    • actions.resolved: false
    • status.code: Reviewing

    Grant approved

    After a thorough secondary review confirms the grant request meets all criteria, Adyen sends a balancePlatform.grants.updated webhook to notify your server of final approval. The webhook includes information about the grant, such as:

    • counterparty.accountHolderId: The user for which a grant has been approved.
    • counterparty.balanceAccountId: The balance account details where the grant amount should be disbursed.
    • id: The unique identifier assigned to the grant.
    • amount.value and amount.currency: The grant amount that has been approved.
    • status.code: Approved

    Grant pending

    After Adyen approves the grant, the user must complete required actions, such as signing the Terms of Service.
    The grant remains pending until:

    • All required actions are completed on the user's side.
    • The grant transaction is booked to the user's balance account.
    • The security cooldown period ends. For example, if a user updates their bank account details (transfer instrument), Adyen waits 72 hours before processing transactions to the new account.

    Adyen notifies you of this stage by sending a balancePlatform.grants.updated webhook, which includes information about the grant, such as:

    • counterparty.accountHolderId: The user for which a grant has been approved.
    • counterparty.balanceAccountId: The balance account details where the grant amount should be disbursed.
    • id: The unique identifier assigned to the grant.
    • status.code: Pending

    After the user completes the required actions, Adyen disburses the grant amount to the specified balance account. At this point, Adyen also sends webhooks about the corresponding fund transfer.

    Grant active

    After the grant is disbursed, Adyen sends a balancePlatform.grants.updated webhook, including the following information about the grant:

    • accountHolderId: The user for which a grant has been provided.
    • balanceAccountId: The balance account details where the grant amount is disbursed.
    • id: The unique identifier assigned to the grant.
    • status.code: Active
    • balances.principal: The amount that has been disbursed to the user.
    • balances.fee: The one-time fee for business financing.
    • balances.total: The total amount that the user must repay. It is the sum of the fee amount and the principal amount.
    • balances.currency: The currency of the grant amount.

    Grant repaid

    After the user has made their last repayment towards the grant and the corresponding transfer has been booked, Adyen sends a balancePlatform.grants.updated webhook which includes the following information:

    • accountHolderId: The user for which a grant has been provided.
    • balanceAccountId: The balance account details where the grant amount is disbursed.
    • id: The unique identifier assigned to the grant.
    • status.code: Repaid
    • balances.principal: 0
    • balances.fee: 0
    • balances.total: 0
    • balances.currency: The currency of the grant amount.

    See also