Webhooks

TransactionCloud supports integration using webhooks. You can use these webhooks with your backend or third-party systems for updating your database and triggering multiple events.

Set up Webhooks

You can define your webhook URL in the API Set up section of the production or sandbox app. Subsequently, webhooks are sent to this URL as POST requests for all future events.

Please note, our system does automatic retries of the webhook until HTTP status code 200 is received. We recommend designing the script to parse duplicate posts.

Webhook verification & security

IP Verification

You can use the IP address to verify the webhook. All webhooks will arrive from this IP:

IP Environment
5.161.71.107 Sandbox
3.211.123.73 Production

Security Tag

Additionally in order to verify incoming webhook you can use Webhook Security Tag. You can generate it in the API Set up tab in TransactionCloud Vendor Panel. It will be attached to each incoming webhook message as an HTTP Header X-TC-Security-Tag.

Available webhooks

SUBSCRIPTION_ACTIVATED

Webhook is sent after subscription activation.

Webhook application/json

id string

Unique identification for the transaction.

Example: "TC-TR_xxyyxxx"
transactionType string<transactionType>

Type of product. Possible values:

productId string

Unique product identificator.

Example: "TC-PR_yyyyxxxx"
productName string

Name of the product.

payload string | null

Encrypted custom data passed before the checkout process. It's highly recommended to encrypt this data on your end.

Requirements: <5000 characters
transactionStatus string<transactionStatus>

Current status of the transaction. Possible values:

createDate string<datetime>

Transaction create date.

Format: YYYY-MM-DDTHH:MM:SS.sZ
lastCharge string<datetime>

Date of the last successful payment.

Format: YYYY-MM-DDTHH:MM:SS.sZ
nextCharge string<datetime>

Date of the next payment.

Format: YYYY-MM-DDTHH:MM:SS.sZ
firstName string

First name of the customer.

lastName string

Last name of the customer.

organization string

Organization of the customer.

email string<email>

Email address used by the customer during purchase.

webhookId string

Unique id of the webhook. If the webhook is retried the same unique id is used again.

Example: "uSKCLf8LOGkouEY"
webhookType string

Information about type of event.

Example: "SUBSCRIPTION_ACTIVATED"
country string<countryCode>

Country where customer completed the payment.

Example: "US"
assignedEmail string<email> | null

Email address used by the customer during website sign-up. It will be null until you set it with the "Assign email" endpoint.

chargeFrequency string<chargeFrequency> | null

Frequency of charges for recurring products. Possible values:

SUBSCRIPTION_CANCELED

Webhook is sent after subscription cancellation.

Webhook application/json

id string

Unique identification for the transaction.

Example: "TC-TR_xxyyxxx"
transactionType string<transactionType>

Type of product. Possible values:

productId string

Unique product identificator.

Example: "TC-PR_yyyyxxxx"
productName string

Name of the product.

payload string | null

Encrypted custom data passed before the checkout process. It's highly recommended to encrypt this data on your end.

Requirements: <5000 characters
transactionStatus string<transactionStatus>

Current status of the transaction. Possible values:

createDate string<datetime>

Transaction create date.

Format: YYYY-MM-DDTHH:MM:SS.sZ
lastCharge string<datetime>

Date of the last successful payment.

Format: YYYY-MM-DDTHH:MM:SS.sZ
firstName string

First name of the customer.

lastName string

Last name of the customer.

organization string

Organization of the customer.

email string<email>

Email address used by the customer during purchase.

webhookId string

Unique id of the webhook. If the webhook is retried the same unique id is used again.

Example: "uSKCLf8LOGkouEY"
webhookType string

Information about type of event.

Example: "SUBSCRIPTION_ACTIVATED"
country string<countryCode>

Country where customer completed the payment.

Example: "US"
assignedEmail string<email> | null

Email address used by the customer during website sign-up. It will be null until you set it with the "Assign email" endpoint.

chargeFrequency string<chargeFrequency> | null

Frequency of charges for recurring products. Possible values:

SUBSCRIPTION_FIRST_CHARGE

Webhook is sent after subscription is charged for the first time.

Webhook application/json

id string

Unique identification for the transaction.

Example: "TC-TR_xxyyxxx"
transactionType string<transactionType>

Type of product. Possible values:

productId string

Unique product identificator.

Example: "TC-PR_yyyyxxxx"
productName string

Name of the product.

payload string | null

Encrypted custom data passed before the checkout process. It's highly recommended to encrypt this data on your end.

Requirements: <5000 characters
transactionStatus string<transactionStatus>

Current status of the transaction. Possible values:

createDate string<datetime>

Transaction create date.

