---
title: Payment transactions
slug: apis/payments/payment-transactions
description: Transactions in cross river, Core.Transaction.Complete webhook event, transactions in instant payments, wires, ACH, international payments
docTags: 
createdAt: 2025-12-02T16:24:38.862Z
---

## What is a transaction

In Cross River COS, a *transaction* is the action of funds being deposited into or withdrawn from a bank account. If funds are transferred between two Cross River accounts, a transaction in COS always involves a debit of one account and a credit of another account, completed as a single simple operation. A completed transaction may be referred to as *posted*, *cleared* or *settled*.

[Learn more about intrabank account transactions.](docId\:eYWPuLa2AkkHtciNvvlGw)&#x20;

## Transaction completed webhook event

Cross River COS ensures you know when the funds are debited or credited using the `Core.Transaction.Completed` webhook. The exact timing of when the webhook event is triggered depends on the payment rail and other factors.

For outbound payments, the `Core.Transaction.Completed` webhook event fires as soon as the transaction posts to the account, and regardless of whether the payment has already arrived successfully at the receiver's account or not.

### Instant payments

As seen in the [Instant Payments outbound flow](docId\:ady9aKdnxL8FHhlRo5o1D), the `Core.Transaction.Completed` webhook event fires at the end of the flow, together with the Instant Payments [Rtp.Payment.Sent](docId\:ffGq2OHYEbWPzn2old6Mc) webhook event. Because Instant Payments happen almost immediately, payment sent and transaction completed happen more or less together when the payment settles.

### International payments

The [Core.Transaction.Completed](docId\:o9fUc2dKPczcl1h4yIChr)  webhook event fires at the end of the flow, together with the International Payments  [International.Payment.Returned](docId\:o9fUc2dKPczcl1h4yIChr) webhook event. The transaction completed and payment returned happen more or less together when the payment settles.

### ACH

In ACH, settlement happens at different times in the [flow](docId\:rqqtpgcfU3hQrGMqMuERM), depending on several factors.

- Direction: is it an inbound or outbound payment?
- Transaction Type: is it a push (credit) or pull (debit)?
- Payment Type: is it an origination, return, or notification of change (NOC)?
- Effective Date: is it dated for today or sometime in the future?
- Contractual Cutoff Time: was the outbound payment request received by CRB before the cutoff time?

:::hint{type="warning"}
**There is a single scenario where an outbound payment will not settle on your account the same day it is originated. This occurs when:**

- The payment `transactionType` is **Pull**, and
- The `serviceType` is **SameDay**, and
- The `effectiveDate` of the payment is equal to the current date, and
- The payment is released to the Fed after 4:45pm
:::

**"Individual" posting type**

When your configuration with Cross River causes COS to treat each ACH transaction you send as an *individual* payment, the response to the payment API includes the `postingType` **Individual**. In this case, settlement always happens after the payment is acknowledged by Fed. The [Core.Transaction.Completed](docId\:AVRvavzdk7hC0UfXn6XZ9) webhook event is triggered when the payment settles in the Cross River account.

**"Aggregate" posting type**

When you send multiple ACH payments, your configuration may cause the system to transact many payments sent from the same originating account payments as a single sum. The response to a payment call includes the `postingType` **Aggregate.**

Payments are aggregated with similar payments. All payments in an aggregate settle together as a single amount. [SameDay](docId:0papBZYBjF0LZPac8-tRW) and [Standard](docId:0papBZYBjF0LZPac8-tRW) payments are aggregated in two separate groups, and pull payments are aggregated separately from push payments.

In general, aggregated *push* payments settle when the payments are batched for sending to the Fed, not after they are sent and acknowledged. The [Core.Transaction.Completed](docId\:AVRvavzdk7hC0UfXn6XZ9) webhook event is triggered at that point in the flow.

Aggregated *pull* payments settle like individual pull payments and the [Core.Transaction.Completed](docId\:AVRvavzdk7hC0UfXn6XZ9) webhook event is triggered when the payment is acknowledged by the Fed or just after.

### Wires

As seen in the [Wires payment flow](docId\:r5Em5zsqCEnn70GiAiwsT), in outbound payments, the `Core.Transaction.Completed` webhook event is triggered when the payment message is ready to be sent to FedWire. At this point, Cross River settles the payment in the originating account.

For inbound payments, the `Core.Transaction.Completed` webhook event is triggered when the payment passes compliance validation. You won't know about inbound payments until they are posted.
