Events

Our event publishing system allows you to subscribe to certain events on the JustiFi platform. Once subscribed, your application will be notified anytime those events occur, so you can react accordingly in real time. We support two event-delivery mechanisms; you can receive them via webhooks or directly to an AWS Eventbridge event bus. This service is available to you whether you're operating as a Seller yourself, or as a Platform with multiple Sellers. As a Platform, you can subscribe to all of your Sellers' events.

We will publish the following events:

  • payment.created
  • payment.succeeded
  • payment.failed
  • payment.pending
  • payment.authorized
  • payment.captured
  • payment.refunded
  • payment.refund.updated
  • payment.dispute.created
  • payment.dispute.closed
  • payment_method.created
  • payment_method.updated
  • payment_intent.attached
  • payment_intent.created
  • payment_intent.requires_capture
  • payment_intent.succeeded
  • payout.created
  • payout.paid
  • payout.failed
  • seller_account.updated
  • sub_account.updated
  • application_fee_rate.created
  • application_fee_rate.updated

PaymentsWebhook

Received for the following events: payment.created, payment.succeeded, payment.failed, payment.pending, payment.authorized, payment.captured

Request
Request Body schema: application/json
id
string

event unique id

idempotency_key
string or null

idempotency key for request, when available

request_id
string or null

id for request, when available

account_id
string

sub account id for event

account_type
string

live or test account

platform_account_id
string or null

platform account id for event, when available

object or object
version
string

version of the event payload

event_name
string

name of the event (ex: payment.succeed, sub_account.updated)

Responses
200

Return a 200 status to indicate that the data was received successfully. You must respond within 5 seconds.

Request samples
application/json
{
  • "id": "evt_123xyz",
  • "account_id": "acc_123xyz",
  • "account_type": "test",
  • "platform_account_id": "acc_987zyx",
  • "idempotency_key": "string",
  • "request_id": "req_123",
  • "version": "v1",
  • "data": {
    },
  • "event_name": "payment.created"
}

Payment IntentsWebhook

Received for the following events: payment_intent.attached, payment_intent.created, payment_intent.requires_capture, payment_intent.succeeded

Request
Request Body schema: application/json
id
string

event unique id

idempotency_key
string or null

idempotency key for request, when available

request_id
string or null

id for request, when available

account_id
string

sub account id for event

account_type
string

live or test account

platform_account_id
string or null

platform account id for event, when available

object or object
version
string

version of the event payload

event_name
string

name of the event (ex: payment.succeed, sub_account.updated)

Responses
200

Return a 200 status to indicate that the data was received successfully. You must respond within 5 seconds.

Request samples
application/json
{
  • "id": "evt_123xyz",
  • "account_id": "acc_123xyz",
  • "account_type": "test",
  • "platform_account_id": "acc_987zyx",
  • "idempotency_key": "string",
  • "request_id": "req_123",
  • "version": "v1",
  • "data": {
    },
  • "event_name": "payment_intent.succeeded"
}

Payment MethodsWebhook

Received for the following events: payment_method.created, payment_method.updated

Request
Request Body schema: application/json
id
string

event unique id

idempotency_key
string or null

idempotency key for request, when available

request_id
string or null

id for request, when available

account_id
string

sub account id for event

account_type
string

live or test account

platform_account_id
string or null

platform account id for event, when available

object or object
version
string

version of the event payload

event_name
string

name of the event (ex: payment.succeed, sub_account.updated)

Responses
200

Return a 200 status to indicate that the data was received successfully. You must respond within 5 seconds.

Request samples
application/json
{
  • "id": "evt_123xyz",
  • "account_id": "acc_123xyz",
  • "account_type": "test",
  • "platform_account_id": "acc_456abc",
  • "idempotency_key": "30abie390hjag49h",
  • "request_id": "req_100abc",
  • "version": "v1",
  • "data": {
    },
  • "event_name": "payment_method.created"
}

RefundsWebhook

Received for the following events: payment.refunded, payment.refund.updated

Request
Request Body schema: application/json
id
string

event unique id

idempotency_key
string or null

idempotency key for request, when available

request_id
string or null

id for request, when available

account_id
string

sub account id for event

account_type
string

live or test account

platform_account_id
string or null

platform account id for event, when available