Format: YYYY-MM-DDTHH:MM:SS.sZ
firstName string

First name of the customer.

lastName string

Last name of the customer.

organization string

Organization of the customer.

email string<email>

Email address used by the customer during purchase.

currency string<currency>

Currency code of the transaction.

Example: "USD"
webhookId string

Unique id of the webhook. If the webhook is retried the same unique id is used again.

Example: "uSKCLf8LOGkouEY"
webhookType string

Information about type of event.

Example: "SUBSCRIPTION_ACTIVATED"
whoCanceled string<whoCanceled> | null

Reason for cancellation in case of a canceled subscription or vaulted transaction. Possible values:

country string<countryCode>

Country where customer completed the payment.

Example: "US"
assignedEmail string<email> | null

Email address used by the customer during website sign-up. It will be null until you set it with the "Assign email" endpoint.

eventId string

Unique event number, helping to identify issues.

Example: "TC-BA_xxxyyyz"
amountTotal string

Total event amount.

taxAmount string

Total tax amount.

income string

Total income amount.

taxRate string

Tax rate for the transaction.

affiliateCommission string

Affiliate commission.

affiliateCommissionCurrency string

Currency of affiliates commission.

SUBSCRIPTION_RENEWAL

Webhook is sent after subscription is renewed.

Webhook application/json

id string

Unique identification for the transaction.

Example: "TC-TR_xxyyxxx"
transactionType string<transactionType>

Type of product. Possible values:

productId string

Unique product identificator.

Example: "TC-PR_yyyyxxxx"
productName string

Name of the product.

payload string | null

Encrypted custom data passed before the checkout process. It's highly recommended to encrypt this data on your end.

Requirements: <5000 characters
transactionStatus string<transactionStatus>

Current status of the transaction. Possible values:

createDate string<datetime>

Transaction create date.

Format: YYYY-MM-DDTHH:MM:SS.sZ
firstName string

First name of the customer.

lastName string

Last name of the customer.

organization string

Organization of the customer.

email string<email>

Email address used by the customer during purchase.

currency string<currency>

Currency code of the transaction.

Example: "USD"
webhookId string

Unique id of the webhook. If the webhook is retried the same unique id is used again.

Example: "uSKCLf8LOGkouEY"
webhookType string

Information about type of event.

Example: "SUBSCRIPTION_ACTIVATED"
whoCanceled string<whoCanceled> | null

Reason for cancellation in case of a canceled subscription or vaulted transaction. Possible values:

country string<countryCode>

Country where customer completed the payment.

Example: "US"
assignedEmail string<email> | null

Email address used by the customer during website sign-up. It will be null until you set it with the "Assign email" endpoint.

eventId string

Unique event number, helping to identify issues.

Example: "TC-BA_xxxyyyz"
amountTotal string

Total event amount.

taxAmount string

Total tax amount.

income string

Total income amount.

taxRate string

Tax rate for the transaction.

affiliateCommission string

Affiliate commission.

affiliateCommissionCurrency string

Currency of affiliates commission.

nextCharge string

Date of the next charge for the subscription.

lastCharge string

Date of the latest charge for the subscription.

chargeCount number

A number indicating the order of the payment within the subscription.

PURCHASE_OF_PRODUCT_(ONE_TIME_PAYMENT)

Webhook is sent after purchase of product.

Webhook application/json

id string

Unique identification for the transaction.

Example: "TC-TR_xxyyxxx"
transactionType string<transactionType>

Type of product. Possible values:

productId string

Unique product identificator.

Example: "TC-PR_yyyyxxxx"
productName string

Name of the product.

payload string | null

Encrypted custom data passed before the checkout process. It's highly recommended to encrypt this data on your end.

Requirements: <5000 characters
transactionStatus string<transactionStatus>

Current status of the transaction. Possible values:

createDate string<datetime>

Transaction create date.

Format: YYYY-MM-DDTHH:MM:SS.sZ
lastCharge string<datetime>

Date of the last successful payment.

Format: YYYY-MM-DDTHH:MM:SS.sZ
firstName string

First name of the customer.

lastName string

Last name of the customer.

organization string

Organization of the customer.

email string<email>

Email address used by the customer during purchase.

webhookId string

Unique id of the webhook. If the webhook is retried the same unique id is used again.

Example: "uSKCLf8LOGkouEY"
webhookType string

Information about type of event.

Example: "SUBSCRIPTION_ACTIVATED"
whoCanceled string<whoCanceled> | null

Reason for cancellation in case of a canceled subscription or vaulted transaction. Possible values:

country string<countryCode>

Country where customer completed the payment.

Example: "US"
assignedEmail string<email> | null

