Making a Payment (PayOut)

Webhooks are used to notify your application of changes to the status of Agreements, Payment Requests, Credits, Debits, etc as they are processed through the system.

By subscribing to our webhook events you can monitor the status of each transaction, and then trigger the appropriate next steps. While making Payments and Payment Requests, webhooks allow you to check the status of the transactions.

This article gives an overview of the webhook events you would expect to receive for the following scenarios.

Making a Payment

Overview

When a dispute is raised by the bank, Zepto creates the investigation, notifies your platform, and requests merchant action.

Warning

Make sure you submit evidence before the due date. Missing the deadline may result in the case being closed or rejected.

Success

Once accepted, the action request is completed and the dispute workflow progresses accordingly.

Important

Rejecting an action request without the correct review may cause avoidable operational issues.

Tip

Retrieve the investigation first, then inspect the active action request so you can present the right next step to your merchant.

via NPP

Scenario: Successful

The webhooks that are fired when you make a payment (from your primary account or the float account) are as follows:

  • payment.added
  • debit.scheduled
  • debtor_credit.scheduled
  • debit.maturing
  • debit.matured
  • debit.processing
  • debit.clearing
  • debit.cleared
  • debtor_credit.matured
  • debtor_credit.processing
  • debtor_credit.clearing
  • debtor_credit.cleared - (Funds were credited into the end customer's account)

For a successful NPP transaction, the final event that the system will fire is debtor_credit.cleared. Please note, that the above webhooks will be fired under the category payout


Scenario: Unsuccessful (with no channel switch to DE)

If you chose a standard Float account (with only NPP transactions or only DE), you would expect to receive the following webhooks:

  • payment.added
  • debit.scheduled
  • debtor_credit.scheduled
  • debit.maturing
  • debit.matured
  • debit.processing
  • debit.clearing
  • debit.cleared
  • debtor_credit.matured
  • debtor_credit.processing
  • debtor_credit.clearing
  • debtor_credit.returned - (Funds will be returned back to your account)

Overview

When a dispute is raised by the bank, Zepto creates the investigation, notifies your platform, and requests merchant action.

Warning

Make sure you submit evidence before the due date. Missing the deadline may result in the case being closed or rejected.

Success

Once accepted, the action request is completed and the dispute workflow progresses accordingly.

Important

Rejecting an action request without the correct review may cause avoidable operational issues.

Tip

Retrieve the investigation first, then inspect the active action request so you can present the right next step to your merchant.

  • credit.scheduled
  • credit.matured
  • credit.processing
  • credit.clearing
  • credit.cleared - (Funds have been returned to your account)
{
  "data": [
    {
      "ref": "C.2v404",
      "type": "credit",
      "amount": 103,
      "status": "cleared",
      "bank_ref": "CT.2ofh9",
      "category": "payout_reversal",
      "channels": [
        "float_account"
      ],
      "cleared_at": "2025-12-15T02:58:44Z",
      "created_at": "2025-12-15T02:58:43Z",
      "matures_at": "2025-12-15T02:58:43Z",
      "parent_ref": "PB.vhjt",
      "party_name": "Sujeet & Co.",
      "description": "Payout reversal of D.2mrc5 for Sujeet Shrestha due to Account closed",
      "party_bank_ref": "DT.61uw8",
      "party_nickname": "sujeets_au",
      "bank_account_id": "0197a14d-209f-7540-a059-22202fc8c031",
      "current_channel": "float_account",
      "party_contact_id": null,
      "reversal_details": {
        "source_debit_ref": "D.2mrc5",
        "source_credit_failure": {
          "code": "E103",
          "title": "Account Closed",
          "detail": "The target account is closed."
        },
        "source_credit_failure_reason": "account_closed"
      },
      "status_changed_at": "2025-12-15T02:58:44Z"
    }
  ],
  "event": {
    "at": "2025-12-15T02:58:44Z",
    "who": {
      "account_id": "2bdcc210-072d-4e09-b90e-757be5bd9853",
      "account_type": "Account",
      "bank_account_id": "0197a14d-209f-7540-a059-22202fc8c031",
      "bank_account_type": "BankAccount"
    },
    "type": "credit.cleared"
  }
}

So, in summary the key final state events are:

  • debtor_credit.cleared
  • debtor_credit.returned
  • credit.cleared - (category payout_reversal)

Scenario: Unsuccessful via NPP (but successfully processed via DE after channel switching)

If you chose an NPP hybrid account, failed NPP payments are retried via DE, you would expect to receive the following webhooks:

  • payment.added
  • debit.scheduled
  • debtor_credit.scheduled
  • debit.matured
  • debit.processing
  • debit.clearing
  • debit.cleared
  • debtor_credit.matured
  • debtor_credit.processing
  • debtor_credit.channel_switched - (Funds are being sent via the BECS channel)
  • debtor_credit.processing
  • debtor_credit.clearing
  • debtor_credit.cleared - (Funds have been sent to the end customer's bank and marked as cleared on the Zepto dashboard.)

Overview

When a dispute is raised by the bank, Zepto creates the investigation, notifies your platform, and requests merchant action.

Warning

Make sure you submit evidence before the due date. Missing the deadline may result in the case being closed or rejected.

Success

Once accepted, the action request is completed and the dispute workflow progresses accordingly.

Important

Rejecting an action request without the correct review may cause avoidable operational issues.

Tip

Retrieve the investigation first, then inspect the active action request so you can present the right next step to your merchant.


via Direct Entry (Direct Credit)

Scenario: Successful

The webhooks that are fired when you make a payment (from your primary account or the float account) are as follows:

  • payment.added
  • debit.scheduled
  • debtor_credit.scheduled
  • debit.maturing
  • debit.matured
  • debit.processing
  • debit.clearing
  • debit.cleared
  • debtor_credit.matured
  • debtor_credit.processing
  • debtor_credit.clearing
  • debtor_credit.cleared - (Funds were credited into the end customer's account)

Scenario: Unsuccessful

If you chose a standard Float account, you would expect to receive the following webhooks:

  • payment.added
  • debit.scheduled
  • debtor_credit.scheduled
  • debit.maturing
  • debit.matured
  • debit.processing
  • debit.clearing
  • debit.cleared
  • debtor_credit.matured
  • debtor_credit.processing
  • debtor_credit.clearing
  • debtor_credit.cleared
  • debtor_credit.returned - (Funds will be returned back to your account)

Overview

When a dispute is raised by the bank, Zepto creates the investigation, notifies your platform, and requests merchant action.

Warning

Make sure you submit evidence before the due date. Missing the deadline may result in the case being closed or rejected.

Success

Once accepted, the action request is completed and the dispute workflow progresses accordingly.

Important

Rejecting an action request without the correct review may cause avoidable operational issues.

Tip

Retrieve the investigation first, then inspect the active action request so you can present the right next step to your merchant.

  • credit.scheduled
  • credit.matured
  • credit.processing
  • credit.clearing
  • credit.cleared - (Funds have been returned to your account)

Direct Credit Late Return Scenario


Overview

In some rare cases, a Direct Credit payment may be returned by the receiving financial institution several days after it has been successfully sent.

01

When can this happen?

This may occur when the receiving institution accepted the Direct Credit but later decided to return the funds.

Unexpected/unmatched payment

The receiving institution bank account holder did not expect or cannot match the payment.

Account restrictions

The destination account was placed under restrictions after the payment was received.

Operational or compliance review

The payment may be returned following an operational, regulatory or compliance review.

02

How the return credit is processed

Direct Credit late return lifecycle
1
$

Payment sent

You send a Direct Credit payment funded from your float account.

2

Payment received

The receiving financial institution accepts the outbound Direct Credit.

3

Funds returned

The institution sends a new Direct Credit to the original account.

4

Return credited

Zepto matches the return and credits your designated float account.

$
Default behaviour

Funds will be credited to the original funding float account

Unless the Suspense role has been assigned, Zepto credits the funds to your float account that funded the original Direct Credit.

03

Assigning the Suspense role

Optional

You may assign the Suspense role to one of your float accounts.

Assigning the role does not create a new bank account or change the underlying account type. It defines where Direct Credit Late Returns will be settled.

No Suspense role assigned
Returned Direct Credit
Original funding float
Default destination
Suspense role assigned
Returned Direct Credit
Float with Suspense role
Configured destination

Only one float account can hold the Suspense role at a time.

Assigning the role to a different float account automatically moves it from the previous account.

Outbound Direct Credits continue to use their normal funding float accounts.

04

Eligibility requirements

The Suspense role can only be assigned to a float account.

Float account

The account must be a float account. Regular external bank accounts are not eligible.

Stores funds

Receivable float accounts cannot hold the Suspense role.

05

Assign the role in the Zepto Portal

Only users with the Owner or Admin role can assign the Suspense role to a float account.

1
Open Settings

Sign in to the Zepto Portal and select Settings.

2
Select Bank Accounts

Open the list of configured bank accounts.

3
Open an eligible float account

Select the float account that should receive the late returned Direct Credits.

4
Select Use for Suspense

Open the Actions menu, select Use for Suspense and confirm the change.

Settings Bank Accounts Float account Actions: Use for Suspense

The Use for Suspense action is only displayed for eligible float accounts. A Zepto administrator can also assign or remove the role on your behalf.

06

Webhook notification and reconciliation

Late returned Direct Credits are surfaced as unmatched credits received to your float account.

● Webhook event EVENT
float_accounts.unmatched_credit.received

Consume this webhook to identify and reconcile late returned Direct Credit funds credited to your float account.

✓ Available

Webhook delivery

The return is surfaced through float_accounts.unmatched_credit.received.

× Not available

/transactions endpoint

The direct credit late return is not currently available within the transactions endpoint.

Integration requirement

Integrations that reconcile payments using the /transactions endpoint must also consume the float_accounts.unmatched_credit.received webhook to detect late returned Direct Credits.

07

Example: SuperStream contribution return

A Super fund may return a contribution when it cannot match the received payment to the intended member.

1
Merchant

Contribution submitted

The merchant submits a SuperStream contribution funded through an outbound Direct Credit.

2
Zepto

Direct Credit sent

Zepto sends the contribution to the Super fund or its receiving financial institution.

3
Super fund or OFI

Contribution cannot be matched

The receiving organisation is unable to associate the payment with the intended member contribution.

4
A few days later

Funds are returned

The receiving institution initiates a new Direct Credit to the source of the original payment.

5
Zepto

Return matched and credited

Zepto matches the return and credits either the original funding float account or the float account designated as Suspense.

6
Integration

Webhook delivered

Zepto sends the float_accounts.unmatched_credit.received webhook so you can reconcile the returned funds.

At a glance

Direct Credit late return summary

1
Original payment method

The original outbound payment must be a Direct Credit.

2
Return timing

The receiving institution may return funds several days later.

3
Default destination

Funds return to the float account that funded the original payment.

4
Optional routing

Assign the Suspense role to an eligible float account.

5
Notification

Detect the return through the unmatched credit received webhook.

6
Reconciliation

The webhook notification can be used for your reconciliation purposes.


Visual flow



Did this page help you?