---
title: "CounterpartyIncomingPayment"
method: POST
path: "counterpartyIncomingPayment"
tags: ["Webhook Topics"]
---

# CounterpartyIncomingPayment

`POST counterpartyIncomingPayment` (webhook)

Fired when a payment arrives on a counterparty's bank account and has been recorded on the counterparty's balance. Use this to reconcile funding you receive from a counterparty over bank rails without polling the counterparty balance.

The included payload carries **counterpartyId**, **amount** (in cents), **currency**, **direction** (`credit` for funds received, `debit` for funds withdrawn), **method** (the bank rail, for example `ach` or `wire`), **asOfDate** (the bank settlement date), and **externalIncomingPaymentId** for reconciliation against your bank records.

It also carries **originatorName** and **description** exactly as the originating bank sent them — who paid, and what they called the payment. Both are null when the rail carried neither, and on ACH the description is the company entry description, so expect a reference code as often as prose.

This event is only sent after the payment has been recorded, so the counterparty balance already reflects it when you receive the webhook.

## Payload

- object
  - `id` string, uuid, required: Unique identifier for the object.
  - `type` 'WebhookEvent', required
  - `attributes` object, required
    - `id` string, uuid, required: The webhook event ID
    - `topic` string, required: The webhook topic/event type
    - `clientId` string, uuid, required: The client ID associated with this webhook event
    - `userId` string, uuid: The user ID associated with this webhook event (if applicable)
    - `walletId` string, uuid: The wallet ID associated with this webhook event (if applicable)
    - `updatedAt` string, date-time, required
    - `createdAt` string, date-time, required
  - `relationships` object, required
    - `event` object
      - `data` object, required: The related event resource (PaymentIntent, Payment, Refund, Capture, or ApplicationEvent)
        - `id` string, uuid, required
        - `type` string, required
  - `included` WebhookCounterpartyIncomingPayment[], required
    - `id` string, uuid, required
    - `type` 'CounterpartyIncomingPayment', required
    - `attributes` object, required
      - `counterpartyId` string, uuid, required: The counterparty whose account received the payment
      - `merchantId` string, uuid, required: The merchant that owns the counterparty
      - `amount` integer, required: The payment amount, represented in the smallest currency unit (e.g., cents for USD).
      - `currency` string, required: ISO 4217 currency code of the payment
      - `direction` 'credit' | 'debit', required: Direction of the movement on the counterparty account. - **credit**: funds were received into the counterparty account. - **debit**: funds were withdrawn from the counterparty account.
      - `method` string, required: The bank rail the payment arrived over, for example `ach`, `wire`, or `rtp`. Treat this as an open set — new values may be added without notice.
      - `originatorName` string, nullable, required: Who sent the payment, as the originating bank named them. Null when the rail carried no originator name.
      - `description` string, nullable, required: The description the originating bank stamped on the payment, unmodified — on ACH this is the company entry description, so it is often a reference code rather than prose. Null when the rail carried none.
      - `asOfDate` string, required: The date the payment settled at the bank, as `YYYY-MM-DD`
      - `externalIncomingPaymentId` string, required: Identifier for this incoming payment at the banking provider. Stable for the life of the payment and safe to use for reconciliation against your bank records.
      - `reference` string, nullable
      - `email` string, email, nullable
      - `fullName` string, nullable
      - `phoneNumber` string, nullable
      - `error` string, nullable
      - `walletId` string, uuid, nullable
      - `billingAddress` object, nullable

## Acknowledgement `200`

Return a 200 status to indicate that the data was received successfully

---

[API](https://skmtc.dev/byaccrue/apis/accrue-merchant-api.md) - [All operations](https://skmtc.dev/byaccrue/apis/accrue-merchant-api/llms.txt) - [OpenAPI document](https://skmtc.dev/byaccrue/apis/accrue-merchant-api/revisions/3e2d97ef2e6e?raw)