Email address used by the customer during website sign-up. It will be null until you set it with the "Assign email" endpoint.

chargeFrequency string<chargeFrequency> | null

Frequency of charges for recurring products. Possible values:

ONE_TIME_PAYMENT_CHARGE

Webhook is sent when one time payment is charged.

Webhook application/json

id string

Unique identification for the transaction.

Example: "TC-TR_xxyyxxx"
transactionType string<transactionType>

Type of product. Possible values:

productId string

Unique product identificator.

Example: "TC-PR_yyyyxxxx"
productName string

Name of the product.

payload string | null

Encrypted custom data passed before the checkout process. It's highly recommended to encrypt this data on your end.

Requirements: <5000 characters
transactionStatus string<transactionStatus>

Current status of the transaction. Possible values:

createDate string<datetime>

Transaction create date.

Format: YYYY-MM-DDTHH:MM:SS.sZ
firstName string

First name of the customer.

lastName string

Last name of the customer.

organization string

Organization of the customer.

email string<email>

Email address used by the customer during purchase.

currency string<currency>

Currency code of the transaction.

Example: "USD"
webhookId string

Unique id of the webhook. If the webhook is retried the same unique id is used again.

Example: "uSKCLf8LOGkouEY"
webhookType string

Information about type of event.

Example: "SUBSCRIPTION_ACTIVATED"
whoCanceled string<whoCanceled> | null

Reason for cancellation in case of a canceled subscription or vaulted transaction. Possible values:

country string<countryCode>

Country where customer completed the payment.

Example: "US"
assignedEmail string<email> | null

Email address used by the customer during website sign-up. It will be null until you set it with the "Assign email" endpoint.

eventId string

Unique event number, helping to identify issues.

Example: "TC-BA_xxxyyyz"
amountTotal string

Total event amount.

taxAmount string

Total tax amount.

income string

Total income amount.

taxRate string

Tax rate for the transaction.

affiliateCommission string

Affiliate commission.

affiliateCommissionCurrency string

Currency of affiliates commission.

REFUND

Webhook is sent after a refund.

Webhook application/json

id string

Unique identification for the transaction.

Example: "TC-TR_xxyyxxx"
transactionType string<transactionType>

Type of product. Possible values:

productId string

Unique product identificator.

Example: "TC-PR_yyyyxxxx"
productName string

Name of the product.

payload string | null

Encrypted custom data passed before the checkout process. It's highly recommended to encrypt this data on your end.

Requirements: <5000 characters
transactionStatus string<transactionStatus>

Current status of the transaction. Possible values:

createDate string<datetime>

Transaction create date.

Format: YYYY-MM-DDTHH:MM:SS.sZ
firstName string

First name of the customer.

lastName string

Last name of the customer.

organization string

Organization of the customer.

email string<email>

Email address used by the customer during purchase.

currency string<currency>

Currency code of the transaction.

Example: "USD"
webhookId string

Unique id of the webhook. If the webhook is retried the same unique id is used again.

Example: "uSKCLf8LOGkouEY"
webhookType string

Information about type of event.

Example: "SUBSCRIPTION_ACTIVATED"
whoCanceled string<whoCanceled> | null

Reason for cancellation in case of a canceled subscription or vaulted transaction. Possible values:

country string<countryCode>

Country where customer completed the payment.

Example: "US"
assignedEmail string<email> | null

Email address used by the customer during website sign-up. It will be null until you set it with the "Assign email" endpoint.

eventId string

Unique event number, helping to identify issues.

Example: "TC-BA_xxxyyyz"
amountTotal string

Total event amount.

taxAmount string

Total tax amount.

income string

Total income amount.

taxRate string

Tax rate for the transaction.

affiliateCommission string

Affiliate commission.

affiliateCommissionCurrency string

Currency of affiliates commission.

CHARGEBACK

Webhook is sent after a chargeback.

Webhook application/json

id string

Unique identification for the transaction.

Example: "TC-TR_xxyyxxx"
transactionType string<transactionType>

Type of product. Possible values:

productId string

Unique product identificator.

Example: "TC-PR_yyyyxxxx"
productName string

Name of the product.

payload string | null

Encrypted custom data passed before the checkout process. It's highly recommended to encrypt this data on your end.

Requirements: <5000 characters
transactionStatus string<transactionStatus>

Current status of the transaction. Possible values:

createDate string<datetime>

Transaction create date.

Format: YYYY-MM-DDTHH:MM:SS.sZ
firstName string

First name of the customer.

lastName string

Last name of the customer.

organization string

Organization of the customer.

email string<email>

Email address used by the customer during purchase.

currency string<currency>

