Capital icon

Disburse a grant

Learn how to make a request for a grant and disburse the funds to your user's account.

After your user selects a grant offer and signs the Terms of Service, you can make an API request to configure the grant for the user. If the request is successful, then Adyen initiates a transfer to settle the grant funds in your user’s balance account.

Requirements

Before you begin, take into account the following requirements, limitations, and preparations.

Requirement Description
Integration type You must have an Adyen for Platforms integration with the Capital financial product enabled.
API credentials You must have a Balance Platform API key (for example, ws[_123456]@BalancePlatform.[YourBalancePlatform]) to access the Capital API.

Your API credential must have the following roles:
  • Balance Platform Capital Configuration role
  • Balance Platform Capital Grant Initiation role
Capabilities Make sure that your user have the following capabilities:
  • getGrantOffers
  • receiveGrants
Webhooks Subscribe to the following webhooks:
Limitations
  • Your user must operate in one of the supported countries/regions.
  • Currently, only one disbursement per grant is allowed. We are working on enabling multiple disbursements to different balance accounts.
Setup steps Before you begin, make sure:

1. Configure a grant

To configure a grant:

  1. Make a POST /grants request, specifying the following parameters:

    Parameter Required Description
    counterparty.balanceAccountId The identifier of the balance account that belongs to the receiving account holder. Pass this parameter if you choose to pay out to the balance account of the user.
    counterparty.transferInstrumentId The identifier of the transfer instrument that belongs to the legal entity of the account holder. Pass this parameter if you choose to pay out to the transfer instrument of the user.
    grantAccountId -white_check_mark- The identifier of the grant account. Reach out to your Adyen contact to get this value.
    grantOfferId -white_check_mark- The identifier of the grant offer that has been selected by the user.

    If both balanceAccountId and transferInstrumentId are not provided in the request, the grant is paid out to the account holder's primaryBalanceAccount.

    Here's an example of how to request a payout of a grant to the specified balance account.

  2. In the response, note the following parameters:

    Parameter Description
    id The identifier of the grant reference.
    grantAccountId The identifier of the grant account used to account for the grant.
    grantOfferId The identifier of the grant offer that has been selected by the receiving account holder.
    counterparty An object containing the details of the receiving account holder.
    amount An object containing the amount of the grant, in minor units.
    fee An object containing the fee amount.
    repayment An object containing the repayment amount and configuration, in basis points.
    status The status of the grant.

Requests using POST /grants are processed asynchronously. You will receive a response to your API request, but you must wait for the webhook to know the final result of a request.

2. Get updates

Adyen will send the following webhooks to your server to update you about the grant and payout status.

Webhook type Description
balancePlatform.grants.created The grant has been configured.
balancePlatform.grants.updated The grant has been fully repaid, reconfigured, or written off in case the user did not pay back all outstanding funds.
balancePlatform.transfer.created The outgoing or incoming grant transfer request has been received.
balancePlatform.transfer.updated The outgoing or incoming grant transfer request has been authorized and/or booked.
balancePlatform.transaction.created The funds have been paid out to the balance account or the payment instrument.

To keep track of webhooks, make sure that your server can receive and accept webhooks.

Next steps