The TransactionCloud API uses API login and API password to authenticate all requests with the Authorization HTTP header.
You can find these details in the API Set up page in your Vendor Panel.
The TransactionCloud API uses API login and API password to authenticate all requests with the Authorization HTTP header.
You can find these details in the API Set up page in your Vendor Panel.
Keep your API credentials secure and don't expose it publicly.
You have to attach the header below to all API calls.
Authorization: API_LOGIN:API_PASSWORD
You must replace API_LOGIN:API_PASSWORD with your personal API credentials.
Please remember that sandbox and production environment have separate credentials.
Our API return HTTP responses with error codes in case of invalid request, missing data, failed authorization and in other unexpected cases. In some cases, JSON body with an error explanation will be available.
Code | Status |
---|---|
400 |
Invalid input data
error
string
Error name. Example: "Price in USD is required"
message
string
Issue description with potential fix. Example: "Please add missing USD price value" |
401 | Authorization issue |
404 | Resource not found |
500 | Fatal system error |
503 | System temporary unavailable |
API URL
https://api.transaction.cloud/
Sandbox API URL
https://sandbox-api.transaction.cloud/
In all examples below, the Sandbox API is used by default.
Generates all transactions for customer by email.
GET https://sandbox-api.transaction.cloud/v1/generate-url-to-manage-transactions/{customerEmail}
Schema
Email address used by the customer during purchase.
Example: "test@domain.com"Example
Example request (cURL):
curl --request GET https://sandbox-api.transaction.cloud/v1/generate-url-to-manage-transactions/{customerEmail} \ --header 'Authorization: API_LOGIN:API_PASSWORD'
Schema
Address URL.
Generates a temporary URL address to embed the Plug-in tool on your website using an iframe.
GET https://sandbox-api.transaction.cloud/v1/generate-url-to-admin
Example
Example request (cURL):
curl --request GET https://sandbox-api.transaction.cloud/v1/generate-url-to-admin \ --header 'Authorization: API_LOGIN:API_PASSWORD'
Schema
Address URL.
Retrieves all transactions by email.
GET https://sandbox-api.transaction.cloud/v1/transactions/{email}
Schema
Email address used by the customer during purchase.
Example: "test@domain.com"Example
Example request (cURL):
curl --request GET https://sandbox-api.transaction.cloud/v1/transactions/test@domain.com \ --header 'Authorization: API_LOGIN:API_PASSWORD'
Schema
Unique identification for the transaction.
Example: "TC-TR_xxyyxxx"Transaction create date.
Format: YYYY-MM-DDTHH:MM:SS.sZEmail address used by the customer during purchase.
Email address used by the customer during website sign-up. It will be null until you set it with the "Assign email" endpoint.
Unique product identificator.
Example: "TC-PR_yyyyxxxx"Name of the product.
Type of product. Possible values:
Current status of the transaction. Possible values:
Frequency of charges for recurring products. Possible values:
Country where customer completed the payment.
Example: "US"Date of the last successful payment.
Format: YYYY-MM-DDTHH:MM:SS.sZDate of the next payment.
Format: YYYY-MM-DDTHH:MM:SS.sZEncrypted custom data passed before the checkout process. It's highly recommended to encrypt this data on your end.
Requirements: <5000 charactersReason for cancellation in case of a canceled subscription or vaulted transaction. Possible values:
Net price.
Net price.
Net price in USD.
Net price in USD.
Tax amount.
Tax amount.
Currency code of the transaction.
Example: "USD"Retrieves transaction by ID.
GET https://sandbox-api.transaction.cloud/v1/transaction/{transaction-id}
Schema
Unique identification for the transaction.
Example: "TC-TR_xxyyxxx"Example
Example request (cURL):
curl --request GET https://sandbox-api.transaction.cloud/v1/transaction/TC-TR_xxyyxxx \ --header 'Authorization: API_LOGIN:API_PASSWORD'
Schema
Unique identification for the transaction.
Example: "TC-TR_xxyyxxx"Date of transaction creation.
Format: YYYY-MM-DDTHH:MM:SS.sZEmail address used by the customer during purchase.
Email address used by the customer during website sign-up. It will be null until you set it with the "Assign email" endpoint.
Unique product identificator.
Example: "TC-PR_yyyyxxxx"Name of the product.
Type of product. Possible values:
Current status of the transaction. Possible values:
Frequency of charges for recurring products. Possible values:
Country where customer completed the payment.
Example: "US"Date of the last successful payment.
Format: YYYY-MM-DDTHH:MM:SS.sZEncrypted custom data passed before the checkout process. It's highly recommended to encrypt this data on your end.
Requirements: <5000 charactersReason for cancellation in case of a canceled subscription or vaulted transaction. Possible values:
Net price.
Net price.
Net price in USD.
Net price in USD.
Tax amount.
Tax amount.
Currency code of the transaction.
Example: "USD"Transaction entries.
TransactionEntry
Unique identification for the transaction entry.
Example: "TC-BA_xxyyxxx"Transaction entry type. Possible values:
Date of entry creation.
Format: YYYY-MM-DDTHH:MM:SS.sZTotal tax amount.
Total income amount.
Income currency.
Example: "USD"Tax rate for the transaction.
Currency code of the transaction.
Example: "USD"Total event amount.
Total affiliate income.
Affiliate income currency.
Example: "USD"Customer's updated email address is stored in the transaction's 'assignEmail' field. The original email address provided by the customer in the payment form remains in the 'email' field and is not editable. After using this endpoint, the 'assignEmail' field will have a higher priority over the 'email' field throughout the system. This endpoint helps you maintain a seamless connection between transactions and customer profiles in your system.
POST https://sandbox-api.transaction.cloud/v1/transaction/{transaction-id}
Schema
Unique identification for the transaction.
Example: "TC-TR_xxyyxxx"Schema
Assign an email address for a customer.
Example: "assignedEmail@domain.com"Example
Example request (cURL):
curl --request POST https://sandbox-api.transaction.cloud/v1/transaction/TC-TR_xxyyxxx \ --header 'Authorization: API_LOGIN:API_PASSWORD' \ --header 'Content-Type: application/json' \ --data '{"assignEmail":"assignedEmail@domain.com"}'
Schema
Assign an email address for a customer.
Example: "assignedEmail@domain.com"Frequency of charges for recurring products. Possible values:
Country where customer completed the payment.
Example: "US"Transaction create date.
Format: YYYY-MM-DDTHH:MM:SS.sZEmail address used by the customer during purchase.
Unique identification for the transaction.
Example: "TC-TR_xxyyxxx"Date of the last successful payment.
Format: YYYY-MM-DDTHH:MM:SS.sZEncrypted custom data passed before the checkout process. It's highly recommended to encrypt this data on your end.
Requirements: <5000 charactersUnique product identificator.
Example: "TC-PR_yyyyxxxx"Name of the product.
Current status of the transaction. Possible values:
Type of product. Possible values:
Net price.
Net price.
Net price in USD.
Net price in USD.
Tax amount.
Tax amount.
Reason for cancellation in case of a canceled subscription or vaulted transaction. Possible values:
Update payload saved in transaction.
POST https://sandbox-api.transaction.cloud/v1/transaction/{transaction-id}
Schema
Unique identification for the transaction.
Example: "TC-TR_xxyyxxx"Schema
Encrypted custom data passed before the checkout process. It's highly recommended to encrypt this data on your end.
Example: "example custom data string" Requirements: <5000 charactersExample
Example request (cURL):
curl --request POST https://sandbox-api.transaction.cloud/v1/transaction/TC-TR_xxyyxxx \ --header 'Authorization: API_LOGIN:API_PASSWORD' \ --header 'Content-Type: application/json' \ --data '{"payload":"example custom data string"}'
Schema
Assign an email address for a customer.
Example: "assignedEmail@domain.com"Frequency of charges for recurring products. Possible values:
Country where customer completed the payment.
Example: "US"Transaction create date.
Format: YYYY-MM-DDTHH:MM:SS.sZEmail address used by the customer during purchase.
Unique identification for the transaction.
Example: "TC-TR_xxyyxxx"Date of the last successful payment.
Format: YYYY-MM-DDTHH:MM:SS.sZEncrypted custom data passed before the checkout process. It's highly recommended to encrypt this data on your end.
Requirements: <5000 charactersUnique product identificator.
Example: "TC-PR_yyyyxxxx"Name of the product.
Current status of the transaction. Possible values:
Type of product. Possible values:
Net price.
Net price.
Net price in USD.
Net price in USD.
Tax amount.
Tax amount.
Reason for cancellation in case of a canceled subscription or vaulted transaction. Possible values:
Cancel subscription by transaction id.
POST https://sandbox-api.transaction.cloud/v1/cancel-subscription/{transaction-id}
Schema
Unique identification for the transaction.
Example: "TC-TR_xxyyxxx"Example
Example request (cURL):
curl --request POST https://sandbox-api.transaction.cloud/v1/cancel-subscription/TC-TR_xxyyxxx \ --header 'Authorization: API_LOGIN:API_PASSWORD'
Refund payment by transaction-id.
POST https://sandbox-api.transaction.cloud/v1/refund-transaction/{transaction-id}
Schema
Unique identification for the transaction.
Example: "TC-TR_xxyyxxx"Example
Example request (cURL):
curl --request POST https://sandbox-api.transaction.cloud/v1/refund-transaction/TC-TR_xxyyxxx \ --header 'Authorization: API_LOGIN:API_PASSWORD'
Retrieve transactions with recently changed status for processing. After processing each of them, you can mark them as processed with this request. When you execute the ‘Get transactions with changed status’ request again, only unprocessed transactions will be retrieved.
GET https://sandbox-api.transaction.cloud/v1/changed-transactions
Example
Example request (cURL):
curl --request GET https://sandbox-api.transaction.cloud/v1/changed-transactions \ --header 'Authorization: API_LOGIN:API_PASSWORD'
Schema
Assign an email address for a customer.
Example: "assignedEmail@domain.com"Changed status possible values:
Frequency of charges for recurring products. Possible values:
Country where customer completed the payment.
Example: "US"Transaction create date.
Format: YYYY-MM-DDTHH:MM:SS.sZEmail address used by the customer during purchase.
Unique identification for the transaction.
Example: "TC-TR_xxyyxxx"Date of the last successful payment.
Format: YYYY-MM-DDTHH:MM:SS.sZDate of the next payment.
Format: YYYY-MM-DDTHH:MM:SS.sZEncrypted custom data passed before the checkout process. It's highly recommended to encrypt this data on your end.
Requirements: <5000 charactersUnique product identificator.
Example: "TC-PR_yyyyxxxx"Name of the product.
Current status of the transaction. Possible values:
Type of product. Possible values:
Reason for cancellation in case of a canceled subscription or vaulted transaction. Possible values:
After processing transactions with recently changed status, use this endpoint to mark each of them as processed. When you execute the ‘Get transactions with changed status’ request again, only unprocessed transactions will be retrieved.
POST https://sandbox-api.transaction.cloud/v1/changed-transactions/{transaction-id}
Schema
Unique identification for the transaction.
Example: "TC-TR_xxyyxxx"Example
Example request (cURL):
curl --request POST https://sandbox-api.transaction.cloud/v1/changed-transactions/TC-TR_xxyyxxx \ --header 'Authorization: API_LOGIN:API_PASSWORD'
Allows to customize products on demand, generate new customized product IDs, and link them to payment. IDs of customized products can be used for payments or inside a widget.
POST https://sandbox-api.transaction.cloud/v1/customize-product/{product-id}
Schema
Unique product identificator.
Example: "TC-PR_yyyyxxxx"Schema
List of prices. USD is mandatory! If the provided currency is not available, it will be converted from USD.
Example: "[{"currency":"USD", "value" :500.00}]"Price
Currency code of the transaction.
Example: "USD"Net price.
Example: "500"Customized product description. If not provided, the original description of the product will be used.
Example: "description of customized product"If provided, the custom payload will override the payload provided from the widget.
Example: "payload example" Requirements: <5000 charactersID of the transaction to be upgraded or downgraded. Prorate will be calculated based on the remaining time from the subscription and its value. The first charge of the new subscription will be delayed based on the prorate value. The migrated transaction must be an active subscription.
Example: "TC-TR_XXXYYZZ"Number of SECONDS after the customized product will expire.
Example: "3600"First name of the user for whom the customized product is dedicated.
Example: "Pawel"Last name of the user for whom the customized product is dedicated.
Example: "Bergmann"Email of the user for whom the customized product is dedicated. Editing in the payment panel won't be possible.
Example: "pawel@gmail.com"Example
Example request (cURL):
curl --request POST https://sandbox-api.transaction.cloud/v1/customize-product/TC-PR_yyyyxxxx \ --header 'Authorization: API_LOGIN:API_PASSWORD' \ --header 'Content-Type: application/json' \ --data '{"prices":"[{\"currency\":\"USD\", \"value\" :500.00}]","description":"description of customized product","payload":"payload example","transactionIdToMigrate":"TC-TR_XXXYYZZ","expiresIn":3600,"userFirstName":"Pawel","userLastName":"Bergmann","userMail":"pawel@gmail.com"}'
Schema
URL address with personalized payment.
ID of the personalized product.
Charge vaulted customers based on the given price for SaaS services.
POST https://sandbox-api.transaction.cloud/v1/charge-vaulted/{transaction-id}
Schema
Unique identification for the transaction.
Example: "TC-TR_xxyyxxx"Schema
List of prices. USD is mandatory! If the provided currency is not available, it will be converted from USD.
Example: "[{"currency":"USD", "value" :500.00}]"Price
Currency code of the transaction.
Example: "USD"Net price.
Example: "500"Description of the charge. Software or service description. It will be visible on the invoice.
Example: "SaaS description"Example
Example request (cURL):
curl --request POST https://sandbox-api.transaction.cloud/v1/charge-vaulted/TC-TR_xxyyxxx \ --header 'Authorization: API_LOGIN:API_PASSWORD' \ --header 'Content-Type: application/json' \ --data '{"prices":"[{\"currency\":\"USD\", \"value\" :500.00}]","chargeDescription":"SaaS description"}'
Schema
Currency code of the transaction.
Example: "USD"Information about the activity of vaulted payments.
Price.
Price.
Tax amount.
Tax amount.
Net price.
Net price.
Payment status for vaulted transactions.
Example: "SUCCESS"Check if your licence have been granted.
GET https://sandbox-api.transaction.cloud/v1/check-licence/{productId}/{licence}
Schema
Unique product identificator.
Example: "TC-PR_yyyyxxxx"Licence provided by client
Example: "LICE-ENCE-HERE"Example
Example request (cURL):
curl --request GET https://sandbox-api.transaction.cloud/v1/check-licence/TC-PR_yyyyxxxx/LICE-ENCE-HERE \ --header 'Authorization: API_LOGIN:API_PASSWORD'
Schema
Status of provided licence