PHPackages                             parthenon/transaction-cloud - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. parthenon/transaction-cloud

ActiveLibrary[API Development](/categories/api)

parthenon/transaction-cloud
===========================

A PHP Library to provide integration with transaction.cloud

v0.2(3y ago)13.1kMITPHPPHP ^7.4 || ^8.0

Since Sep 29Pushed 3y agoCompare

[ Source](https://github.com/getparthenon/transaction-cloud)[ Packagist](https://packagist.org/packages/parthenon/transaction-cloud)[ RSS](/packages/parthenon-transaction-cloud/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (9)Versions (3)Used By (0)

Transaction.Cloud PHP SDK
=========================

[](#transactioncloud-php-sdk)

This is a library to provide integration to the [Transaction.cloud](https://hosted.transaction.cloud/ref/6HBUF3G5) payment provider system.

[Transaction.cloud](https://hosted.transaction.cloud/ref/6HBUF3G5) is a reseller payment provider. Where it acts as the merchant of record instead of yourself. This means they handle all the legal paperwork required for the actual sale and you just get the money without all the headaches.

Getting Started
---------------

[](#getting-started)

```
composer require parthenon/transaction-cloud symfony/http-client nyholm/psr7
```

```
$transactionCloud = new \TransactionCloud\TransactionCloud::create("api_key", "api_key_password");

// and if you want to use the sandbox

$transactionCloud = new \TransactionCloud\TransactionCloud::create("api_key", "api_key_password", true);
```

Examples
--------

[](#examples)

### Get Url To Manage Transactions

[](#get-url-to-manage-transactions)

[API Docs](https://app.transaction.cloud/api-docs/#retrieve-url-to-manage-transactions)

```
$transactionCloud = new \TransactionCloud\TransactionCloud::create("api_key", "api_key_password");
$url = $transactionCloud->getUrlToManageTransactions("iain.cambridge@example.org");
```

### Get URL to Admin Dashboard

[](#get-url-to-admin-dashboard)

[API Docs](https://app.transaction.cloud/api-docs/#retrieve-url-of-hosted-admin-app)

```
$transactionCloud = new \TransactionCloud\TransactionCloud::create("api_key", "api_key_password");
$url = $transactionCloud->getUrlToAdmin();
```

### Retrieve Transactions By Email

[](#retrieve-transactions-by-email)

[API Docs](https://app.transaction.cloud/api-docs/#retrieve-transactions-by-email)

```
$transactionCloud = new \TransactionCloud\TransactionCloud::create("api_key", "api_key_password");
$transactions = $transactionCloud->getTransactionsByEmail("iain.cambridge@example.org");

/** @var $transaction \TransactionCloud\Model\Transaction **/
foreach ($transactions as $transaction) {
    // Do something with transaction
}
```

### Retrieve Transaction By Transaction ID

[](#retrieve-transaction-by-transaction-id)

[API Docs](https://app.transaction.cloud/api-docs/#retrieve-transaction-by-transaction-id)

```
$transactionCloud = new \TransactionCloud\TransactionCloud::create("api_key", "api_key_password");
$transaction = $transactionCloud->getTransactionById("TC-TR_xxyyxxx");

// do something with transaction.
```

### Assign Email Address By Transaction Id

[](#assign-email-address-by-transaction-id)

[API Docs](https://app.transaction.cloud/api-docs/#assign-email-address-by-transaction-id)

```
$transactionCloud = new \TransactionCloud\TransactionCloud::create("api_key", "api_key_password");
$success = $transactionCloud->assignTransactionToEmail("TC-TR_xxyyxxx", "new.iain@example.org");
```

### Cancel Subscription

[](#cancel-subscription)

[API Docs](https://app.transaction.cloud/api-docs/#cancel-subscription)

```
$transactionCloud = new \TransactionCloud\TransactionCloud::create("api_key", "api_key_password");
$success = $transactionCloud->cancelSubscription("TC-TR_xxyyxxx");
```

### Refund Transaction

[](#refund-transaction)

[API Docs](https://app.transaction.cloud/api-docs/#refund-transaction)

```
$transactionCloud = new \TransactionCloud\TransactionCloud::create("api_key", "api_key_password");
$refundData = $transactionCloud->refundTransaction("TC-TR_xxyyxxx");
```

### Retrieve Transactions With Changed Status

[](#retrieve-transactions-with-changed-status)

[API Docs](https://app.transaction.cloud/api-docs/#retrieve-transactions-with-changed-status)

```
$transactionCloud = new \TransactionCloud\TransactionCloud::create("api_key", "api_key_password");
$transactions = $transactionCloud->fetchChangedTransactions();

/** @var $transaction \TransactionCloud\Model\ChangedTransaction **/
foreach ($transactions as $transaction) {
    // Do something with transaction
}
```

### Marking Transaction As Processed

[](#marking-transaction-as-processed)

[API Docs](https://app.transaction.cloud/api-docs/#marking-transactions-as-processed)

```
$transactionCloud = new \TransactionCloud\TransactionCloud::create("api_key", "api_key_password");
$success = $transactionCloud->markTransactionAsProcessed("TC-TR_xxyyxxx");
```

### Customise Product On Demand

[](#customise-product-on-demand)

[API Docs](https://app.transaction.cloud/api-docs/#customize-product-on-demand)

```
$price = \Brick\Money::of("100", "USD");

$product = new \TransactionCloud\Model\Product();
$product->setPrices([$price]);
$product->setDescription("Custom product");
$product->setPayload("Payload");
$product->settTansactionIdToMigrate("TC-PR_kdljfdskl");

$transactionCloud = new \TransactionCloud\TransactionCloud::create("api_key", "api_key_password");
$productData = $transacloudCloud->customizeProduct("TC-PR_kdjfde", $product);

// $productData instanceof \TransactionCloud\Model\ProductData
```

### Get Payment Url For Product

[](#get-payment-url-for-product)

```
$transactionCloud = new \TransactionCloud\TransactionCloud::create("api_key", "api_key_password");

$url = $transactionCloud->getPaymentUrlForProduct("TC-TR_3jsd94");
```

FAQ
---

[](#faq)

### Is this free to use?

[](#is-this-free-to-use)

Yes. This library is completely open source and is free to use without limitations.

### What support can I get for this?

[](#what-support-can-i-get-for-this)

You can create an issue in this repository and we'll be able to provide support.

### Is this an offical SDK?

[](#is-this-an-offical-sdk)

No, however, we do have a relationship with Transaction.Cloud.

### Why should I use Transaction.Cloud over Paddle?

[](#why-should-i-use-transactioncloud-over-paddle)

It's cheaper. 4.9% vs 5%. Not much but it all adds up.

They're also very responsive in their support matters. We get answers within hours.

[Click here to check them out](https://hosted.transaction.cloud/ref/6HBUF3G5)

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity20

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

1316d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5adaf4e0773a50a8f3689ac91e97d62b12f1769c3b6498e106cca38e2a40c4d2?d=identicon)[parthenon](/maintainers/parthenon)

---

Tags

payment-integrationphpphp-library

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/parthenon-transaction-cloud/health.svg)

```
[![Health](https://phpackages.com/badges/parthenon-transaction-cloud/health.svg)](https://phpackages.com/packages/parthenon-transaction-cloud)
```

###  Alternatives

[openai-php/client

OpenAI PHP is a supercharged PHP API client that allows you to interact with the Open AI API

5.8k22.6M232](/packages/openai-php-client)[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M646](/packages/sylius-sylius)[theodo-group/llphant

LLPhant is a library to help you build Generative AI applications.

1.5k311.5k5](/packages/theodo-group-llphant)[getbrevo/brevo-php

Official Brevo provided RESTFul API V3 php library

963.1M35](/packages/getbrevo-brevo-php)[swisnl/json-api-client

A PHP package for mapping remote JSON:API resources to Eloquent like models and collections.

211473.2k12](/packages/swisnl-json-api-client)[wordpress/php-ai-client

A provider agnostic PHP AI client SDK to communicate with any generative AI models of various capabilities using a uniform API.

26236.6k14](/packages/wordpress-php-ai-client)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