Currency code of the transaction.

Example: "USD"
webhookId string

Unique id of the webhook. If the webhook is retried the same unique id is used again.

Example: "uSKCLf8LOGkouEY"
webhookType string

Information about type of event.

Example: "SUBSCRIPTION_ACTIVATED"
whoCanceled string<whoCanceled> | null

Reason for cancellation in case of a canceled subscription or vaulted transaction. Possible values:

country string<countryCode>

Country where customer completed the payment.

Example: "US"
assignedEmail string<email> | null

Email address used by the customer during website sign-up. It will be null until you set it with the "Assign email" endpoint.

eventId string

Unique event number, helping to identify issues.

Example: "TC-BA_xxxyyyz"
amountTotal string

Total event amount.

taxAmount string

Total tax amount.

income string

Total income amount.

taxRate string

Tax rate for the transaction.

affiliateCommission string

Affiliate commission.

affiliateCommissionCurrency string

Currency of affiliates commission.

VAULTED_SUBSCRIPTION_ACTIVATED

Webhook is sent after a vaulted subscription activated.

Webhook application/json

id string

Unique identification for the transaction.

Example: "TC-TR_xxyyxxx"
transactionType string<transactionType>

Type of product. Possible values:

productId string

Unique product identificator.

Example: "TC-PR_yyyyxxxx"
productName string

Name of the product.

payload string | null

Encrypted custom data passed before the checkout process. It's highly recommended to encrypt this data on your end.

Requirements: <5000 characters
transactionStatus string<transactionStatus>

Current status of the transaction. Possible values:

createDate string<datetime>

Transaction create date.

Format: YYYY-MM-DDTHH:MM:SS.sZ
firstName string

First name of the customer.

lastName string

Last name of the customer.

organization string

Organization of the customer.

email string<email>

Email address used by the customer during purchase.

currency string<currency>

Currency code of the transaction.

Example: "USD"
webhookId string

Unique id of the webhook. If the webhook is retried the same unique id is used again.

Example: "uSKCLf8LOGkouEY"
webhookType string

Information about type of event.

Example: "SUBSCRIPTION_ACTIVATED"
whoCanceled string<whoCanceled> | null

Reason for cancellation in case of a canceled subscription or vaulted transaction. Possible values:

country string<countryCode>

Country where customer completed the payment.

Example: "US"
assignedEmail string<email> | null

Email address used by the customer during website sign-up. It will be null until you set it with the "Assign email" endpoint.

eventId string

Unique event number, helping to identify issues.

Example: "TC-BA_xxxyyyz"
amountTotal string

Total event amount.

taxAmount string

Total tax amount.

income string

Total income amount.

taxRate string

Tax rate for the transaction.

affiliateCommission string

Affiliate commission.

affiliateCommissionCurrency string

Currency of affiliates commission.

VAULTED_SUBSCRIPTION_DEACTIVATED

Webhook is sent after a vaulted subscription deactivated.

Webhook application/json

id string

Unique identification for the transaction.

Example: "TC-TR_xxyyxxx"
transactionType string<transactionType>

Type of product. Possible values:

productId string

Unique product identificator.

Example: "TC-PR_yyyyxxxx"
productName string

Name of the product.

payload string | null

Encrypted custom data passed before the checkout process. It's highly recommended to encrypt this data on your end.

Requirements: <5000 characters
transactionStatus string<transactionStatus>

Current status of the transaction. Possible values:

createDate string<datetime>

Transaction create date.

Format: YYYY-MM-DDTHH:MM:SS.sZ
firstName string

First name of the customer.

lastName string

Last name of the customer.

organization string

Organization of the customer.

email string<email>

Email address used by the customer during purchase.

currency string<currency>

Currency code of the transaction.

Example: "USD"
webhookId string

Unique id of the webhook. If the webhook is retried the same unique id is used again.

Example: "uSKCLf8LOGkouEY"
webhookType string

Information about type of event.

Example: "SUBSCRIPTION_ACTIVATED"
whoCanceled string<whoCanceled> | null

Reason for cancellation in case of a canceled subscription or vaulted transaction. Possible values:

country string<countryCode>

Country where customer completed the payment.

Example: "US"
assignedEmail string<email> | null

Email address used by the customer during website sign-up. It will be null until you set it with the "Assign email" endpoint.

eventId string

Unique event number, helping to identify issues.

Example: "TC-BA_xxxyyyz"
amountTotal string

Total event amount.

taxAmount string

Total tax amount.

income string

Total income amount.

taxRate string

Tax rate for the transaction.

affiliateCommission string

Affiliate commission.

affiliateCommissionCurrency string

Currency of affiliates commission.