Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
curl -X GET "https://api.chargebackstop.com/v1/merchants/?limit=20&offset=0&sort=-created_at" \
-H "Authorization: Bearer <api_key>"{
"items": [
{
"id": "mrch_abc123",
"organisation_id": "org_xyz456",
"name": "Acme Stripe EU",
"type": "STRIPE",
"external_id": "acct_eu_001",
"default_representment_service_type": "PHYSICAL_GOODS",
"created_at": "2026-02-10T09:30:00Z",
"updated_at": "2026-02-10T09:30:00Z",
"links": [
{
"rel": "self",
"uri": "/v1/merchants/mrch_abc123"
}
]
},
{
"id": "mrch_def789",
"organisation_id": "org_xyz456",
"name": "Acme Adyen UK",
"type": "ADYEN",
"external_id": null,
"default_representment_service_type": null,
"created_at": "2026-02-08T15:12:44Z",
"updated_at": "2026-02-08T15:12:44Z",
"links": [
{
"rel": "self",
"uri": "/v1/merchants/mrch_def789"
}
]
}
],
"count": 2
}curl -X POST "https://api.chargebackstop.com/v1/merchants/" \
-H "Authorization: Bearer <api_key>" \
-H "Content-Type: application/json" \
-d '{
"organisation_id": "org_xyz456",
"name": "Acme Stripe US",
"type": "STRIPE",
"external_id": "acct_us_002",
"default_representment_service_type": "PHYSICAL_GOODS"
}'{
"id": "mrch_new123",
"organisation_id": "org_xyz456",
"name": "Acme Stripe US",
"type": "STRIPE",
"external_id": "acct_us_002",
"default_representment_service_type": "PHYSICAL_GOODS",
"created_at": "2026-02-16T12:00:00Z",
"updated_at": "2026-02-16T12:00:00Z",
"links": [
{
"rel": "self",
"uri": "/v1/merchants/mrch_new123"
}
]
}curl -X GET "https://api.chargebackstop.com/v1/merchants/mrch_abc123" \
-H "Authorization: Bearer <api_key>"{
"id": "mrch_abc123",
"organisation_id": "org_xyz456",
"name": "Acme Stripe EU",
"type": "STRIPE",
"external_id": "acct_eu_001",
"default_representment_service_type": "PHYSICAL_GOODS",
"created_at": "2026-02-10T09:30:00Z",
"updated_at": "2026-02-16T09:05:00Z",
"links": [
{
"rel": "self",
"uri": "/v1/merchants/mrch_abc123"
}
]
}curl -X PATCH "https://api.chargebackstop.com/v1/merchants/mrch_abc123" \
-H "Authorization: Bearer <api_key>" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme Stripe Europe",
"external_id": "acct_eu_010",
"default_representment_service_type": "ONLINE_SERVICES"
}'{
"id": "mrch_abc123",
"organisation_id": "org_xyz456",
"name": "Acme Stripe Europe",
"type": "STRIPE",
"external_id": "acct_eu_010",
"default_representment_service_type": "ONLINE_SERVICES",
"created_at": "2026-02-10T09:30:00Z",
"updated_at": "2026-02-16T12:10:00Z",
"links": [
{
"rel": "self",
"uri": "/v1/merchants/mrch_abc123"
}
]
}curl -X DELETE "https://api.chargebackstop.com/v1/merchants/mrch_abc123" \
-H "Authorization: Bearer <api_key>"{
"errors": [
{
"code": "UNAUTHORISED",
"message": "Unauthorised"
}
]
}{
"errors": [
{
"code": "FORBIDDEN",
"message": "Forbidden"
}
]
}{
"errors": [
{
"code": "NOT_FOUND",
"message": "Not found"
}
]
}{
"errors": [
{
"code": "MERCHANT_TYPE_CHANGE_RESTRICTED",
"message": "Cannot change merchant type when integrations are associated with this merchant."
}
]
}{
"errors": [
{
"code": "MERCHANT_DELETION_RESTRICTED",
"message": "Merchant cannot be deleted because it has active enrollments. Please contact support if you need to delete this merchant."
}
]
}



























