PHPackages                             paywithterra/php-backend-library - 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. [Payment Processing](/categories/payments)
4. /
5. paywithterra/php-backend-library

ActiveLibrary[Payment Processing](/categories/payments)

paywithterra/php-backend-library
================================

PHP library for tx validation on public facades

1.0.1(3y ago)113MITPHP

Since Aug 15Pushed 3y ago1 watchersCompare

[ Source](https://github.com/paywithterra/php-backend-library)[ Packagist](https://packagist.org/packages/paywithterra/php-backend-library)[ Docs](https://paywithterra.org)[ RSS](/packages/paywithterra-php-backend-library/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (2)Dependencies (1)Versions (3)Used By (0)

PaywithTerra Backend PHP Library
================================

[](#paywithterra-backend-php-library)

PHP library for validating payment transactions on Terra blockchain.

Prerequisites
-------------

[](#prerequisites)

PHP version 5.6, 7.0, 7.1, 7.2, 7.3, or 7.4
PHP extensions: ext-json, ext-curl

Installation
------------

[](#installation)

You can use [Composer](https://getcomposer.org/). Follow the [installation instructions](https://getcomposer.org/doc/00-intro.md) if you do not already have composer installed.

```
composer require paywithterra/php-backend-library
```

In your PHP script, make sure you include the Composer's autoloader:

```
require __DIR__ . '/vendor/autoload.php';
```

**Alternatively**, when you are not using Composer, you can download the [release on GitHub](https://github.com/paywithterra/php-backend-library/releases)and use library directly:

```
require __DIR__ . '/src/autoload-legacy.php';
```

Using the library
-----------------

[](#using-the-library)

### Request and validate transaction

[](#request-and-validate-transaction)

```
// Prepare client (see all options below)
$client = new \PaywithTerra\TerraTxValidator([
    "merchantAddress" => "terra12abcdefg1234512345123451234512345abc",
    "chainId" => "pisco-1",
    "LCD" => "https://pisco-lcd.terra.dev/cosmos/tx/v1beta1/txs/{txHash}",
]);

// Request transaction information from public facade (by txHash)
$client->lookupTx("TynpStpmcovsgsNpqlchimy9cydlc83bwudgrBigShTksrzczfvxnf9q4kkvcek4");

// Check if transaction comply with our requirements (throw exception if not)
$client->assertTx([
    "memo" => '#order-1234',
    "denom" => "uluna",
    "amount" => "280000",
]);
```

Client options (initialization variants)
----------------------------------------

[](#client-options-initialization-variants)

### Variant 1: Using exact LCD and chainId

[](#variant-1-using-exact-lcd-and-chainid)

```
$client = new \PaywithTerra\TerraTxValidator([
    "merchantAddress" => "terra12abcdefg1234512345123451234512345abc",
    "chainId" => "pisco-1",
    "LCD" => "https://pisco-lcd.terra.dev/cosmos/tx/v1beta1/txs/{txHash}",
]);
```

### Variant 2: Using exact FCD and chainId

[](#variant-2-using-exact-fcd-and-chainid)

```
$client = new \PaywithTerra\TerraTxValidator([
    "merchantAddress" => "terra12abcdefg1234512345123451234512345abc",
    "chainId" => "pisco-1",
    "FCD" => "https://pisco-fcd.terra.dev/v1/tx/{txHash}",
]);
```

### Variant 3: Using network name (requests chains info + LCD url from Terra network and cache it)

[](#variant-3-using-network-name-requests-chains-info--lcd-url-from-terra-network-and-cache-it)

```
$client = new \PaywithTerra\TerraTxValidator([
    "merchantAddress" => "terra12abcdefg1234512345123451234512345abc",
    "networkName" => "testnet", // or "mainnet" or "classic"
    "cache" => new \PaywithTerra\Cache\FileCache(),
]);
```

Assets (denoms) support
-----------------------

[](#assets-denoms-support)

Denom codeAsset name / Description`uluna`**Luna**
 Default (basic) network asset`ibc/B3504E092456BA618CC28AC671A71FB08C6CA0FD0BE7C8A5B5A3E2DD933CC9E4`axl**USDC** (mainnet)
 The USDC representation in Terra network (can be swapped from Luna right on Station Mobile)`ibc/CBF67A2BCF6CAE343FDF251E510C8E18C361FC02B23430C121116E0811835DEF`axl**USDT** (mainnet)
 The Tether representation in Terra network (can be swapped from Luna right on Station Mobile)Notes
-----

[](#notes)

We don't use any of modern libraries (like Guzzle or Symphony HTTP Client) as transport because we want to keep the minimal supported PHP version as low as possible.
This approach allows even old-school and legacy PHP-projects to connect to Terra. If you really want to use HTTP clients as transport, please open an issue.

License
-------

[](#license)

[The MIT License (MIT)](LICENSE)

###  Health Score

23

—

LowBetter than 27% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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 ~30 days

Total

2

Last Release

1340d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2e009663b62c1907700aa45db2ec2baab458b43d1cd07484a9a0468e101b3063?d=identicon)[arty-terra](/maintainers/arty-terra)

---

Top Contributors

[![arty-terra](https://avatars.githubusercontent.com/u/89657732?v=4)](https://github.com/arty-terra "arty-terra (3 commits)")

---

Tags

cryptopaymentsTerrapaywithterra

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/paywithterra-php-backend-library/health.svg)

```
[![Health](https://phpackages.com/badges/paywithterra-php-backend-library/health.svg)](https://phpackages.com/packages/paywithterra-php-backend-library)
```

###  Alternatives

[amzn/amazon-pay-sdk-php

Amazon Pay SDK (PHP)

20512.1M3](/packages/amzn-amazon-pay-sdk-php)[unicodeveloper/laravel-paystack

A Laravel Package for Paystack

650975.6k11](/packages/unicodeveloper-laravel-paystack)[ignited/laravel-omnipay

Integrates Omnipay with Laravel and provides an easy configuration.

5211.1M12](/packages/ignited-laravel-omnipay)[recurly/recurly-client

The PHP client library for the Recurly API

1736.3M7](/packages/recurly-recurly-client)[chargebee/chargebee-php

ChargeBee API client implementation for PHP

768.0M9](/packages/chargebee-chargebee-php)[amzn/amazon-pay-api-sdk-php

Amazon Pay API SDK (PHP)

505.1M9](/packages/amzn-amazon-pay-api-sdk-php)

PHPackages © 2026

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