object

the attributes for the object

version
string

version of the event payload

event_name
string

name of the event (ex: payment.succeed, sub_account.updated)

Responses
200

Return a 200 status to indicate that the data was received successfully. You must respond within 5 seconds.

Request samples
application/json
{
  • "id": "evt_123xyz",
  • "idempotency_key": "string",
  • "request_id": "string",
  • "account_id": "acc_123xyz",
  • "account_type": "test",
  • "platform_account_id": "acc_123xyz",
  • "data": {
    },
  • "version": "v1",
  • "event_name": "string"
}

DisputesWebhook

Received for the following events: payment.dispute.created, payment.dispute.closed

Request
Request Body schema: application/json
id
string

event unique id

idempotency_key
string or null

idempotency key for request, when available

request_id
string or null

id for request, when available

account_id
string

sub account id for event

account_type
string

live or test account

platform_account_id
string or null

platform account id for event, when available

object

the attributes for the object

version
string

version of the event payload

event_name
string

name of the event (ex: payment.succeed, sub_account.updated)

Responses
200

Return a 200 status to indicate that the data was received successfully. You must respond within 5 seconds.

Request samples
application/json
{
  • "id": "evt_123xyz",
  • "idempotency_key": "string",
  • "request_id": "string",
  • "account_id": "acc_123xyz",
  • "account_type": "test",
  • "platform_account_id": "acc_123xyz",
  • "data": {
    },
  • "version": "v1",
  • "event_name": "string"
}

PayoutsWebhook

Received for the following events: payout.created, payout.paid, payout.failed

Request
Request Body schema: application/json
id
string

event unique id

idempotency_key
string or null

idempotency key for request, when available

request_id
string or null

id for request, when available

account_id
string

sub account id for event

account_type
string

live or test account

platform_account_id
string or null

platform account id for event, when available

object

the attributes for the object

version
string

version of the event payload

event_name
string

name of the event (ex: payment.succeed, sub_account.updated)

Responses
200

Return a 200 status to indicate that the data was received successfully. You must respond within 5 seconds.

Request samples
application/json
{
  • "id": "evt_123xyz",
  • "idempotency_key": "string",
  • "request_id": "string",
  • "account_id": "acc_123xyz",
  • "account_type": "test",
  • "platform_account_id": "acc_123xyz",
  • "data": {
    },
  • "version": "v1",
  • "event_name": "string"
}

Sub AccountsWebhook

Received for the following events: sub_account.updated. This is published when an account's status changes.

Request
Request Body schema: application/json
id
string

event unique id

idempotency_key
string or null

idempotency key for request, when available

request_id
string or null

id for request, when available

account_id
string

sub account id for event

account_type
string

live or test account

platform_account_id
string or null

platform account id for event, when available

object

the attributes for the object

version
string

version of the event payload

event_name
string

name of the event (ex: payment.succeed, sub_account.updated)

Responses
200

Return a 200 status to indicate that the data was received successfully. You must respond within 5 seconds.

Request samples
application/json
{
  • "id": "evt_123xyz",
  • "idempotency_key": "string",
  • "request_id": "string",
  • "account_id": "acc_123xyz",
  • "account_type": "test",
  • "platform_account_id": "acc_123xyz",
  • "data": {
    },
  • "version": "v1",
  • "event_name": "string"
}

Application Fee RatesWebhook

Received for the following events: application_fee_rate.created, application_fee_rate.updated

Request
Request Body schema: application/json
id
string

event unique id

idempotency_key
string or null

idempotency key for request, when available

request_id
string or null

id for request, when available

account_id
string

sub account id for event

account_type
string

live or test account

platform_account_id
string or null

platform account id for event, when available

object

the attributes for the object

version
string

version of the event payload

event_name
string

name of the event (ex: payment.succeed, sub_account.updated)

Responses
200

Return a 200 status to indicate that the data was received successfully. You must respond within 5 seconds.

Request samples
application/json
{
  • "id": "evt_123xyz",
  • "idempotency_key": "string",
  • "request_id": "string",
  • "account_id": "acc_123xyz",
  • "account_type": "test",
  • "platform_account_id": "acc_123xyz",
  • "data": {
    },
  • "version": "v1",
  • "event_name": "string"
}