SchemeNoticefraud_notification_type with scheme_notice_type404 Not found.{
"id": "evt_9UYR3Q8xP4aX4Z4uL2YfN",
"type": "scheme_notice.created",
"created_at": "2026-02-13T12:17:42+00:00",
"data": {
"object": {
"id": "schntc_8W2tVb13qfHkK3gQ9n7Yp",
"organisation_id": "org_WVJ7aJzpT32FED9BqKPpM",
"merchant_id": "mrch_bQXg83B18qgACnp5Y4qU8",
"scheme_notice_type": "SAFE",
"notice_type": "FRAUD_NOTICE",
"scheme": "MASTERCARD",
"is_revoked": false,
"notice_revoked_at": null,
"fraud_reported_at": "2026-02-13T12:15:00Z",
"transaction_amount_in_cents": 14760,
"transaction_currency_code": "USD",
"transaction_card_bin": "411798",
"transaction_card_last4": "3508",
"transaction_merchant_name": "ECOM-STUFF OUTLET",
"transaction_merchant_id": "274953873887879",
"transaction_acquirer_reference_number": "77198913101798678449413",
"transaction_authorisation_code": "96JNEP",
"transaction_original_date": "2026-02-01T08:13:50Z",
"transaction_purchase_date": null,
"fraud_type": "CARD_NOT_PRESENT",
"fraud_dispute_eligible": true,
"created_at": "2026-02-13T12:16:10Z",
"updated_at": "2026-02-13T12:16:10Z"
}
},
"api_version": "v1"
}curl -X GET "https://api.chargebackstop.com/v1/scheme-notices/?scheme_notice_type=TC40&sort=-reported_at&limit=20&offset=0" \
-H "Authorization: Bearer <api_key>"{
"items": [
{
"id": "schntc_abc123",
"organisation_id": "org_xyz456",
"merchant_id": "mrch_abc123",
"scheme_notice_type": "TC40",
"notice_type": "FRAUD_NOTICE",
"scheme": "VISA",
"is_revoked": false,
"notice_revoked_at": null,
"fraud_reported_at": "2026-02-11T10:30:00Z",
"transaction_amount_in_cents": 4999,
"transaction_currency_code": "USD",
"transaction_card_bin": "424242",
"transaction_card_last4": "4242",
"transaction_merchant_name": "EXAMPLE STORE",
"transaction_merchant_id": "merchant-123",
"transaction_acquirer_reference_number": "74027012345678901234567",
"transaction_authorisation_code": "ABC123",
"transaction_original_date": "2026-02-01T10:30:00Z",
"transaction_purchase_date": "2026-02-01T10:30:00Z",
"fraud_type": "CARD_NOT_PRESENT",
"fraud_dispute_eligible": true,
"created_at": "2026-02-11T10:31:00Z",
"updated_at": "2026-02-11T10:31:00Z",
"parent_notice_id": null,
"enrolment_id": "enrl_abc123",
"matched_transaction_entity_id": "dpe_abc123",
"links": [
{
"rel": "self",
"uri": "/v1/scheme-notices/schntc_abc123"
}
]
}
],
"count": 1
}curl -X GET "https://api.chargebackstop.com/v1/scheme-notices/schntc_abc123" \
-H "Authorization: Bearer <api_key>"{
"id": "schntc_abc123",
"organisation_id": "org_xyz456",
"merchant_id": "mrch_abc123",
"scheme_notice_type": "TC40",
"notice_type": "FRAUD_NOTICE",
"scheme": "VISA",
"is_revoked": false,
"notice_revoked_at": null,
"fraud_reported_at": "2026-02-11T10:30:00Z",
"transaction_amount_in_cents": 4999,
"transaction_currency_code": "USD",
"transaction_card_bin": "424242",
"transaction_card_last4": "4242",
"transaction_merchant_name": "EXAMPLE STORE",
"transaction_merchant_id": "merchant-123",
"transaction_acquirer_reference_number": "74027012345678901234567",
"transaction_authorisation_code": "ABC123",
"transaction_original_date": "2026-02-01T10:30:00Z",
"transaction_purchase_date": "2026-02-01T10:30:00Z",
"fraud_type": "CARD_NOT_PRESENT",
"fraud_dispute_eligible": true,
"created_at": "2026-02-11T10:31:00Z",
"updated_at": "2026-02-11T10:31:00Z",
"parent_notice_id": null,
"enrolment_id": "enrl_abc123",
"matched_transaction_entity_id": "dpe_abc123",
"links": [
{
"rel": "self",
"uri": "/v1/scheme-notices/schntc_abc123"
}
]
}{
"errors": [
{
"code": "ERROR_CODE",
"message": "Human readable message"
}
]
}{
"errors": [
{
"code": "UNAUTHORISED",
"message": "Unauthorised"
}
]
}{
"errors": [
{
"code": "FORBIDDEN",
"message": "Forbidden"
}
]
}{
"errors": [
{
"code": "NOT_FOUND",
"message": "Not found"
}
]
}{
"errors": [
{
"code": "INVALID_DATE_RANGE",
"message": "reported_at_gte cannot be greater than reported_at_lte"
}
]
}curl -X GET "https://api.chargebackstop.com/v1/lookups/?organisation_id=org_xyz456&lookup_status=SUCCEEDED&sort=-created_at&limit=20&offset=0" \
-H "Authorization: Bearer <api_key>"{
"items": [
{
"id": "lkup_abc123",
"organisation_id": "org_xyz456",
"enrollment_id": "enrl_def456",
"type": "ETHOCA_CONSUMER_CLARITY",
"parent_lookup_id": null,
"lookup_status": "SUCCEEDED",
"deflection_status": "NOT_ATTEMPTED",
"transaction_card_bin": "424242",
"transaction_card_last4": "4242",
"transaction_arn": "74027012345678901234567",
"transaction_auth_code": "AUTH123",
"transaction_amount": 4999,
"transaction_currency": "USD",
"transaction_date": "2026-02-10T10:30:00Z",
"transaction_statement_descriptor": "EXAMPLE STORE",
"transaction_network_id": "network_123",
"integration_id": "int_abc123",
"integration_transaction_id": "txn_123",
"created_at": "2026-02-11T10:30:00Z",
"updated_at": "2026-02-11T10:30:00Z",
"links": [
{
"rel": "self",
"uri": "/v1/lookups/lkup_abc123"
}
]
}
],
"count": 1
}curl -X GET "https://api.chargebackstop.com/v1/lookups/lkup_abc123" \
-H "Authorization: Bearer <api_key>"{
"id": "lkup_abc123",
"organisation_id": "org_xyz456",
"enrollment_id": "enrl_def456",
"type": "ETHOCA_CONSUMER_CLARITY",
"parent_lookup_id": null,
"lookup_status": "SUCCEEDED",
"deflection_status": "NOT_ATTEMPTED",
"transaction_card_bin": "424242",
"transaction_card_last4": "4242",
"transaction_arn": "74027012345678901234567",
"transaction_auth_code": "AUTH123",
"transaction_amount": 4999,
"transaction_currency": "USD",
"transaction_date": "2026-02-10T10:30:00Z",
"transaction_statement_descriptor": "EXAMPLE STORE",
"transaction_network_id": "network_123",
"integration_id": "int_abc123",
"integration_transaction_id": "txn_123",
"created_at": "2026-02-11T10:30:00Z",
"updated_at": "2026-02-11T10:30:00Z",
"links": [
{
"rel": "self",
"uri": "/v1/lookups/lkup_abc123"
}
]
}{
"errors": [
{
"code": "UNAUTHORISED",
"message": "Unauthorised"
}
]
}{
"errors": [
{
"code": "FORBIDDEN",
"message": "Forbidden"
}
]
}{
"errors": [
{
"code": "NOT_FOUND",
"message": "Not found"
}
]
}{
"errors": [
{
"code": "INVALID_DATE_RANGE",
"message": "created_at_gte cannot be greater than created_at_lte"
}
]
}curl -X GET "https://api.chargebackstop.com/v1/organisations/?limit=20&offset=0" \
-H "Authorization: Bearer <api_key>"{
"items": [
{
"id": "org_abc123",
"name": "Acme Payments",
"mode": "LIVE",
"created_at": "2026-01-10T10:45:12Z",
"updated_at": "2026-01-10T10:45:12Z",
"links": [
{
"rel": "self",
"uri": "/v1/organisations/org_abc123"
}
]
},
{
"id": "org_def456",
"name": "Acme Payments EU",
"mode": "LIVE",
"created_at": "2026-01-11T09:12:00Z",
"updated_at": "2026-01-11T09:12:00Z",
"links": [
{
"rel": "self",
"uri": "/v1/organisations/org_def456"
}
]
}
],
"count": 2
}curl -X POST "https://api.chargebackstop.com/v1/organisations/" \
-H "Authorization: Bearer <api_key>" \
-H "Content-Type: application/json" \
-d '{
"name": "New Organisation"
}'{
"id": "org_new123",
"name": "New Organisation",
"mode": "LIVE",
"created_at": "2026-02-16T12:00:00Z",
"updated_at": "2026-02-16T12:00:00Z",
"links": [
{
"rel": "self",
"uri": "/v1/organisations/org_new123"
}
]
}curl -X GET "https://api.chargebackstop.com/v1/organisations/org_abc123" \
-H "Authorization: Bearer <api_key>"{
"id": "org_abc123",
"name": "Acme Payments",
"mode": "LIVE",
"created_at": "2026-01-10T10:45:12Z",
"updated_at": "2026-01-15T08:00:00Z",
"links": [
{
"rel": "self",
"uri": "/v1/organisations/org_abc123"
}
]
}curl -X PATCH "https://api.chargebackstop.com/v1/organisations/org_abc123" \
-H "Authorization: Bearer <api_key>" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme Payments UK"
}'{
"id": "org_abc123",
"name": "Acme Payments UK",
"mode": "LIVE",
"created_at": "2026-01-10T10:45:12Z",
"updated_at": "2026-02-16T12:10:00Z",
"links": [
{
"rel": "self",
"uri": "/v1/organisations/org_abc123"
}
]
}curl -X DELETE "https://api.chargebackstop.com/v1/organisations/org_abc123" \
-H "Authorization: Bearer <api_key>"{
"errors": [
{
"code": "INVALID_REQUEST",
"message": "Invalid request"
}
]
}{
"errors": [
{
"code": "UNAUTHORISED",
"message": "Unauthorised"
}
]
}{
"errors": [
{
"code": "FORBIDDEN",
"message": "Forbidden"
}
]
}{
"errors": [
{
"code": "NOT_FOUND",
"message": "Not found"
}
]
}{
"errors": [
{
"code": "HAS_MERCHANTS",
"message": "The organisation has merchants. Please contact customer support to delete this organisation."
}
]
}curl -X GET "https://api.chargebackstop.com/v1/integrations/?limit=20&offset=0" \
-H "Authorization: Bearer <api_key>"{
"items": [
{
"id": "int_abc123",
"organisation_id": "org_xyz456",
"name": "Orders API Integration",
"type": "CUSTOM_ORDERS",
"status": "ENABLED",
"merchant_ids": ["mrch_111", "mrch_222"],
"links": [
{
"rel": "self",
"uri": "/v1/integrations/int_abc123"
}
]
},
{
"id": "int_def789",
"organisation_id": "org_xyz456",
"name": "Stripe Main",
"type": "STRIPE",
"status": "ENABLED",
"merchant_ids": ["mrch_111"],
"links": [
{
"rel": "self",
"uri": "/v1/integrations/int_def789"
}
]
}
],
"count": 2
}curl -X GET "https://api.chargebackstop.com/v1/integrations/?limit=20&offset=0" \
-H "Authorization: Bearer <org_api_key>"{
"items": [
{
"id": "int_abc123",
"organisation_id": "org_xyz456",
"name": "Orders API Integration",
"type": "CUSTOM_ORDERS",
"status": "ENABLED",
"merchant_ids": ["mrch_111", "mrch_222"],
"links": [
{
"rel": "self",
"uri": "/v1/integrations/int_abc123"
}
]
}
],
"count": 1
}curl -X POST "https://api.chargebackstop.com/v1/integrations/" \
-H "Authorization: Bearer <api_key>" \
-H "Content-Type: application/json" \
-d '{
"organisation_id": "org_xyz456",
"name": "Orders API Integration",
"type": "CUSTOM_ORDERS",
"status": "DISABLED",
"merchant_ids": ["mrch_111", "mrch_222"]
}'{
"id": "int_abc123",
"organisation_id": "org_xyz456",
"name": "Orders API Integration",
"type": "CUSTOM_ORDERS",
"status": "DISABLED",
"merchant_ids": ["mrch_111", "mrch_222"],
"links": [
{
"rel": "self",
"uri": "/v1/integrations/int_abc123"
}
]
}curl -X GET "https://api.chargebackstop.com/v1/integrations/int_abc123" \
-H "Authorization: Bearer <api_key>"{
"id": "int_abc123",
"organisation_id": "org_xyz456",
"name": "Orders API Integration",
"type": "CUSTOM_ORDERS",
"status": "ENABLED",
"merchant_ids": ["mrch_111", "mrch_222"],
"links": [
{
"rel": "self",
"uri": "/v1/integrations/int_abc123"
}
]
}curl -X PATCH "https://api.chargebackstop.com/v1/integrations/int_abc123" \
-H "Authorization: Bearer <api_key>" \
-H "Content-Type: application/json" \
-d '{
"name": "Orders API Integration - EU"
}'{
"id": "int_abc123",
"organisation_id": "org_xyz456",
"name": "Orders API Integration - EU",
"type": "CUSTOM_ORDERS",
"status": "DISABLED",
"merchant_ids": ["mrch_111", "mrch_222"],
"links": [
{
"rel": "self",
"uri": "/v1/integrations/int_abc123"
}
]
}{
"errors": [
{
"code": "NOT_FOUND",
"message": "Not found"
}
]
}{
"errors": [
{
"code": "UNAUTHORISED",
"message": "Unauthorised"
}
]
}{
"errors": [
{
"code": "FORBIDDEN",
"message": "Forbidden"
}
]
}{
"errors": [
{
"code": "NOT_FOUND",
"message": "Not found"
}
]
}{
"errors": [
{
"code": "INVALID_MERCHANT_IDS",
"message": "One or more merchant_ids are invalid or inaccessible for this organisation"
}
]
}{
"errors": [
{
"code": "ERROR_CODE",
"message": "Human-readable message"
}
]
}curl -X GET "https://api.chargebackstop.com/v1/alerts/?status=ACTION_REQUIRED&sort=-alert_received_at&limit=20&offset=0" \
-H "Authorization: Bearer <api_key>"{
"items": [
{
"id": "netalrt_abc123",
"alert_network_id": "1234567890",
"organisation_id": "org_xyz456",
"merchant_id": "mrch_abc123",
"enrolment_id": "enrl_def456",
"enrolment_type": "ETHOCA_ALERT",
"status": "ACTION_REQUIRED",
"chargeback_reason_code": "10.4",
"transaction_amount_in_cents": 4999,
"transaction_currency_code": "USD",
"transaction_authorised_at": "2026-02-10T10:30:00Z",
"action_required_deadline": "2026-02-17T10:30:00Z",
"transaction_authorisation_code": "ABC123",
"transaction_acquirer_reference_number": "74027012345678901234567",
"transaction_statement_descriptor": "EXAMPLE STORE",
"transaction_card_bin": "424242",
"transaction_card_last4": "4242",
"transaction_card_scheme": "VISA",
"transaction_card_issuer": "Example Bank",
"transaction_refund_outcome": null,
"transaction_network_id": null,
"subscription_cancel_outcome": null,
"note": "Customer requested immediate review",
"created_at": "2026-02-11T10:30:00Z",
"updated_at": "2026-02-11T10:30:00Z",
"integration_id": null,
"integration_transaction_id": null,
"links": [
{
"rel": "self",
"uri": "/v1/alerts/netalrt_abc123"
}
]
}
],
"count": 1
}curl -X GET "https://api.chargebackstop.com/v1/alerts/netalrt_abc123" \
-H "Authorization: Bearer <api_key>"{
"id": "netalrt_abc123",
"alert_network_id": "1234567890",
"organisation_id": "org_xyz456",
"merchant_id": "mrch_abc123",
"enrolment_id": "enrl_def456",
"enrolment_type": "ETHOCA_ALERT",
"status": "ACTION_REQUIRED",
"chargeback_reason_code": "10.4",
"transaction_amount_in_cents": 4999,
"transaction_currency_code": "USD",
"transaction_authorised_at": "2026-02-10T10:30:00Z",
"action_required_deadline": "2026-02-17T10:30:00Z",
"transaction_authorisation_code": "ABC123",
"transaction_acquirer_reference_number": "74027012345678901234567",
"transaction_statement_descriptor": "EXAMPLE STORE",
"transaction_card_bin": "424242",
"transaction_card_last4": "4242",
"transaction_card_scheme": "VISA",
"transaction_card_issuer": "Example Bank",
"transaction_refund_outcome": null,
"transaction_network_id": null,
"subscription_cancel_outcome": null,
"note": "Customer requested immediate review",
"created_at": "2026-02-11T10:30:00Z",
"updated_at": "2026-02-11T10:30:00Z",
"integration_id": null,
"integration_transaction_id": null,
"links": [
{
"rel": "self",
"uri": "/v1/alerts/netalrt_abc123"
}
]
}curl -X PATCH "https://api.chargebackstop.com/v1/alerts/netalrt_abc123" \
-H "Authorization: Bearer <api_key>" \
-H "Content-Type: application/json" \
-d '{
"action": "ACCEPT_DISPUTE",
"note": "We decided to accept this dispute"
}'{
"id": "netalrt_abc123",
"alert_network_id": "1234567890",
"organisation_id": "org_xyz456",
"merchant_id": "mrch_abc123",
"enrolment_id": "enrl_def456",
"enrolment_type": "ETHOCA_ALERT",
"status": "RESOLVED",
"chargeback_reason_code": "10.4",
"transaction_amount_in_cents": 4999,
"transaction_currency_code": "USD",
"transaction_authorised_at": "2026-02-10T10:30:00Z",
"action_required_deadline": "2026-02-17T10:30:00Z",
"transaction_authorisation_code": "ABC123",
"transaction_acquirer_reference_number": "74027012345678901234567",
"transaction_statement_descriptor": "EXAMPLE STORE",
"transaction_card_bin": "424242",
"transaction_card_last4": "4242",
"transaction_card_scheme": "VISA",
"transaction_card_issuer": "Example Bank",
"transaction_refund_outcome": "NOT_REFUNDED",
"transaction_network_id": null,
"subscription_cancel_outcome": null,
"note": "We decided to accept this dispute",
"created_at": "2026-02-11T10:30:00Z",
"updated_at": "2026-02-11T10:32:00Z",
"integration_id": null,
"integration_transaction_id": null,
"links": [
{
"rel": "self",
"uri": "/v1/alerts/netalrt_abc123"
}
]
}{
"errors": [
{
"code": "UNAUTHORISED",
"message": "Unauthorised"
}
]
}{
"errors": [
{
"code": "FORBIDDEN",
"message": "Forbidden"
}
]
}{
"errors": [
{
"code": "NOT_FOUND",
"message": "Not found"
}
]
}{
"errors": [
{
"code": "INVALID_DATE_RANGE",
"message": "alert_received_at_gte cannot be greater than alert_received_at_lte"
}
]
}{
"errors": [
{
"code": "VALIDATION_ENUM",
"message": "Validation error at ('body', 'update', 'action'). Input should be 'REFUND', 'CANCEL', 'REFUND_AND_CANCEL' or 'ACCEPT_DISPUTE'."
}
]
}{
"errors": [
{
"code": "INVALID_ACTION",
"message": "Failed to update netalrt_abc123 alert. This alert is in RESOLVED status and cannot be actioned."
}
]
}{
"errors": [
{
"code": "INVALID_ACTION",
"message": "Failed to update netalrt_abc123 alert. No available action found."
}
]
}{
"errors": [
{
"code": "ACTION_FAILED",
"message": "Failed to update netalrt_abc123 alert. The requested action is not allowed."
}
]
}{
"errors": [
{
"code": "SERVER_ERROR",
"message": "Server error"
}
]
}curl -X GET "https://api.chargebackstop.com/v1/memberships/?organisation_id=org_xyz456&limit=20&offset=0" \
-H "Authorization: Bearer <api_key>"{
"items": [
{
"id": "mem_abc123",
"organisation_id": "org_xyz456",
"user_id": "usr_aaa111",
"first_name": "John",
"last_name": "Doe",
"email": "[email protected]",
"role": "ADMIN",
"is_alert_action_required_email_enabled": true,
"is_alert_resolved_email_enabled": true,
"is_alert_dismissed_email_enabled": true,
"is_evidence_requested_email_enabled": true,
"created_at": "2026-02-10T09:30:00Z",
"updated_at": "2026-02-10T09:30:00Z",
"links": [
{
"rel": "self",
"uri": "/v1/memberships/mem_abc123"
}
]
},
{
"id": "mem_def456",
"organisation_id": "org_xyz456",
"user_id": "usr_bbb222",
"first_name": "Jane",
"last_name": "Smith",
"email": "[email protected]",
"role": "STANDARD",
"is_alert_action_required_email_enabled": true,
"is_alert_resolved_email_enabled": false,
"is_alert_dismissed_email_enabled": false,
"is_evidence_requested_email_enabled": true,
"created_at": "2026-02-08T15:12:44Z",
"updated_at": "2026-02-08T15:12:44Z",
"links": [
{
"rel": "self",
"uri": "/v1/memberships/mem_def456"
}
]
}
],
"count": 2
}curl -X POST "https://api.chargebackstop.com/v1/memberships/" \
-H "Authorization: Bearer <api_key>" \
-H "Content-Type: application/json" \
-d '{
"organisation_id": "org_xyz456",
"first_name": "Alice",
"last_name": "Johnson",
"email": "[email protected]",
"role": "ADMIN",
"is_alert_action_required_email_enabled": true,
"is_alert_resolved_email_enabled": false,
"is_alert_dismissed_email_enabled": true,
"is_evidence_requested_email_enabled": true
}'{
"id": "mem_new123",
"organisation_id": "org_xyz456",
"user_id": "usr_new123",
"first_name": "Alice",
"last_name": "Johnson",
"email": "[email protected]",
"role": "ADMIN",
"is_alert_action_required_email_enabled": true,
"is_alert_resolved_email_enabled": false,
"is_alert_dismissed_email_enabled": true,
"is_evidence_requested_email_enabled": true,
"created_at": "2026-02-16T12:00:00Z",
"updated_at": "2026-02-16T12:00:00Z",
"links": [
{
"rel": "self",
"uri": "/v1/memberships/mem_new123"
}
]
}curl -X GET "https://api.chargebackstop.com/v1/memberships/mem_abc123" \
-H "Authorization: Bearer <api_key>"{
"id": "mem_abc123",
"organisation_id": "org_xyz456",
"user_id": "usr_aaa111",
"first_name": "John",
"last_name": "Doe",
"email": "[email protected]",
"role": "ADMIN",
"is_alert_action_required_email_enabled": true,
"is_alert_resolved_email_enabled": true,
"is_alert_dismissed_email_enabled": true,
"is_evidence_requested_email_enabled": true,
"created_at": "2026-02-10T09:30:00Z",
"updated_at": "2026-02-16T09:05:00Z",
"links": [
{
"rel": "self",
"uri": "/v1/memberships/mem_abc123"
}
]
}curl -X PATCH "https://api.chargebackstop.com/v1/memberships/mem_abc123" \
-H "Authorization: Bearer <api_key>" \
-H "Content-Type: application/json" \
-d '{
"role": "STANDARD",
"is_alert_resolved_email_enabled": false,
"is_alert_dismissed_email_enabled": false
}'{
"id": "mem_abc123",
"organisation_id": "org_xyz456",
"user_id": "usr_aaa111",
"first_name": "John",
"last_name": "Doe",
"email": "[email protected]",
"role": "STANDARD",
"is_alert_action_required_email_enabled": true,
"is_alert_resolved_email_enabled": false,
"is_alert_dismissed_email_enabled": false,
"is_evidence_requested_email_enabled": true,
"created_at": "2026-02-10T09:30:00Z",
"updated_at": "2026-02-16T12:10:00Z",
"links": [
{
"rel": "self",
"uri": "/v1/memberships/mem_abc123"
}
]
}curl -X DELETE "https://api.chargebackstop.com/v1/memberships/mem_abc123" \
-H "Authorization: Bearer <api_key>"{
"errors": [
{
"code": "INVALID_REQUEST",
"message": "Invalid request"
}
]
}{
"errors": [
{
"code": "UNAUTHORISED",
"message": "Unauthorised"
}
]
}{
"errors": [
{
"code": "FORBIDDEN",
"message": "Forbidden"
}
]
}{
"errors": [
{
"code": "NOT_FOUND",
"message": "Not found"
}
]
}{
"errors": [
{
"code": "MEMBERSHIP_ALREADY_EXISTS",
"message": "A user with this email is already a member of this organisation"
}
]
}{
"errors": [
{
"code": "MEMBERSHIP_DELETION_FORBIDDEN",
"message": "This membership cannot be deleted"
}
]
}{
"operator": "GREATER_THAN",
"currency_code": "USD",
"amount_in_cents": 5000
}{
"descriptors": [
{"value": "NETFLIX", "match_type": "STARTS_WITH"},
{"value": "SPOTIFY", "match_type": "EXACT_MATCH"}
]
}curl -X POST "https://api.chargebackstop.com/v1/rulesets/" \
-H "Authorization: Bearer <api_key>" \
-H "Content-Type: application/json" \
-d '{
"organisation_id": "org_xyz456",
"enrolment_ids": ["enrl_abc123", "enrl_def456"],
"outcome": "REFUND",
"join_operator": "AND",
"rules": [
{
"type": "DESCRIPTOR",
"parameters": {
"descriptors": [
{"value": "NETFLIX", "match_type": "STARTS_WITH"},
{"value": "SPOTIFY", "match_type": "STARTS_WITH"}
]
}
},
{
"type": "AMOUNT",
"parameters": {
"operator": "GREATER_THAN",
"currency_code": "USD",
"amount_in_cents": 5000
}
}
]
}'{
"id": "rset_abc123",
"organisation_id": "org_xyz456",
"enrolment_ids": ["enrl_abc123", "enrl_def456"],
"outcome": "REFUND",
"join_operator": "AND",
"rules": [
{
"id": "resrule_desc123",
"type": "DESCRIPTOR",
"parameters": {
"descriptors": [
{"value": "NETFLIX", "match_type": "STARTS_WITH"},
{"value": "SPOTIFY", "match_type": "STARTS_WITH"}
]
},
"created_at": "2026-05-05T10:00:00Z",
"updated_at": "2026-05-05T10:00:00Z"
},
{
"id": "resrule_amt123",
"type": "AMOUNT",
"parameters": {
"operator": "GREATER_THAN",
"currency_code": "USD",
"amount_in_cents": 5000
},
"created_at": "2026-05-05T10:00:00Z",
"updated_at": "2026-05-05T10:00:00Z"
}
],
"created_at": "2026-05-05T10:00:00Z",
"updated_at": "2026-05-05T10:00:00Z"
}curl -X GET "https://api.chargebackstop.com/v1/rulesets/?organisation_id=org_xyz456&sort=-created_at&limit=20&offset=0" \
-H "Authorization: Bearer <api_key>"{
"items": [
{
"id": "rset_def456",
"organisation_id": "org_xyz456",
"enrolment_ids": ["enrl_abc123", "enrl_def456"],
"outcome": "REFUND",
"join_operator": "AND",
"rules": [],
"created_at": "2026-05-05T10:00:00Z",
"updated_at": "2026-05-05T10:00:00Z"
}
],
"count": 1
}curl -X GET "https://api.chargebackstop.com/v1/rulesets/rset_abc123" \
-H "Authorization: Bearer <api_key>"{
"id": "rset_abc123",
"organisation_id": "org_xyz456",
"enrolment_ids": ["enrl_abc123"],
"outcome": "ACCEPT_DISPUTE",
"join_operator": "AND",
"rules": [
{
"id": "resrule_amt123",
"type": "AMOUNT",
"parameters": {
"operator": "GREATER_THAN",
"currency_code": "USD",
"amount_in_cents": 5000
},
"created_at": "2026-05-05T10:00:00Z",
"updated_at": "2026-05-05T10:00:00Z"
}
],
"created_at": "2026-05-05T10:00:00Z",
"updated_at": "2026-05-05T10:00:00Z"
}curl -X PATCH "https://api.chargebackstop.com/v1/rulesets/rset_abc123" \
-H "Authorization: Bearer <api_key>" \
-H "Content-Type: application/json" \
-d '{
"enrolment_ids": ["enrl_abc123", "enrl_def456"],
"outcome": "CANCEL",
"join_operator": "OR"
}'{
"id": "rset_abc123",
"organisation_id": "org_xyz456",
"enrolment_ids": ["enrl_abc123", "enrl_def456"],
"outcome": "CANCEL",
"join_operator": "OR",
"rules": [],
"created_at": "2026-05-05T10:00:00Z",
"updated_at": "2026-05-05T10:00:00Z"
}curl -X DELETE "https://api.chargebackstop.com/v1/rulesets/rset_abc123" \
-H "Authorization: Bearer <api_key>"204 No Contentcurl -X POST "https://api.chargebackstop.com/v1/rulesets/rset_abc123/rules" \
-H "Authorization: Bearer <api_key>" \
-H "Content-Type: application/json" \
-d '{
"type": "AMOUNT",
"parameters": {
"operator": "GREATER_THAN",
"currency_code": "USD",
"amount_in_cents": 5000
}
}'{
"id": "resrule_amt123",
"type": "AMOUNT",
"parameters": {
"operator": "GREATER_THAN",
"currency_code": "USD",
"amount_in_cents": 5000
},
"created_at": "2026-05-05T10:00:00Z",
"updated_at": "2026-05-05T10:00:00Z"
}curl -X GET "https://api.chargebackstop.com/v1/rulesets/rset_abc123/rules/resrule_amt123" \
-H "Authorization: Bearer <api_key>"{
"id": "resrule_amt123",
"type": "AMOUNT",
"parameters": {
"operator": "GREATER_THAN",
"currency_code": "USD",
"amount_in_cents": 5000
},
"created_at": "2026-05-05T10:00:00Z",
"updated_at": "2026-05-05T10:00:00Z"
}curl -X PATCH "https://api.chargebackstop.com/v1/rulesets/rset_abc123/rules/resrule_amt123" \
-H "Authorization: Bearer <api_key>" \
-H "Content-Type: application/json" \
-d '{
"type": "AMOUNT",
"parameters": {
"operator": "GREATER_THAN",
"currency_code": "USD",
"amount_in_cents": 7500
}
}'{
"id": "resrule_amt123",
"type": "AMOUNT",
"parameters": {
"operator": "GREATER_THAN",
"currency_code": "USD",
"amount_in_cents": 7500
},
"created_at": "2026-05-05T10:00:00Z",
"updated_at": "2026-05-05T10:00:00Z"
}curl -X DELETE "https://api.chargebackstop.com/v1/rulesets/rset_abc123/rules/resrule_amt123" \
-H "Authorization: Bearer <api_key>"204 No Content{
"errors": [
{
"code": "FORBIDDEN",
"message": "Forbidden"
}
]
}{
"errors": [
{
"code": "NOT_FOUND",
"message": "Not found"
}
]
}{
"errors": [
{
"code": "INVALID_CURRENCY_CODE",
"message": "Only USD is allowed.",
"field": "currency_code"
}
]
}{
"errors": [
{
"code": "RULES_NOT_ALLOWED_ON_RULESET_UPDATE",
"message": "Rules cannot be updated via this endpoint. Use PATCH /v1/rulesets/{ruleset_id}/rules/{rule_id} instead.",
"field": "rules"
}
]
}curl -X PATCH "https://api.chargebackstop.com/v1/simulate/enrolments/enrl_abc456" \
-H "Authorization: Bearer <api_key>" \
-H "Content-Type: application/json" \
-d '{
"status": "ENABLED"
}'{
"id": "enrl_abc456",
"organisation_id": "org_test123",
"merchant_ids": ["mrch_abc123"],
"type": "ETHOCA_ALERT",
"status": "ENABLED",
"ethoca_alert": {
"descriptors": [
{
"descriptor": "TESTMERCHANT.COM",
"match_type": "EXACT_MATCH"
}
]
},
"verifi_rdr": null,
"created_at": "2026-02-10T12:00:00Z",
"updated_at": "2026-02-16T08:15:00Z",
"note": null,
"links": [
{
"rel": "self",
"uri": "/v2/enrolments/enrl_abc456"
}
]
}curl -X POST "https://api.chargebackstop.com/v1/simulate/alerts" \
-H "Authorization: Bearer <api_key>" \
-H "Content-Type: application/json" \
-d '{
"organisation_id": "org_test123",
"enrolment_id": "enrl_abc456",
"status": "RESOLVED",
"transaction_refund_outcome": "REFUNDED",
"card_scheme": "VISA",
"amount_in_cents": 5000,
"currency_code": "USD"
}'{
"id": "netalrt_xyz789",
"alert_network_id": "SIM123456",
"organisation_id": "org_test123",
"merchant_id": "mrch_abc123",
"enrolment_id": "enrl_abc456",
"enrolment_type": "ETHOCA_ALERT",
"status": "RESOLVED",
"chargeback_reason_code": null,
"transaction_amount_in_cents": 5000,
"transaction_currency_code": "USD",
"transaction_authorised_at": "2026-02-10T10:30:00Z",
"action_required_deadline": null,
"transaction_authorisation_code": "ABC123",
"transaction_acquirer_reference_number": "12345678901234567890123",
"transaction_statement_descriptor": "TESTMERCHANT.COM",
"transaction_card_bin": "400000",
"transaction_card_last4": "1234",
"transaction_card_scheme": "VISA",
"transaction_card_issuer": "Bank of America",
"transaction_refund_outcome": "REFUNDED",
"transaction_network_id": null,
"subscription_cancel_outcome": null,
"note": null,
"created_at": "2026-02-16T08:20:00Z",
"updated_at": "2026-02-16T08:20:00Z",
"integration_id": null,
"integration_transaction_id": null
}curl -X POST "https://api.chargebackstop.com/v1/simulate/lookups" \
-H "Authorization: Bearer <api_key>" \
-H "Content-Type: application/json" \
-d '{
"organisation_id": "org_test123",
"enrollment_id": "enrl_abc456",
"type": "ETHOCA_CONSUMER_CLARITY",
"lookup_status": "SUCCEEDED",
"deflection_status": "NOT_ATTEMPTED",
"card_scheme": "VISA",
"amount_in_cents": 5000,
"currency_code": "USD",
"transaction_acquirer_reference_number": "12345678901234567890123",
"transaction_authorisation_code": "ABC123"
}'{
"id": "lkup_xyz789",
"organisation_id": "org_test123",
"enrollment_id": "enrl_abc456",
"type": "ETHOCA_CONSUMER_CLARITY",
"parent_lookup_id": null,
"lookup_status": "SUCCEEDED",
"deflection_status": "NOT_ATTEMPTED",
"transaction_card_bin": "411111",
"transaction_card_last4": "1234",
"transaction_arn": "12345678901234567890123",
"transaction_auth_code": "ABC123",
"transaction_amount": 5000,
"transaction_currency": "USD",
"transaction_date": "2026-02-16T08:20:00Z",
"transaction_statement_descriptor": "ETHOCA TEST LOOKUP",
"transaction_network_id": null,
"integration_id": null,
"integration_transaction_id": null,
"created_at": "2026-02-16T08:20:00Z",
"updated_at": "2026-02-16T08:20:00Z"
}curl -X POST "https://api.chargebackstop.com/v1/simulate/scheme-notices" \
-H "Authorization: Bearer <api_key>" \
-H "Content-Type: application/json" \
-d '{
"organisation_id": "org_test123",
"scheme_notice_type": "TC15",
"transaction_amount_in_cents": 5000,
"transaction_currency_code": "USD",
"reported_at": "2026-02-16T08:20:00Z"
}'{
"id": "schntc_xyz789",
"organisation_id": "org_test123",
"merchant_id": null,
"scheme_notice_type": "TC15",
"notice_type": "DISPUTE_NOTICE",
"scheme": "VISA",
"is_revoked": false,
"notice_revoked_at": null,
"fraud_reported_at": "2026-02-16T08:20:00Z",
"transaction_amount_in_cents": 5000,
"transaction_currency_code": "USD",
"transaction_card_bin": "411111",
"transaction_card_last4": "1111",
"transaction_merchant_name": "ECOM-STUFF.COM",
"transaction_merchant_id": "003500935000093",
"transaction_acquirer_reference_number": "12345678901234567890123",
"transaction_authorisation_code": "ABC123",
"transaction_original_date": "2026-02-01T08:20:00Z",
"transaction_purchase_date": null,
"fraud_type": null,
"fraud_dispute_eligible": null,
"created_at": "2026-02-16T08:20:00Z",
"updated_at": "2026-02-16T08:20:00Z"
}{
"errors": [
{
"code": "ERROR_CODE",
"message": "Human-readable message"
}
]
}{
"errors": [
{
"code": "UNAUTHORISED",
"message": "Unauthorised"
}
]
}{
"errors": [
{
"code": "FORBIDDEN",
"message": "Forbidden"
}
]
}{
"errors": [
{
"code": "NOT_FOUND",
"message": "Not found"
}
]
}{
"errors": [
{
"code": "SIMULATION_NOT_ALLOWED",
"message": "Alert simulation is only allowed for TEST mode organisations. Production Org is in LIVE mode."
}
]
}{
"errors": [
{
"code": "SIMULATION_VALIDATION_ERROR",
"message": "Invalid currency_code 'INVALID'. Must be a valid ISO 4217 code."
}
]
}{
"errors": [
{
"code": "SIMULATION_VALIDATION_ERROR",
"message": "Invalid scheme_notice_type 'INVALID'. Must be TC15, TC40, or SAFE."
}
]
}{
"errors": [
{
"code": "VALIDATION_ENUM",
"message": "Validation error at ('body', 'data', 'status'). Input should be 'ENABLED' or 'UNENROLLED'."
}
]
}{
"errors": [
{
"code": "SERVER_ERROR",
"message": "Server error"
}
]
}If you're a ChargebackStop Partner you're able to integrate custom SSO for your users to easily authenticate into their organisations from your application, no re-authentication required.
using System;
using System.IdentityModel.Tokens.Jwt;
using System.Text;
using Microsoft.IdentityModel.Tokens;
using System.Security.Claims;
public class JwtTokenGenerator
{
private const string PrivateKey = "YOUR_PRIVATE_PARTNER_SSO_KEY";
public static string CreateChargebackstopSsoToken(string email)
{
var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(PrivateKey));
var credentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256);
var claims = new[]
{
new Claim("user_email", email),
new Claim(JwtRegisteredClaimNames.Iat,
new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds().ToString(), ClaimValueTypes.Integer64)
};
var token = new JwtSecurityToken(
claims: claims,
signingCredentials: credentials);
return new JwtSecurityTokenHandler().WriteToken(token);
}
}
package main
import (
"fmt"
"time"
"github.com/golang-jwt/jwt"
)
var privateKey = []byte("YOUR_PRIVATE_PARTNER_SSO_KEY")
func createChargebackstopSsoToken(email string) (string, error) {
token := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{
"iat": time.Now().Unix(),
"user_email": email,
})
tokenString, err := token.SignedString(privateKey)
if err != nil {
return "", err
}
return tokenString, nil
}
import com.auth0.jwt.JWT;
import com.auth0.jwt.algorithms.Algorithm;
import java.time.Instant;
import java.util.Date;
public class JwtGenerator {
private static final String PRIVATE_KEY = "YOUR_PRIVATE_PARTNER_SSO_KEY";
public static String createChargebackstopSsoToken(String email) {
Algorithm algorithm = Algorithm.HMAC256(PRIVATE_KEY);
return JWT.create()
.withClaim("user_email", email)
.withIssuedAt(Date.from(Instant.now()))
.sign(algorithm);
}
}require 'jwt'
PRIVATE_KEY = 'YOUR_PRIVATE_PARTNER_SSO_KEY'
def create_chargebackstop_sso_token(email)
payload = {
iat: Time.now.to_i,
user_email: email
}
JWT.encode(payload, PRIVATE_KEY, 'HS256')
end
{Base URL}/auth/partner-organisation-sso?partner_id={Partner ID}&token={SSO Token}pip install PyJWTnpm install --save jsonwebtokendotnet add package System.IdentityModel.Tokens.Jwtgo get github.com/golang-jwt/jwtimplementation 'com.auth0:java-jwt:4.4.0'sudo gem install jwtimport jwt
from datetime import datetime, timezone
private_key = 'YOUR_PRIVATE_PARTNER_SSO_KEY'
def create_chargebackstop_sso_token(email):
user_data = {
"iat": datetime.now(tz=timezone.utc),
"user_email": email,
}
return jwt.encode(user_data, private_key, algorithm='HS256')const jwt = require('jsonwebtoken');
const privateKey = 'YOUR_PRIVATE_PARTNER_SSO_KEY';
function createChargebackstopSsoToken(email) {
const userData = {
iat: Math.floor(Date.now() / 1000),
user_email: email,
};
return jwt.sign(userData, privateKey, { algorithm: 'HS256' }
}curl -X POST "https://api.chargebackstop.com/v1/organisations/" \
-H "Authorization: Bearer <partner_api_key>" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme Fitness"
}'{
"id": "org_abc123",
"name": "Acme Fitness",
"mode": "LIVE",
"created_at": "2026-02-17T10:00:00Z",
"updated_at": "2026-02-17T10:00:00Z"
}401 UnauthorisedGET /v1/enrolments/{enrolment_id}GET /v2/enrolments/{enrolment_id}404 Not found.statusACCEPT_DISPUTE outcome and add rules describing the transactions that should bypass the default refund.PATCH{
"merchant_id": "mrch_abc123",
"type": "ETHOCA_ALERT",
"ethoca_alert": {
"descriptors": [
{
"descriptor": "ECOMM.COM",
"match_type": "STARTS_WITH"
}
]
}
}{
"merchant_ids": ["mrch_abc123", "mrch_def456"],
"type": "ETHOCA_ALERT",
"ethoca_alert": {
"descriptors": [
{
"descriptor": "ECOMM.COM",
"match_type": "STARTS_WITH"
}
]
}
}{
"merchant_id": "mrch_abc123"
}{
"merchant_ids": ["mrch_abc123", "mrch_def456"]
}curl -X POST "https://api.chargebackstop.com/v2/enrolments/" \
-H "Authorization: Bearer <partner_api_key>" \
-H "Content-Type: application/json" \
-d '{
"merchant_ids": ["mrch_abc123", "mrch_def456"],
"type": "ETHOCA_ALERT",
"ethoca_alert": {
"descriptors": [
{
"descriptor": "ECOMM.COM",
"match_type": "STARTS_WITH"
}
]
}
}'{
"id": "enrl_abc123",
"organisation_id": "org_xyz456",
"merchant_ids": ["mrch_abc123", "mrch_def456"],
"type": "ETHOCA_ALERT",
"status": "PENDING",
"ethoca_alert": {
"descriptors": [
{
"descriptor": "ECOMM.COM",
"match_type": "STARTS_WITH",
"status": "PENDING"
}
]
},
"created_at": "2026-02-16T12:00:00Z",
"updated_at": "2026-02-16T12:00:00Z",
"note": null,
"links": [
{
"rel": "self",
"uri": "/v2/enrolments/enrl_abc123"
}
]
}curl -X POST "https://api.chargebackstop.com/v2/enrolments/" \
-H "Authorization: Bearer <partner_api_key>" \
-H "Content-Type: application/json" \
-d '{
"merchant_ids": ["mrch_abc123"],
"type": "VERIFI_RDR",
"verifi_rdr": {
"bin": "424242",
"caid": "ABC1234567"
}
}'{
"id": "enrl_def456",
"organisation_id": "org_xyz456",
"merchant_ids": ["mrch_abc123"],
"type": "VERIFI_RDR",
"status": "PENDING",
"verifi_rdr": {
"bin": "424242",
"caid": "ABC1234567",
"arns": null
},
"created_at": "2026-02-16T12:05:00Z",
"updated_at": "2026-02-16T12:05:00Z",
"note": null,
"links": [
{
"rel": "self",
"uri": "/v2/enrolments/enrl_def456"
}
]
}curl -X GET "https://api.chargebackstop.com/v2/enrolments/?merchant_id=mrch_abc123&type=ETHOCA_ALERT&status=PENDING&limit=20&offset=0" \
-H "Authorization: Bearer <partner_api_key>"{
"items": [
{
"id": "enrl_abc123",
"organisation_id": "org_xyz456",
"merchant_ids": ["mrch_abc123", "mrch_def456"],
"type": "ETHOCA_ALERT",
"status": "PENDING",
"ethoca_alert": {
"descriptors": [
{
"descriptor": "ECOMM.COM",
"match_type": "STARTS_WITH",
"status": "PENDING"
}
]
},
"created_at": "2026-02-16T12:00:00Z",
"updated_at": "2026-02-16T12:00:00Z",
"note": null,
"links": [
{
"rel": "self",
"uri": "/v2/enrolments/enrl_abc123"
}
]
}
],
"count": 1
}curl -X GET "https://api.chargebackstop.com/v2/enrolments/enrl_abc123" \
-H "Authorization: Bearer <partner_api_key>"{
"id": "enrl_abc123",
"organisation_id": "org_xyz456",
"merchant_ids": ["mrch_abc123", "mrch_def456"],
"type": "ETHOCA_ALERT",
"status": "PENDING",
"ethoca_alert": {
"descriptors": [
{
"descriptor": "ECOMM.COM",
"match_type": "STARTS_WITH",
"status": "PENDING"
}
]
},
"created_at": "2026-02-16T12:00:00Z",
"updated_at": "2026-02-16T12:00:00Z",
"note": null,
"links": [
{
"rel": "self",
"uri": "/v2/enrolments/enrl_abc123"
}
]
}curl -X DELETE "https://api.chargebackstop.com/v2/enrolments/enrl_abc123" \
-H "Authorization: Bearer <partner_api_key>"{
"id": "enrl_abc123",
"organisation_id": "org_xyz456",
"merchant_ids": ["mrch_abc123", "mrch_def456"],
"type": "ETHOCA_ALERT",
"status": "CANCELLED",
"ethoca_alert": {
"descriptors": [
{
"descriptor": "ECOMM.COM",
"match_type": "STARTS_WITH",
"status": "PENDING"
}
]
},
"created_at": "2026-02-16T12:00:00Z",
"updated_at": "2026-02-16T12:10:00Z",
"note": "Enrolment cancelled via API request",
"links": [
{
"rel": "self",
"uri": "/v2/enrolments/enrl_abc123"
}
]
}{
"errors": [
{
"code": "ERROR_CODE",
"message": "Human-readable message"
}
]
}{
"errors": [
{
"code": "UNAUTHORISED",
"message": "Unauthorised"
}
]
}{
"errors": [
{
"code": "FORBIDDEN",
"message": "Forbidden"
}
]
}{
"errors": [
{
"code": "NOT_FOUND",
"message": "Not found"
}
]
}{
"errors": [
{
"code": "MERCHANTS_DIFFERENT_ORGANISATIONS",
"message": "All merchants must belong to the same organisation"
}
]
}{
"errors": [
{
"code": "ENROLMENT_NOT_PENDING",
"message": "Only enrolments in PENDING state can be cancelled"
}
]
}curl -X POST "https://api.chargebackstop.com/v1/memberships/" \
-H "Authorization: Bearer <partner_api_key>" \
-H "Content-Type: application/json" \
-d '{
"organisation_id": "org_abc123",
"first_name": "Casey",
"last_name": "Jordan",
"email": "[email protected]",
"role": "ADMIN",
"is_alert_action_required_email_enabled": true,
"is_alert_resolved_email_enabled": true,
"is_alert_dismissed_email_enabled": true,
"is_evidence_requested_email_enabled": true
}'{
"id": "mem_abc123",
"organisation_id": "org_abc123",
"user_id": "usr_abc123",
"first_name": "Casey",
"last_name": "Jordan",
"email": "[email protected]",
"role": "ADMIN",
"is_alert_action_required_email_enabled": true,
"is_alert_resolved_email_enabled": true,
"is_alert_dismissed_email_enabled": true,
"is_evidence_requested_email_enabled": true,
"created_at": "2026-02-17T10:01:00Z",
"updated_at": "2026-02-17T10:01:00Z"
}curl -X POST "https://api.chargebackstop.com/v1/merchants/" \
-H "Authorization: Bearer <partner_api_key>" \
-H "Content-Type: application/json" \
-d '{
"organisation_id": "org_abc123",
"name": "Acme Fitness Main Store",
"type": "GENERIC",
"external_id": "acct_1ABCDEF2345678"
}'{
"id": "mrch_abc123",
"organisation_id": "org_abc123",
"name": "Acme Fitness Main Store",
"type": "GENERIC",
"external_id": "acct_1ABCDEF2345678",
"default_representment_service_type": null,
"created_at": "2026-02-17T10:02:00Z",
"updated_at": "2026-02-17T10:02:00Z"
}curl -X POST "https://api.chargebackstop.com/v1/integrations/" \
-H "Authorization: Bearer <partner_api_key>" \
-H "Content-Type: application/json" \
-d '{
"organisation_id": "org_abc123",
"name": "Acme Fitness Orders",
"type": "CUSTOM_ORDERS",
"status": "ENABLED",
"merchant_ids": ["mrch_abc123"]
}'{
"id": "int_abc123",
"organisation_id": "org_abc123",
"name": "Acme Fitness Orders",
"type": "CUSTOM_ORDERS",
"status": "ENABLED",
"merchant_ids": ["mrch_abc123"]
}curl -X POST "https://api.chargebackstop.com/v2/enrolments/" \
-H "Authorization: Bearer <partner_api_key>" \
-H "Content-Type: application/json" \
-d '{
"merchant_ids": ["mrch_abc123"],
"type": "ETHOCA_ALERT",
"ethoca_alert": {
"descriptors": [
{
"descriptor": "ACMEFIT",
"match_type": "STARTS_WITH"
}
]
}
}'{
"id": "enrl_ethoca123",
"organisation_id": "org_abc123",
"merchant_ids": ["mrch_abc123"],
"type": "ETHOCA_ALERT",
"status": "PENDING",
"ethoca_alert": {
"descriptors": [
{
"descriptor": "ACMEFIT",
"match_type": "STARTS_WITH"
}
]
},
"created_at": "2026-02-17T10:03:00Z",
"updated_at": "2026-02-17T10:03:00Z",
"note": null
}curl -X POST "https://api.chargebackstop.com/v1/orders/" \
-H "Authorization: Bearer <partner_api_key>" \
-H "Content-Type: application/json" \
-d '[
{
"type": "COMPLETE",
"organisation_id": "org_abc123",
"integration_id": "int_abc123",
"reference_id": "order-10001",
"order_datetime": "2026-02-17T09:59:00Z",
"order_number": "AF-10001",
"order_subtotal_amount_in_cents": 4900,
"order_currency": "USD",
"order_total_amount_in_cents": 4900,
"order_status": "CLOSED_COMPLETE",
"customer_email": "[email protected]",
"transactions": [
{
"reference_id": "txn-10001",
"amount_in_cents": 4900,
"currency": "USD",
"payment_method_type": "CARD",
"authorisation_status": "SETTLED",
"payment_method_reference_id": "pi_3QJ2ABCD12345678",
"authorised_at": "2026-02-17T09:59:05Z",
"payment_method_card_brand": "VISA",
"payment_method_card_last_4": "4242",
"acquirer_reference_number": "74027012345678901234567"
}
]
}
]'{
"created": 1,
"failed": 0,
"results": [
{
"id": "ord_abc123",
"reference_id": "order-10001",
"type": "COMPLETE",
"organisation_id": "org_abc123",
"integration_id": "int_abc123",
"created_at": "2026-02-17T10:05:00Z",
"transactions": [
{
"reference_id": "txn-10001",
"amount_in_cents": 4900,
"currency": "USD",
"payment_method_type": "CARD",
"authorisation_status": "SETTLED",
"payment_method_card_brand": "VISA",
"payment_method_card_last_4": "4242",
"acquirer_reference_number": "74027012345678901234567"
}
]
}
],
"errors": []
}node onboarding-flow.js/*
* Simple onboarding flow example for partner API keys.
*
* Update the variables in the CONFIG section, then run:
* node onboarding-flow.js
*/
// -----------------------------------------------------------------------------
// CONFIG
// -----------------------------------------------------------------------------
const API_BASE_URL = "https://api.chargebackstop.com";
const API_KEY = "REPLACE_WITH_PARTNER_API_KEY";
const MEMBER_USER_EMAIL = "[email protected]";
const MEMBER_FIRST_NAME = "Casey";
const MEMBER_LAST_NAME = "Jordan";
const ORGANISATION_NAME = "Acme Fitness";
const MERCHANT_NAME = "Acme Fitness Main Store";
const MERCHANT_TYPE = "GENERIC";
const MERCHANT_EXTERNAL_ID = "acct_1ABCDEF2345678";
const INTEGRATION_NAME = "Acme Fitness Orders";
const ORDER_REFERENCE_ID = "order-10001";
const ORDER_NUMBER = "AF-10001";
const ORDER_CUSTOMER_EMAIL = MEMBER_USER_EMAIL;
const ORDER_TRANSACTION_REFERENCE_ID = "txn-10001";
// -----------------------------------------------------------------------------
// HELPERS
// -----------------------------------------------------------------------------
function fail(message, details) {
console.error(`\nERROR: ${message}`);
if (details !== undefined) {
console.error(JSON.stringify(details, null, 2));
}
process.exit(1);
}
function logStep(stepNumber, title) {
console.log(`\n[Step ${stepNumber}] ${title}`);
}
function printJson(label, data) {
console.log(`${label}:`);
console.log(JSON.stringify(data, null, 2));
}
async function apiRequest({ method, path, body }) {
const response = await fetch(`${API_BASE_URL}${path}`, {
method,
headers: {
Authorization: `Bearer ${API_KEY}`,
"Content-Type": "application/json",
},
body: body ? JSON.stringify(body) : undefined,
});
const rawText = await response.text();
let data = null;
if (rawText.length > 0) {
try {
data = JSON.parse(rawText);
} catch (error) {
data = { raw: rawText };
}
}
if (!response.ok) {
fail(`Request failed: ${method} ${path} (${response.status})`, data);
}
return data;
}
// -----------------------------------------------------------------------------
// FLOW
// -----------------------------------------------------------------------------
async function main() {
if (API_KEY.includes("REPLACE_WITH_PARTNER_API_KEY")) {
fail("Set API_KEY at the top of this file before running the script.");
}
const createdIds = {
organisation_id: null,
membership_id: null,
merchant_id: null,
integration_id: null,
ethoca_enrolment_id: null,
verifi_enrolment_id: null,
order_id: null,
};
logStep(1, "Create organisation");
const organisation = await apiRequest({
method: "POST",
path: "/v1/organisations/",
body: {
name: ORGANISATION_NAME,
},
});
createdIds.organisation_id = organisation.id;
printJson("Response", organisation);
console.log(`Saved organisation_id: ${createdIds.organisation_id}`);
logStep(2, "Create membership");
const membership = await apiRequest({
method: "POST",
path: "/v1/memberships/",
body: {
organisation_id: createdIds.organisation_id,
first_name: MEMBER_FIRST_NAME,
last_name: MEMBER_LAST_NAME,
email: MEMBER_USER_EMAIL,
role: "ADMIN",
is_alert_action_required_email_enabled: true,
is_alert_resolved_email_enabled: true,
is_alert_dismissed_email_enabled: true,
is_evidence_requested_email_enabled: true,
},
});
createdIds.membership_id = membership.id;
printJson("Response", membership);
console.log(`Saved membership_id: ${createdIds.membership_id}`);
logStep(3, "Create merchant");
const merchant = await apiRequest({
method: "POST",
path: "/v1/merchants/",
body: {
organisation_id: createdIds.organisation_id,
name: MERCHANT_NAME,
type: MERCHANT_TYPE,
external_id: MERCHANT_EXTERNAL_ID,
},
});
createdIds.merchant_id = merchant.id;
printJson("Response", merchant);
console.log(`Saved merchant_id: ${createdIds.merchant_id}`);
logStep(4, "Create custom orders integration");
const integration = await apiRequest({
method: "POST",
path: "/v1/integrations/",
body: {
organisation_id: createdIds.organisation_id,
name: INTEGRATION_NAME,
type: "CUSTOM_ORDERS",
status: "ENABLED",
merchant_ids: [createdIds.merchant_id],
},
});
createdIds.integration_id = integration.id;
printJson("Response", integration);
console.log(`Saved integration_id: ${createdIds.integration_id}`);
logStep(5, "Create Ethoca enrolment");
const ethocaEnrolment = await apiRequest({
method: "POST",
path: "/v2/enrolments/",
body: {
merchant_ids: [createdIds.merchant_id],
type: "ETHOCA_ALERT",
ethoca_alert: {
descriptors: [
{
descriptor: "ACMEFIT",
match_type: "STARTS_WITH",
},
],
},
},
});
createdIds.ethoca_enrolment_id = ethocaEnrolment.id;
printJson("Response", ethocaEnrolment);
console.log(`Saved ethoca_enrolment_id: ${createdIds.ethoca_enrolment_id}`);
logStep(6, "Create Verifi RDR enrolment");
const verifiEnrolment = await apiRequest({
method: "POST",
path: "/v2/enrolments/",
body: {
merchant_ids: [createdIds.merchant_id],
type: "VERIFI_RDR",
verifi_rdr: {
bin: "424242",
caid: "ABC1234567",
},
},
});
createdIds.verifi_enrolment_id = verifiEnrolment.id;
printJson("Response", verifiEnrolment);
console.log(`Saved verifi_enrolment_id: ${createdIds.verifi_enrolment_id}`);
logStep(7, "Submit COMPLETE order for alert matching");
const orderResponse = await apiRequest({
method: "POST",
path: "/v1/orders/",
body: [
{
type: "COMPLETE",
organisation_id: createdIds.organisation_id,
integration_id: createdIds.integration_id,
reference_id: ORDER_REFERENCE_ID,
order_datetime: "2026-02-17T09:59:00Z",
order_number: ORDER_NUMBER,
order_subtotal_amount_in_cents: 4900,
order_currency: "USD",
order_total_amount_in_cents: 4900,
order_status: "CLOSED_COMPLETE",
customer_email: ORDER_CUSTOMER_EMAIL,
transactions: [
{
reference_id: ORDER_TRANSACTION_REFERENCE_ID,
amount_in_cents: 4900,
currency: "USD",
payment_method_type: "CARD",
authorisation_status: "SETTLED",
payment_method_reference_id: "pi_3QJ2ABCD12345678",
authorised_at: "2026-02-17T09:59:05Z",
payment_method_card_brand: "VISA",
payment_method_card_last_4: "4242",
acquirer_reference_number: "74027012345678901234567",
},
],
},
],
});
printJson("Response", orderResponse);
if (orderResponse.failed > 0) {
console.log("\nOrder was not created. API returned validation errors.");
} else if (orderResponse.results && orderResponse.results.length > 0) {
createdIds.order_id = orderResponse.results[0].id;
}
console.log("\nDone. IDs to save for future requests:");
printJson("Created IDs", createdIds);
}
main().catch((error) => {
fail("Unexpected script error", {
message: error.message,
stack: error.stack,
});
});curl -X POST "https://api.chargebackstop.com/v2/enrolments/" \
-H "Authorization: Bearer <partner_api_key>" \
-H "Content-Type: application/json" \
-d '{
"merchant_ids": ["mrch_abc123"],
"type": "VERIFI_RDR",
"verifi_rdr": {
"bin": "424242",
"caid": "ABC1234567"
}
}'{
"merchant_ids": ["mrch_abc123"],
"type": "VERIFI_RDR",
"verifi_rdr": {
"arns": ["74027012345678901234567"]
}
}{
"id": "enrl_verifi123",
"organisation_id": "org_abc123",
"merchant_ids": ["mrch_abc123"],
"type": "VERIFI_RDR",
"status": "PENDING",
"verifi_rdr": {
"bin": "424242",
"caid": "ABC1234567"
},
"created_at": "2026-02-17T10:04:00Z",
"updated_at": "2026-02-17T10:04:00Z",
"note": null
}curl -X POST "https://api.chargebackstop.com/v1/rulesets/" \
-H "Authorization: Bearer <partner_api_key>" \
-H "Content-Type: application/json" \
-d '{
"organisation_id": "org_abc123",
"enrolment_ids": ["enrl_verifi123"],
"outcome": "ACCEPT_DISPUTE",
"join_operator": "AND",
"rules": [
{
"type": "AMOUNT",
"parameters": {
"operator": "GREATER_THAN",
"currency_code": "USD",
"amount_in_cents": 5000
}
}
]
}'curl -X POST "https://api.chargebackstop.com/v1/rulesets/" \
-H "Authorization: Bearer <partner_api_key>" \
-H "Content-Type: application/json" \
-d '{
"organisation_id": "org_abc123",
"enrolment_ids": ["enrl_ethoca123"],
"outcome": "REFUND_AND_CANCEL",
"join_operator": "AND",
"rules": [
{
"type": "DESCRIPTOR",
"parameters": {
"descriptors": [
{"value": "ACMEFIT", "match_type": "STARTS_WITH"}
]
}
}
]
}'enrolment.createdimport crypto from 'crypto';
/**
* Verify a webhook signature.
*
* @param {string} rawBody – the exact request body
* @param {string} signatureHeader – the entire value of the x-signature header
* @param {string} secret – your webhook signing secret
* @throws {Error} on any verification failure
*/
function verifySignature(rawBody, signatureHeader, secret) {
if (!secret) {
throw new Error('Missing webhook secret');
}
if (!signatureHeader) {
throw new Error('Missing signature header');
}
// e.g. "t=1618884471,v1=abcdef123456…"
const parts = signatureHeader.split(',');
let timestamp = null;
let receivedSig = null;
for (const part of parts) {
const [key, val] = part.split('=');
if (key === 't') {
timestamp = val;
} else if (key === 'v1') {
receivedSig = val;
}
}
if (!timestamp) {
throw new Error('Signature header missing timestamp (t)');
}
if (!receivedSig) {
throw new Error('Signature header missing signature (v1)');
}
// Enforce 5 minute tolerance
const sentTime = Number(timestamp);
if (Number.isNaN(sentTime)) {
throw new Error('Invalid timestamp in signature header');
}
const now = Math.floor(Date.now() / 1000);
const FIVE_MINUTES = 5 * 60;
if (Math.abs(now - sentTime) > FIVE_MINUTES) {
throw new Error('Timestamp is outside the allowed 5 minute window');
}
// Compute expected HMAC
const payload = `${timestamp}.${rawBody}`;
const expectedSig = crypto
.createHmac('sha512', secret)
.update(payload)
.digest('hex');
const receivedBuf = Buffer.from(receivedSig, 'hex');
const expectedBuf = Buffer.from(expectedSig, 'hex');
// Protect against timing attacks
if (receivedBuf.length !== expectedBuf.length ||
!crypto.timingSafeEqual(receivedBuf, expectedBuf)) {
throw new Error('Invalid signature');
}
// All checks passed
return true;
}/**
* Verify a webhook signature.
*
* @param string $rawBody The exact request body
* @param string $signatureHeader The value of the X-Signature header
* @param string $secret Your webhook signing secret
*
* @throws Exception on any verification failure
*/
function verifySignature(string $rawBody, string $signatureHeader, string $secret) : bool
{
if (empty($secret)) {
throw new Exception('Missing webhook secret');
}
if (empty($signatureHeader)) {
throw new Exception('Missing signature header');
}
// Split header like "t=1618884471,v1=abcdef123456…"
$parts = explode(',', $signatureHeader);
$timestamp = null;
$receivedSig = null;
foreach ($parts as $part) {
[$key, $val] = array_pad(explode('=', $part, 2), 2, null);
if ('t' === $key) {
$timestamp = $val;
} elseif ('v1' === $key) {
$receivedSig = $val;
}
}
if (null === $timestamp) {
throw new Exception('Signature header missing timestamp (t)');
}
if (null === $receivedSig) {
throw new Exception('Signature header missing signature (v1)');
}
if (! ctype_digit($timestamp)) {
throw new Exception('Invalid timestamp in signature header');
}
// Enforce 5 minute skew
$sentTime = (int) $timestamp;
$now = time();
if (abs($now - $sentTime) > 5 * 60) {
throw new Exception('Timestamp is outside the allowed 5 minute window');
}
// Compute expected signature
$payload = $timestamp . '.' . $rawBody;
$expectedSig = hash_hmac('sha512', $payload, $secret);
// Timing-safe comparison
if (! hash_equals($expectedSig, $receivedSig)) {
throw new Exception('Invalid signature');
}
return true;
}import hmac
import hashlib
import time
def verify_signature(raw_body: bytes, signature_header: str, secret: str) -> None:
if not secret:
raise ValueError('Missing webhook secret')
if not signature_header:
raise ValueError('Missing signature header')
parts = dict(p.split('=', 1) for p in signature_header.split(',') if '=' in p)
t = parts.get('t')
v1 = parts.get('v1')
if t is None:
raise ValueError('Signature header missing timestamp (t)')
if v1 is None:
raise ValueError('Signature header missing signature (v1)')
if not t.isdigit():
raise ValueError('Invalid timestamp in signature header')
ts = int(t)
now = int(time.time())
FIVE_MINUTES = 5 * 60
if abs(now - ts) > FIVE_MINUTES:
raise ValueError('Timestamp is outside the allowed 5 minute window')
payload = f'{t}.{raw_body.decode("utf-8")}'.encode('utf-8')
expected = hmac.new(secret.encode(), payload, hashlib.sha512).hexdigest()
if not hmac.compare_digest(expected, v1):
raise ValueError('Invalid signature')x-signature: t=1746901125,v1=71d294712c109472c92e6afc2f0fcafce611bda73ba027f7221f8910d37b29de6fdd65489d28b28678c74d3ea62edb76f13631286d661833b0c4d4880be4d2ba
x-idempotency-key: whdl_CXwgJJye6EoZYxtFbx78Q{
"id": "evt_dbXKdyUWLzSP98HMVdoFW",
"type": "alert.created",
"created_at": "2025-05-10T18:17:35.635870+00:00",
"data": {
"object": {
"id": "netalrt_yxMihZ4JhB7h5unn36F18",
"note": null,
"status": "ACTION_REQUIRED",
"created_at": "2025-05-10T13:56:56.312045Z",
"updated_at": "2025-05-10T13:56:58.111532Z",
"merchant_id": "mrch_YoaBvAq2H2R8JYXjXodkE",
"enrolment_type": "ETHOCA_ALERT",
"organisation_id": "org_RoExcMDGGjmmGXKxAUAkR",
"transaction_card_bin": null,
"chargeback_reason_code": null,
"transaction_card_last4": "5455",
"transaction_network_id": null,
"transaction_card_issuer": "BofA",
"transaction_card_scheme": "MASTERCARD",
"action_required_deadline": "2025-05-12T13:56:56.300274Z",
"transaction_authorised_at": "2025-05-05T13:56:56.300274Z",
"transaction_currency_code": "USD",
"transaction_refund_outcome": null,
"subscription_cancel_outcome": null,
"transaction_amount_in_cents": 6606,
"transaction_authorisation_code": "7XP81U",
"transaction_statement_descriptor": "ECOM-STUFF.COM",
"transaction_acquirer_reference_number": "012533471273304331125644612",
"integration_id": "int_ZSHVZukGYs5SdVcwkEZrL",
"integration_transaction_id": "pi_3SPJO4KRFSLReU4y04XJUvLN"
}
},
"api_version": "v1"
}x-signature: t=1746901218,v1=5ef9423caa3366f28eaf2411c3c3b3b6d660ddcc1a03c190ac124038e04d927bcbaae622f21c011feb27a9bae1ad96da4f74407cb1533ba1cdf8c0d8e1733b37
x-idempotency-key: whdl_ghRygm8zYiHD4vjNSQ9uT{
"id": "evt_NUpgzGLGJTj5j1MZ6jb1d",
"type": "alert.updated",
"created_at": "2025-05-10T18:20:18.430390+00:00",
"data": {
"object": {
"id": "netalrt_yxMihZ4JhB7h5unn36F18",
"note": null,
"status": "RESOLVED",
"created_at": "2025-05-10T13:56:56.312045Z",
"updated_at": "2025-05-10T18:20:18.419298Z",
"merchant_id": "mrch_YoaBvAq2H2R8JYXjXodkE",
"enrolment_type": "ETHOCA_ALERT",
"organisation_id": "org_RoExcMDGGjmmGXKxAUAkR",
"transaction_card_bin": null,
"chargeback_reason_code": null,
"transaction_card_last4": "5455",
"transaction_network_id": null,
"transaction_card_issuer": "BofA",
"transaction_card_scheme": "MASTERCARD",
"action_required_deadline": "2025-05-12T13:56:56Z",
"transaction_authorised_at": "2025-05-05T13:56:56Z",
"transaction_currency_code": "USD",
"transaction_refund_outcome": "REFUNDED",
"subscription_cancel_outcome": null,
"transaction_amount_in_cents": 6606,
"transaction_authorisation_code": "7XP81U",
"transaction_statement_descriptor": "ECOM-STUFF.COM",
"transaction_acquirer_reference_number": "012533471273304331125644612",
"integration_id": "int_ZSHVZukGYs5SdVcwkEZrL",
"integration_transaction_id": "pi_3SPJO4KRFSLReU4y04XJUvLN"
},
"previous_attributes": {
"status": "ACTION_REQUIRED",
"transaction_refund_outcome": null
}
},
"api_version": "v1"
}{
"id": "evt_hxgqT7vA8am77QbJCMiFA",
"type": "enrolment.created",
"created_at": "2026-02-25T15:02:49.256560+00:00",
"data": {
"object": {
"id": "enrl_pfNupxFzfYDaEf1UrD6wU",
"organisation_id": "org_MSALEuBsAywqDA3SQVqc8",
"merchant_ids": [
"mrch_XXiP48XqnnYbRvnUFVH6G"
],
"type": "VERIFI_ORDER_INSIGHT",
"status": "IN_PROGRESS",
"created_at": "2026-02-25T15:02:49.256560Z",
"updated_at": "2026-02-25T15:03:14.460982Z",
"note": ""
}
},
"api_version": "v2"
}{
"id": "evt_aXCsMEEaxP3Jvk9SmxBaQ",
"type": "enrolment.updated",
"created_at": "2026-02-25T15:05:31.102891+00:00",
"data": {
"object": {
"id": "enrl_pfNupxFzfYDaEf1UrD6wU",
"organisation_id": "org_MSALEuBsAywqDA3SQVqc8",
"merchant_ids": [
"mrch_XXiP48XqnnYbRvnUFVH6G"
],
"type": "VERIFI_ORDER_INSIGHT",
"status": "ENABLED",
"created_at": "2026-02-25T15:02:49.256560Z",
"updated_at": "2026-02-25T15:05:31.083449Z",
"note": ""
},
"previous_attributes": {
"status": "IN_PROGRESS"
}
},
"api_version": "v2"
}{
"id": "evt_S4VJrD42E1mVRVuCeapmt",
"type": "representment.created",
"created_at": "2025-05-22T19:09:09.512272+00:00",
"data": {
"object": {
"id": "rep_DenAQk14kzDmwKSJn7cU3",
"created_at": "2025-05-22T19:09:09.495869Z",
"managed_by": "PARTNER",
"updated_at": "2025-05-22T19:09:09.496523Z",
"disputed_at": "2024-11-19T00:00:00",
"merchant_id": "mrch_bQXg83B18qgACnp5Y4qU8",
"service_type": "ONLINE_SERVICES",
"dispute_stage": "CHARGEBACK",
"dispute_due_by": "2024-12-03T00:00:00",
"dispute_reason": "SUBSCRIPTION_CANCELED",
"dispute_schema": "MASTERCARD",
"dispute_status": "OPEN",
"organisation_id": "org_tmo8Dq484yRUiiAcJuRPd",
"dispute_reason_code": null,
"dispute_reference_id": null,
"dispute_currency_code": "USD",
"dispute_amount_in_cents": 4444,
"transaction_reference_id": null,
"transaction_currency_code": "USD",
"transaction_amount_in_cents": 4444,
"transaction_authorisation_date": "2024-11-12T00:00:00",
"transaction_acquirer_reference_number": null
}
},
"api_version": "v1"
}{
"id": "evt_2rzszUnkDUNFiBKqe6DdT",
"type": "representment.updated",
"created_at": "2025-05-22T20:14:51.041381+00:00",
"data": {
"object": {
"id": "rep_wMxBaE4ivxQ7zvPy1dmNx",
"created_at": "2025-05-22T19:08:25.245116Z",
"managed_by": "PARTNER",
"updated_at": "2025-05-22T20:14:51.004632Z",
"disputed_at": "2024-11-19T00:00:00",
"merchant_id": "mrch_bQXg83B18qgACnp5Y4qU8",
"service_type": "ONLINE_SERVICES",
"dispute_stage": "CHARGEBACK",
"dispute_due_by": "2024-12-03T00:00:00",
"dispute_reason": "SUBSCRIPTION_CANCELED",
"dispute_schema": "MASTERCARD",
"dispute_status": "LOST",
"organisation_id": "org_tmo8Dq484yRUiiAcJuRPd",
"dispute_reason_code": null,
"dispute_reference_id": null,
"dispute_currency_code": "USD",
"dispute_amount_in_cents": 4444,
"transaction_reference_id": null,
"transaction_currency_code": "USD",
"transaction_amount_in_cents": 4444,
"transaction_authorisation_date": "2024-11-12T00:00:00",
"transaction_acquirer_reference_number": null
},
"previous_attributes": {
"dispute_status": "OPEN"
}
},
"api_version": "v1"
}{
"id": "evt_dbXKdyUWLzSP98HMVdoFW",
"type": "scheme_notice.created",
"created_at": "2026-03-01T10:30:45.123456+00:00",
"data": {
"object": {
"id": "schntc_NFSPZDSTv3QgfU8GDhXKK",
"organisation_id": "org_WVJ7aJzpT32FED9BqKPpM",
"merchant_id": "mrch_bQXg83B18qgACnp5Y4qU8",
"scheme_notice_type": "TC40",
"notice_type": "FRAUD_NOTICE",
"scheme": "VISA",
"is_revoked": false,
"notice_revoked_at": null,
"fraud_reported_at": "2026-02-21T08:13:50.360977Z",
"transaction_amount_in_cents": 14760,
"transaction_currency_code": "USD",
"transaction_card_bin": "411798",
"transaction_card_last4": "3508",
"transaction_merchant_name": "ECOM-STUFF OUTLET",
"transaction_merchant_id": "274953873887879",
"transaction_acquirer_reference_number": "77198913101798678449413",
"transaction_authorisation_code": "96JNEP",
"transaction_original_date": "2026-02-11T08:13:50.360977Z",
"transaction_purchase_date": "2026-02-11T08:13:50.360977Z",
"fraud_type": "CARD_NOT_PRESENT",
"fraud_dispute_eligible": true,
"created_at": "2026-03-01T10:30:45.123456Z",
"updated_at": "2026-03-01T10:30:45.123456Z"
}
},
"api_version": "v1"
}{
"id": "evt_NUpgzGLGJTj5j1MZ6jb1d",
"type": "scheme_notice.updated",
"created_at": "2026-03-01T12:00:00.541381+00:00",
"data": {
"object": {
"id": "schntc_NFSPZDSTv3QgfU8GDhXKK",
"organisation_id": "org_WVJ7aJzpT32FED9BqKPpM",
"merchant_id": "mrch_bQXg83B18qgACnp5Y4qU8",
"scheme_notice_type": "TC40",
"notice_type": "FRAUD_NOTICE",
"scheme": "VISA",
"is_revoked": true,
"notice_revoked_at": "2026-03-01T12:00:00.000000Z",
"fraud_reported_at": "2026-02-21T08:13:50.360977Z",
"transaction_amount_in_cents": 14760,
"transaction_currency_code": "USD",
"transaction_card_bin": "411798",
"transaction_card_last4": "3508",
"transaction_merchant_name": "ECOM-STUFF OUTLET",
"transaction_merchant_id": "274953873887879",
"transaction_acquirer_reference_number": "77198913101798678449413",
"transaction_authorisation_code": "96JNEP",
"transaction_original_date": "2026-02-11T08:13:50.360977Z",
"transaction_purchase_date": "2026-02-11T08:13:50.360977Z",
"fraud_type": "CARD_NOT_PRESENT",
"fraud_dispute_eligible": true,
"created_at": "2026-03-01T10:30:45.123456Z",
"updated_at": "2026-03-01T12:00:00.541381Z"
},
"previous_attributes": {
"is_revoked": false,
"notice_revoked_at": null
}
},
"api_version": "v1"
}{
"id": "evt_dbXKdyUWLzSP98HMVdoFW",
"type": "lookup.created",
"created_at": "2026-03-12T10:30:45.123456+00:00",
"data": {
"object": {
"id": "lkup_NFSPZDSTv3QgfU8GDhXKK",
"organisation_id": "org_WVJ7aJzpT32FED9BqKPpM",
"enrollment_id": "enrl_pfNupxFzfYDaEf1UrD6wU",
"type": "ETHOCA_CONSUMER_CLARITY",
"parent_lookup_id": null,
"lookup_status": "SUCCEEDED",
"deflection_status": "NOT_ATTEMPTED",
"transaction_card_bin": "411798",
"transaction_card_last4": "3508",
"transaction_arn": "77198913101798678449413",
"transaction_auth_code": "96JNEP",
"transaction_amount": 14760,
"transaction_currency": "USD",
"transaction_date": "2026-03-10T08:13:50.360977Z",
"transaction_statement_descriptor": "ECOM-STUFF.COM",
"transaction_network_id": null,
"integration_id": "int_ZSHVZukGYs5SdVcwkEZrL",
"integration_transaction_id": "pi_3SPJO4KRFSLReU4y04XJUvLN",
"created_at": "2026-03-12T10:30:45.123456Z",
"updated_at": "2026-03-12T10:30:45.123456Z"
}
},
"api_version": "v1"
}{
"id": "evt_NUpgzGLGJTj5j1MZ6jb1d",
"type": "lookup.updated",
"created_at": "2026-03-12T12:00:00.541381+00:00",
"data": {
"object": {
"id": "lkup_NFSPZDSTv3QgfU8GDhXKK",
"organisation_id": "org_WVJ7aJzpT32FED9BqKPpM",
"enrollment_id": "enrl_pfNupxFzfYDaEf1UrD6wU",
"type": "ETHOCA_FIRST_PARTY_TRUST",
"parent_lookup_id": null,
"lookup_status": "SUCCEEDED",
"deflection_status": "SUCCEEDED",
"transaction_card_bin": "411798",
"transaction_card_last4": "3508",
"transaction_arn": "77198913101798678449413",
"transaction_auth_code": "96JNEP",
"transaction_amount": 14760,
"transaction_currency": "USD",
"transaction_date": "2026-03-10T08:13:50.360977Z",
"transaction_statement_descriptor": "ECOM-STUFF.COM",
"transaction_network_id": null,
"integration_id": "int_ZSHVZukGYs5SdVcwkEZrL",
"integration_transaction_id": "pi_3SPJO4KRFSLReU4y04XJUvLN",
"created_at": "2026-03-12T10:30:45.123456Z",
"updated_at": "2026-03-12T12:00:00.541381Z"
},
"previous_attributes": {
"deflection_status": "PENDING"
}
},
"api_version": "v1"
}v1=): If the timestamp is acceptable, construct the signature string on your end:




