Configuration

Clients can configure individual webhook URLs per event type at Paysight Account Settings

Available Event Types

Event TypeDescription
New TransactionTriggered when a new billing event occurs (authorize, sale, refund, chargeback, or alert).
Updated TransactionTriggered when an existing authorized transaction is captured or cancelled. The status, statusId and completed fields will be updated. Please note: You will not receive an updated transaction for transactions that are refunded / charged back. You will receive these in the New Transaction event webhook as they are a separate transaction but can be linked back to the original tranaction (see above)
New SubscriptionTriggered when a new customer subscription is created.
Cancelled SubscriptionTriggered when a subscription is cancelled.
Chargeback AlertRaw unmatched chargeback alerts from mitigation provider.
ChargebackRaw unmatched chargeback records reported against the client.

For New Transaction event type, the important properties are:

  • transactionId
  • orderId
  • originalTransactionId - if the transaction is a Refund, Chargeback Alert or Chargeback then the OriginalTranactionId will be provided which references the tranaction that was refunded/charged back These transactions can be identfied via the applicationId property listed below and will have a negative amount value:
    • Refund - applicationId = 200
    • Chargeback - applicationId = 201
    • Chargeback Alert - applicationId = 202

Delivery & Performance

  • Batch Delivery: Webhooks are sent as arrays of event objects.
  • Response Time: Your server must respond with HTTP 200 OK within 2 seconds.
  • No Inline Processing: Please queue events for asynchronous processing.

Payload Structure

New Transaction / Updated Transaction

[
    {
      "gateway": "NMI",
      "transactionId": "90a0bbed-752a-4445-8112-b44de14a865c",
      "orderId": 193777233,
      "sent": "2025-06-18T16:01:04",
      "email": "johnsmith@hotmail.com",
      "sandbox": false,
      "applicationId": 6,
      "status": "None",
      "statusId": 0,
      "success": false,
      "completed": "2025-06-18T16:01:04",
      "currency": "USD",
      "amount": 0,
      "mid": "56220000192222",
      "descriptor": "genericthing.com",
      "customerId": 39306678,
      "authCode": "",
      "gatewayTransactionId": "",
      "firstName": "John",
      "lastName": "Smith",
      "bin": "468831",
      "last4": "9471",
      "refunded": false,
      "refundable": false,
      "hasAlert": false,
      "chargedBack": false,
      "application": "Sub Start",
      "applicationId2": 216,
      "application2": "Opt In",
      "shopId": 0,
      "storeName": "",
      "storeDomain": "",
      "storeRootDomain": "",
      "merchantAccountId": 830,
      "midName": "US - Generic Merchant - CBCal",
      "companyId": 182,
      "company": "Acme Limited",
      "parentCompanyId": 981,
      "subscriptionId": 8402,
      "subscription": "Acme Subscription",
      "refundSourceId": 0,
      "alertTypeId": 0,
      "alertSourceId": 0,
      "submitOrderId": 193777261,
      "alertSource": "Unassigned",
      "alertType": "Unassigned",
      "refundSource": "Unassigned",
      "binCountry": "US",
      "ipCountry": "US",
      "campaignId": 0,
      "campaign": "None/Unassigned",
      "affiliateId": 0,
      "affiliate": "None",
      "productId": 8469,
      "product": "Acme Main Landing Page",
      "paymentNumber": 0,
      "attempt": 1,
      "originalTransactionId": null
    }
]

Field Descriptions for Transaction Events

gateway
string

NMI/Payon/EmerchantPay etc

transactionId
string

Paysight’s unique identifier for the transaction (also referred to as messageId)

orderId
number

The unique order refrerence to which the transaction relates. This will match the orderId returned in the original widget/card submit response

sent
string

Timestamp in GMT when transaction was initiated

email
string

User Email address

sandbox
boolean

Indicates if transaction was simulated (sandbox=true) or real (sandbox=false)

applicationId
number

Paysight’s unique identifier of the transaction type

status
string

Status of the transaction

statusId
number

Paysight’s unique identifier of the status of the transaction

success
boolean

Indicates if the billing event was successful (fully captured funds or successful refund etc)

completed
string

Timestamp in GMT when transaction was finalized

currency
string

Transaction currency (e.g ‘USD’)

amount
number

Transaction amount (e.g 9.99)

mid
string

Merchant Account Identifier

descriptor
string

Merchant Account Descriptor

customerId
number

Paysight Customer Id

authCode
string

Gateway Authorization code

gatewayTransactionId
string

Gateway Transaction Id

firstName
string

Customer First Name

lastName
string

Customer Last Name

bin
string

Card Bin (first 6 digits)

last4
string

Card Last 4 digits

refunded
boolean

Indicates if Transaction has been refunded

refundable
boolean

Indicates if Transaction is refundable

hasAlert
boolean

Indicates if Transaction has a related Charegack alert

chargedBack
boolean

Indicates if Transaction was charged back

application
string

Paysight Transaction Type

applicationId2
number

Paysight Transaction Type 2 (classifies transactions in a similar way to above with some specific differences. Speak to support team for more info)

