Payment events are triggered during various stages of the payment lifecycle, from group creation to individual payment completion. These events provide real-time updates about payment status and execution details.
Overview
Rise supports the following payment-related webhook events:
payment.group.created
When a payment group is created, this event is triggered. A payment group represents a collection of payments that are processed together as a single batch.
Field reference
The type of object this webhook represents (always “event”)
The Unix timestamp when the event was created
The type of event that occurred
The version of the event schema
A unique identifier for the API request that triggered this event (optional)
Primary identifier for the webhook event and a unique key to ensure it is processed only once
Primary key of the payment group (nanoid)
Identifier of the payment group on the blockchain
ISO-8601 timestamp when the payment group was created
ISO-8601 timestamp when the payment group was last updated
Type of invoice (e.g., “time_entry”, “flat”, “recurring”)
Description of the work or service being paid for
Role or position description for the work
Currency code for the payment (e.g., “USD”, “EUR”)
Array of individual payments within this group
Primary key of the payment (nanoid)
Identifier of the payment on the blockchain
On-chain group ID that this payment belongs to
Reference to the associated invoice nanoid
Transaction nanoid of the blockchain tx that created the payment
Transaction nanoid of the blockchain tx that processed the payment
ISO-8601 timestamp when the payment row was created
ISO-8601 timestamp when the payment row was last updated
Unix timestamp (seconds) when the payment becomes executable
Numeric enum value describing the on-chain payment type
Token information for this payment
ERC-20 token contract address
Token name (e.g., “USD Coin”)
Token symbol (e.g., “USDC”)
Number of decimal places for the token
Array of payment recipients
Primary key of the recipient (nanoid)
Email address of the recipient
The type of entity (user, team, company)
Payment amount in the token smallest units
The payment amount in cents (USD equivalent)
payment.sent
When an individual payment is processed and sent, this event is triggered. This occurs after a payment has been successfully executed on the blockchain.
Field reference
The type of object this webhook represents (always “event”)
The Unix timestamp when the event was created
The type of event that occurred
The version of the event schema
A unique identifier for the API request that triggered this event (optional)
A unique key to ensure the webhook is processed only once
Payment information and details
Primary key of the payment (nanoid)
Identifier of the payment on the blockchain
On-chain group ID that this payment belongs to
Reference to the associated invoice nanoid
Transaction nanoid of the blockchain tx that created the payment
Transaction nanoid of the blockchain tx that processed the payment
ISO-8601 timestamp when the payment row was created
ISO-8601 timestamp when the payment row was last updated
Unix timestamp (seconds) when the payment becomes executable
Numeric enum value describing the on-chain payment type
Token information for this payment
ERC-20 token contract address
Token name (e.g., “USD Coin”)
Token symbol (e.g., “USDC”)
Number of decimal places for the token
Array of payment recipients
Primary key of the recipient (nanoid)
Email address of the recipient
The type of entity (user, team, company)
Payment amount in the token smallest units
Payment amount in cents (USD equivalent)
Type of invoice (e.g., “time_entry”, “flat”, “recurring”)
Description of the work or service being paid for
Role or position description for the work
Currency code for the payment (e.g., “USD”, “EUR”)
Information about the payment group this payment belongs to
Primary key of the payment group (nanoid)
Identifier of the payment group on the blockchain
ISO-8601 timestamp when the payment group was created
ISO-8601 timestamp when the payment group was last updated
payment.group.created (v1)
payment.sent (v1)
{
"object" : "event" ,
"created" : 1751590453 ,
"request_id" : "req-1751590452487" ,
"event_type" : "payment.group.created" ,
"event_version" : "1.0" ,
"idempotency_key" : "85420805-0b5e-4b11-b7f4-c6f05db7120b" ,
"payment_group" : {
"nanoid" : "pg-abc123def456789" ,
"onchain_id" : "12345" ,
"created_at" : "2024-01-15T10:30:00.000Z" ,
"updated_at" : "2024-01-15T10:30:00.000Z" ,
"invoice_type" : "time_entry" ,
"invoice_description" : "Development work for Q1 2024" ,
"role_description" : "Senior Frontend Developer" ,
"currency" : "USD" ,
"payments" : [
{
"nanoid" : "pa-xyz789abc123456" ,
"onchain_id" : "67890" ,
"group_onchain_id" : "12345" ,
"invoice_nanoid" : "iv-def456ghi789012" ,
"creation_transaction" : "tx-abc123def456789" ,
"process_transaction" : null ,
"created_at" : "2024-01-15T10:30:00.000Z" ,
"updated_at" : "2024-01-15T10:30:00.000Z" ,
"pay_at_time" : "1705312200" ,
"pay_type" : "1" ,
"token" : {
"address" : "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174" ,
"name" : "USD Coin" ,
"symbol" : "USDC" ,
"decimals" : 6
},
"recipients" : [
{
"nanoid" : "pa-xyz789abc123456" ,
"email" : "contractor@example.com" ,
"name" : "John Doe" ,
"entity_type" : "user"
}
],
"amount" : "1000000000" ,
"amount_cents" : 100000
}
]
}
}
Implementation Notes
Payment lifecycle : Payment groups are created first (triggering payment.group.created
), then individual payments within the group are processed and sent (triggering payment.sent
for each).
Processing order : Always handle payment.group.created
before individual payment.sent
events, as the group must exist before payments can be processed.
Idempotency : Use the idempotency_key
field to ensure your webhook handlers don’t process the same payment multiple times.