429 Too Many Requestsauthorisation_code + payment_method_card_last_4PHYSICALcurl -X GET "https://api.chargebackstop.com/v1/orders/?reference_id=order-2024-001&sort=-created_at&limit=10" \
-H "Authorization: Bearer <api_key>"{
"items": [
{
"id": "ord_abc123",
"reference_id": "order-2024-001",
"type": "COMPLETE",
"organisation_id": "org_xyz",
"integration_id": "int_123",
"created_at": "2024-01-15T10:30:00Z",
"order_datetime": "2024-01-15T10:30:00Z",
"order_number": "ORD-2024-001",
"order_status": "CLOSED_COMPLETE",
"order_currency": "USD",
"order_total_amount_in_cents": 9720,
"transactions": [...],
"deliveries": [...],
"items": [...],
"refunds": [...],
"subscriptions": [...],
"disputes": [...],
"links": [
{
"rel": "self",
"uri": "/v1/orders/ord_abc123"
}
]
}
],
"count": 1
}curl -X GET "https://api.chargebackstop.com/v1/orders/ord_abc123" \
-H "Authorization: Bearer <api_key>"{
"id": "ord_abc123",
"reference_id": "order-2024-001",
"type": "COMPLETE",
"organisation_id": "org_xyz",
"integration_id": "int_123",
"created_at": "2024-01-15T10:30:00Z",
"order_datetime": "2024-01-15T10:30:00Z",
"order_number": "ORD-2024-001",
"order_status": "CLOSED_COMPLETE",
"order_currency": "USD",
"order_total_amount_in_cents": 9720,
"customer_email": "[email protected]",
"transactions": [...],
"deliveries": [...],
"items": [...],
"refunds": [...],
"subscriptions": [...],
"disputes": [...],
"links": [
{
"rel": "self",
"uri": "/v1/orders/ord_abc123"
}
]
}{
"errors": [
{
"code": "NOT_FOUND",
"message": "Not found"
}
]
}[
{
"type": "PARTIAL",
"organisation_id": "org_abc123",
"integration_id": "int_stripe456",
"reference_id": "order-2024-001",
"order_email": "[email protected]",
"customer_account_id": "[email protected]",
"device_ip_address": "216.24.60.17"
}
][
{
"type": "PARTIAL",
"organisation_id": "org_abc123",
"integration_id": "int_stripe456",
"reference_id": "order-2024-001",
"order_email": "[email protected]",
"customer_account_id": "cust-12345",
"device_ip_address": "216.24.60.83",
"order_datetime": "2024-01-15T10:30:00Z",
"order_number": "ORD-2024-001",
"order_subtotal_amount_in_cents": 4500,
"order_currency": "USD",
"order_total_amount_in_cents": 4950
}
][
{
"type": "PARTIAL",
"organisation_id": "org_abc123",
"integration_id": "int_stripe456",
"reference_id": "order-2024-001",
"order_email": "[email protected]",
"customer_account_id": "cust-12345",
"device_ip_address": "216.24.60.142",
"items": [
{
"reference_id": "item-001",
"name": "Widget Pro",
"price_in_cents": 4500,
"quantity": 1
}
]
}
][
{
"type": "PARTIAL",
"organisation_id": "org_abc123",
"integration_id": "int_stripe456",
"reference_id": "order-2024-001",
"order_email": "[email protected]",
"customer_account_id": "cust-12345",
"device_ip_address": "216.24.60.201",
"merchant_name": "Example Corporation",
"merchant_contact_phone": "+14155551234",
"merchant_store_name": "Example Store",
"merchant_url": "https://example.com",
"items": [
{
"reference_id": "item-001",
"name": "Widget Pro",
"price_in_cents": 4500,
"quantity": 1
}
]
}
][
{
"type": "PARTIAL",
"organisation_id": "org_abc123",
"integration_id": "int_stripe456",
"reference_id": "order-2024-001",
"customer_email": "[email protected]",
"order_email": "[email protected]",
"customer_account_id": "cust-12345",
"device_ip_address": "216.24.60.58",
"device_id": "device-abc123",
"device_fingerprint": "fp-xyz789"
}
][
{
"type": "PARTIAL",
"organisation_id": "org_abc123",
"integration_id": "int_stripe456",
"reference_id": "order-2024-001",
"customer_email": "[email protected]",
"order_email": "[email protected]",
"customer_account_id": "cust-12345",
"device_ip_address": "216.24.60.229",
"device_fingerprint": "fp-xyz789"
}
][
{
"type": "COMPLETE",
"organisation_id": "org_abc123",
"integration_id": "int_custom789",
"reference_id": "order-2024-001",
"order_datetime": "2024-01-15T10:30:00Z",
"order_number": "ORD-2024-001",
"order_subtotal_amount_in_cents": 9000,
"order_currency": "USD",
"order_tax_amount_in_cents": 720,
"order_total_amount_in_cents": 9720,
"order_status": "CLOSED_COMPLETE",
"customer_email": "[email protected]",
"customer_first_name": "John",
"customer_last_name": "Doe",
"transactions": [
{
"reference_id": "txn-001",
"amount_in_cents": 9720,
"currency": "USD",
"payment_method_type": "CARD",
"authorisation_status": "SETTLED",
"payment_method_reference_id": "pm_card_abc123",
"authorised_at": "2024-01-15T10:30:05Z",
"descriptor": "EXAMPLE STORE",
"descriptor_prefix": "EXAMPLE",
"descriptor_suffix": "STORE",
"settlement_datetime": "2024-01-16T00:00:00Z",
"cvc_verified": true,
"three_d_secure_verified": true,
"acquirer_reference_number": "74027012345678901234567",
"authorisation_code": "123456",
"network_id": "network-txn-123",
"payment_method_card_brand": "VISA",
"payment_method_card_last_4": "4242",
"payment_method_card_bin": "424242",
"payment_method_card_exp_month": 12,
"payment_method_card_exp_year": 2026,
"payment_method_card_wallet_type": "APPLE_PAY",
"payment_method_card_issuer": "Chase Bank",
"billing_address": {
"line_1": "123 Main St",
"line_2": "Apt 4B",
"city": "New York",
"country_subdivision": "NY",
"postal_code": "10001",
"country": "US"
}
}
],
"refunds": [
{
"reference_id": "refund-001",
"amount_in_cents": 4500,
"currency": "USD",
"status": "SUCCEEDED",
"original_transaction_reference_id": "txn-001",
"refund_datetime": "2024-01-17T12:00:00Z"
}
],
"disputes": [
{
"reference_id": "dispute-001",
"amount_in_cents": 4500,
"currency": "USD",
"stage": "1ST_CHARGEBACK",
"status": "OPEN",
"type": "CHARGEBACK",
"network_reason_code": "10.4",
"is_rapid_dispute_resolution": false,
"evidence_due_by": "2024-02-15T23:59:59Z",
"payment_method_type": "CARD",
"card_brand": "VISA"
}
]
}
][
{
"type": "COMPLETE",
"organisation_id": "org_abc123",
"integration_id": "int_custom789",
"reference_id": "order-2024-001",
"order_datetime": "2024-01-15T10:30:00Z",
"order_number": "ORD-2024-001",
"order_subtotal_amount_in_cents": 9000,
"order_currency": "USD",
"order_tax_amount_in_cents": 720,
"order_total_amount_in_cents": 9720,
"order_status": "CLOSED_COMPLETE",
"order_phone": "+14155551234",
"order_is_adult_content": false,
"order_request_refund_url": "https://example.com/orders/ORD-2024-001/refund",
"order_buy_again_url": "https://example.com/orders/ORD-2024-001/reorder",
"order_write_review_url": "https://example.com/orders/ORD-2024-001/review",
"order_view_url": "https://example.com/orders/ORD-2024-001",
"order_proof_of_consent": "Customer agreed to Terms of Service on 2024-01-15 via checkout checkbox",
"order_communications": "Order confirmation email sent 2024-01-15. Shipping notification sent 2024-01-16.",
"customer_email": "[email protected]",
"customer_first_name": "John",
"customer_last_name": "Doe",
"customer_account_id": "[email protected]",
"order_email": "[email protected]",
"device_ip_address": "216.24.60.94",
"device_id": "device-abc123",
"device_fingerprint": "fp-xyz789",
"merchant_reference_id": "merchant-001",
"merchant_name": "Example Corporation",
"merchant_store_name": "Example Store",
"merchant_store_description": "Your one-stop shop for widgets and gadgets",
"merchant_contact_email": "[email protected]",
"merchant_customer_service_email": "[email protected]",
"merchant_contact_phone": "+14155559876",
"merchant_address": {
"line_1": "100 Commerce St",
"line_2": "Suite 500",
"line_3": "Building A",
"city": "San Francisco",
"country_subdivision": "CA",
"postal_code": "94105",
"country": "US"
},
"merchant_store_url": "https://store.example.com",
"merchant_url": "https://example.com",
"merchant_terms_and_conditions_url": "https://example.com/terms",
"merchant_logo_url": "https://example.com/logo.png",
"merchant_refund_policy_url": "https://example.com/refund-policy",
"transactions": [
{
"reference_id": "txn-001",
"amount_in_cents": 9720,
"currency": "USD",
"payment_method_type": "CARD",
"authorisation_status": "SETTLED",
"payment_method_reference_id": "pm_card_abc123",
"authorised_at": "2024-01-15T10:30:05Z",
"descriptor": "EXAMPLE STORE",
"descriptor_prefix": "EXAMPLE",
"descriptor_suffix": "STORE",
"authorisation_code": "123456",
"acquirer_reference_number": "74027012345678901234567",
"network_id": "network-txn-123",
"settlement_datetime": "2024-01-16T00:00:00Z",
"cvc_verified": true,
"three_d_secure_verified": true,
"payment_method_card_brand": "VISA",
"payment_method_card_last_4": "4242",
"payment_method_card_exp_month": 12,
"payment_method_card_exp_year": 2026,
"payment_method_card_bin": "424242",
"payment_method_card_wallet_type": "APPLE_PAY",
"payment_method_card_issuer": "Chase Bank",
"billing_address": {
"line_1": "123 Main St",
"line_2": "Apt 4B",
"city": "New York",
"country_subdivision": "NY",
"postal_code": "10001",
"country": "US"
}
}
],
"deliveries": [
{
"reference_id": "dlv-physical-001",
"type": "PHYSICAL",
"physical_shipping_carrier": "UPS",
"physical_shipping_tracking_number": "1Z999AA10123456784",
"physical_shipping_status": "DELIVERED",
"physical_shipping_datetime_shipped": "2024-01-16T08:00:00Z",
"physical_shipping_datetime_delivered": "2024-01-18T14:30:00Z",
"physical_shipping_address": {
"line_1": "123 Main St",
"line_2": "Apt 4B",
"city": "New York",
"country_subdivision": "NY",
"postal_code": "10001",
"country": "US"
}
},
{
"reference_id": "dlv-digital-001",
"type": "DIGITAL",
"digital_delivery_datetime": "2024-01-15T10:35:00Z",
"digital_download_start_datetime": "2024-01-15T10:36:00Z",
"digital_download_end_datetime": "2024-01-15T10:37:00Z",
"digital_delivery_ip_address": "216.24.60.175",
"digital_notification_sent": true,
"digital_notification_sent_datetime": "2024-01-15T10:35:00Z",
"digital_notification_method": "EMAIL"
}
],
"items": [
{
"reference_id": "item-001",
"name": "Widget Pro",
"price_in_cents": 4500,
"quantity": 2,
"product_url": "https://example.com/products/widget-pro",
"product_reference_id": "prod-widget-pro",
"sku": "WIDGET-PRO-001",
"delivery_reference_id": "dlv-physical-001"
},
{
"reference_id": "item-002",
"name": "Digital License Key",
"price_in_cents": 0,
"quantity": 1,
"product_url": "https://example.com/products/license",
"product_reference_id": "prod-license",
"sku": "LICENSE-001",
"delivery_reference_id": "dlv-digital-001",
"subscription_reference_id": "sub-001"
}
],
"refunds": [
{
"reference_id": "refund-001",
"amount_in_cents": 4500,
"currency": "USD",
"status": "SUCCEEDED",
"original_transaction_reference_id": "txn-001",
"refund_datetime": "2024-01-17T12:00:00Z"
}
],
"subscriptions": [
{
"reference_id": "sub-001",
"interval": "MONTH",
"interval_price_in_cents": 2999,
"interval_currency": "USD",
"status": "ACTIVE",
"display_name": "Pro Plan Monthly",
"trial_start_date": "2024-01-01T00:00:00Z",
"trial_end_date": "2024-01-14T23:59:59Z",
"trial_price_in_cents": 0,
"trial_currency": "USD",
"start_date": "2024-01-15T00:00:00Z",
"next_charge_date": "2024-02-15T00:00:00Z"
}
],
"disputes": [
{
"reference_id": "dispute-001",
"amount_in_cents": 4500,
"currency": "USD",
"stage": "1ST_CHARGEBACK",
"status": "OPEN",
"type": "CHARGEBACK",
"network_reason_code": "10.4",
"is_rapid_dispute_resolution": false,
"evidence_due_by": "2024-02-15T23:59:59Z",
"payment_method_type": "CARD",
"card_brand": "VISA"
}
]
}
]{
"created": 2,
"failed": 0,
"results": [
{
"id": "ord_abc123",
"reference_id": "order-001",
"type": "COMPLETE",
"organisation_id": "org_xyz",
"integration_id": "int_123",
"created_at": "2024-01-15T10:30:00Z",
"transactions": [...],
"items": [...],
...,
"links": [
{
"rel": "self",
"uri": "/v1/orders/ord_abc123"
}
]
}
],
"errors": []
}{
"created": 1,
"failed": 1,
"results": [...],
"errors": [
{
"index": 1,
"reference_id": "order-002",
"code": "DUPLICATE_ORDER",
"message": "Order with reference_id 'order-002' already exists for this integration",
"field": "reference_id"
}
]
}{
"errors": [
{
"code": "RATE_LIMITED",
"message": "Too many requests"
}
]
}{
"deliveries": [
{
"reference_id": "dlv-001",
"physical_shipping_status": "DELIVERED",
"physical_shipping_datetime_delivered": "2024-01-18T14:30:00Z"
}
]
}{
"subscriptions": [
{
"reference_id": "sub-001",
"status": "CANCELLED"
}
]
}{
"refunds": [
{
"reference_id": "ref-001",
"amount_in_cents": 5000,
"currency": "USD",
"status": "SUCCEEDED"
}
]
}{
"refunds": [
{
"reference_id": "ref-001",
"status": "SUCCEEDED"
}
]
}{
"disputes": [
{
"reference_id": "disp-001",
"stage": "1ST_CHARGEBACK",
"status": "WON"
}
]
}{
"id": "ord_abc123",
"reference_id": "order-001",
"type": "COMPLETE",
"organisation_id": "org_xyz",
"integration_id": "int_123",
"created_at": "2024-01-15T10:30:00Z",
"order_status": "CLOSED_COMPLETE",
"transactions": [...],
"deliveries": [...],
"items": [...],
"refunds": [...],
"subscriptions": [...],
"disputes": [...],
"links": [
{
"rel": "self",
"uri": "/v1/orders/ord_abc123"
}
]
}{
"errors": [
{
"code": "IMMUTABLE_FIELD",
"message": "Cannot modify amount_in_cents on existing refund"
}
]
}{
"detail": "Order with ID ord_nonexistent not found"
}