application2
string

Identifier for above. Speak to support team for more info)

shopId
number

Shopify Store Id (if applicable)

storeName
string

Shopify Store Name (if applicable)

storeDomain
string

Shopify Store Domain (if applicable)

storeRootDomain
string

Shopify Store Root Domain (if applicable)

merchantAccountId
number

Paysight Identifier for Merchant Account

midName
string

MID Name/Title/Description

companyId
number

Merchant Account Company Identifier

company
string

Merchant Account Company

parentCompanyId
number

Paysight Tenant Identifier (ClientId)

subscriptionId
number

Paysight Subscription Identifier

subscription
string

Paysight Subscription Name

refundSourceId
number

Identifier for Refund Source (if applicable)

alertTypeId
number

Identifier for Alert Type (if applicable)

alertSourceId
number

Identifier for Alert Source (if applicable)

submitOrderId
number

Unique identifier of Card Submit event

alertSource
string

Chargeback Mitigation Provider (e.g Kount)

alertType
string

Chargeback Alert Type, e.g RDR, Ethoca, CDRN

refundSource
string

Source of Refund (if applicable) e.g Alert Related, Customer Service etc

binCountry
string

Country Code associated with issuing Bin

ipCountry
string

Country code associated with user IP address (from original session)

campaignId
number

Paysight unique identifier for Client’s campaign

campaign
string

Client’s campaign

affiliateId
number

Paysight unique identifier for Client’s traffic source/affiliate

affiliate
string

Client’s traffic source/affilia

productId
number

Paysight unique identifier for Product, which is the entry point and determines how a user should be handled

product
string

The Product contains the settings that determine how a user is handled/charged when they interact with Paysight via the Payment Widget / Card Submit API

paymentNumber
number

Paysight Billing Cycle. Indicates the number of payments that the user has made on the applicable subscription. e.g 4 = User has made 3 previous payments before this one

attempt
number

attempt=1 is the first natural attempt. attempt=2 is the first retry. attempt=3 is the 2nd retry etc.

originalTransactionId
string

For refunds, chargebacks and chargeback alerts this is the reference to related transaction

New Subscription / Cancelled Subscription

[
    {
        "parentCompanyId": 106,
        "companyId": 125,
        "company": "Acme Corp Inc",
        "mid": "502231321321",
        "descriptor": "FitnessForAll.com",
        "subscriberId": 521254582,
        "customerId": 5898542245,
        "subDate": "2025-05-23T01:16:23",
        "unsubDate": "2025-06-19T10:24:53",
        "orderId": 85422140,
        "active": false,
        "unsubscribeOrderId": 0,
        "email": "jack@whitestripes.com",
        "subscriptionId": 8402,
        "subscription": "Generic Fitness Subscription",
        "productId": 8469,
        "product": "Fitness Landing Page 1",
        "frozen": false,
        "crossSale": false,
        "unsubscribeSource": "ChargebackAlert"
    }
]

Field Descriptions for Subscription Events

parentCompanyId
number

Paysight Tenant Identifier (ClientId)

companyId
number

Identifier for Merchant Account Company

company
string

Merchant Account Company

mid
string

Merchant Account Identifier

descriptor
string

MID Descriptor

subscriberId
number

Unique identifier for the customer’s specific subscription

customerId
number

Unique identifier for the customer

subDate
string (ISO 8601)

Timestamp in GMT when the user was subscribed

unsubDate
string (ISO 8601)

Timestamp in GMT when the user unsubscribed/cancelled

orderId
number

The unique order refrerence to which the transaction relates. This will match the orderId returned in the original widget/card submit response

active
boolean

True if the user has not yet cancelled or been unsubscribed

unsubscribeOrderId
number

Unique identifier for the unsubscribe event (null if user has not yet unsubscribed)

email
string

Customer Email

subscriptionId
number

Unique identifier for the Subscription (service) on Paysight

subscription
string

Name of the Subscription (service) on Paysight

productId
number

Paysight unique identifier for Product, which is the entry point and determines how a user should be handled

product
string

The Product contains the settings that determine how a user is handled/charged when they interact with Paysight via the Payment Widget / Card Submit API

frozen
boolean

True if Paysight is no longer attempting to bill the customer (this will happen after retry strategies have been exhausted or specifc hard declines)

crossSale
boolean

Indicates if user was added to the subscription as a cross sale (from another subscription)

unsubscribeSource
string

Indicates how the user was unsubscribed. Values are:

  • ChargebackAlert
  • CustomerService

Chargeback Alert

The Chargeback Alert event webhook will provide a uniform feed of all chargeback alerts. This is still under development

[
    {
        // TBD
    }
]
Still in progress, stay tuned for more updates.

Chargeback

The Chargeback event webhook will provide a uniform feed of all chargeback alerts. This is still under development

[
    {
        // TBD
    }
]
Still in progress, stay tuned for more updates.

Best Practices

  • Always respond with HTTP 200 OK within 2 seconds.
  • Do not process payloads inline—queue them for background processing.
  • Log webhook events and delivery statuses.