This is a library to provide integration to the Transaction.cloud payment provider system.
Transaction.cloud 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.
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);
$transactionCloud = new \TransactionCloud\TransactionCloud::create("api_key", "api_key_password");
$url = $transactionCloud->getUrlToManageTransactions("[email protected]");
$transactionCloud = new \TransactionCloud\TransactionCloud::create("api_key", "api_key_password");
$url = $transactionCloud->getUrlToAdmin();
$transactionCloud = new \TransactionCloud\TransactionCloud::create("api_key", "api_key_password");
$transactions = $transactionCloud->getTransactionsByEmail("[email protected]");
/** @var $transaction \TransactionCloud\Model\Transaction **/
foreach ($transactions as $transaction) {
// Do something with transaction
}
$transactionCloud = new \TransactionCloud\TransactionCloud::create("api_key", "api_key_password");
$transaction = $transactionCloud->getTransactionById("TC-TR_xxyyxxx");
// do something with transaction.
$transactionCloud = new \TransactionCloud\TransactionCloud::create("api_key", "api_key_password");
$success = $transactionCloud->assignTransactionToEmail("TC-TR_xxyyxxx", "[email protected]");
$transactionCloud = new \TransactionCloud\TransactionCloud::create("api_key", "api_key_password");
$success = $transactionCloud->cancelSubscription("TC-TR_xxyyxxx");
$transactionCloud = new \TransactionCloud\TransactionCloud::create("api_key", "api_key_password");
$refundData = $transactionCloud->refundTransaction("TC-TR_xxyyxxx");
$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
}
$transactionCloud = new \TransactionCloud\TransactionCloud::create("api_key", "api_key_password");
$success = $transactionCloud->markTransactionAsProcessed("TC-TR_xxyyxxx");
$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
$transactionCloud = new \TransactionCloud\TransactionCloud::create("api_key", "api_key_password");
$url = $transactionCloud->getPaymentUrlForProduct("TC-TR_3jsd94");
Yes. This library is completely open source and is free to use without limitations.
You can create an issue in this repository and we'll be able to provide support.
No, however, we do have a relationship with Transaction.Cloud.
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.