PHPackages                             emreyilmaz99/php-trsanalpos - 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. emreyilmaz99/php-trsanalpos

ActiveLibrary[Payment Processing](/categories/payments)

emreyilmaz99/php-trsanalpos
===========================

Türkiye'deki banka ve ödeme kuruluşlarının sanal POS entegrasyonlarını tek bir Laravel paketi altında birleştiren kütüphane. evrenonur/sanalpos fork'u + hosted payment, event dispatcher, idempotency, webhook validation, capability interfaces, live sandbox doğrulamaları.

v0.1.6(2w ago)14↓100%MITPHPPHP ^8.3CI passing

Since May 21Pushed 2w agoCompare

[ Source](https://github.com/emreyilmaz99/php-TRsanalpos)[ Packagist](https://packagist.org/packages/emreyilmaz99/php-trsanalpos)[ RSS](/packages/emreyilmaz99-php-trsanalpos/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (7)Dependencies (6)Versions (9)Used By (0)

php-TRsanalpos
==============

[](#php-trsanalpos)

[![License: MIT](https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667)](LICENSE)[![PHP Version](https://camo.githubusercontent.com/9d9ec35e438d32eee58734a510238e61050b48e92f67595cd0047b61f5ece336/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d253545382e332d626c7565)](https://www.php.net/)[![Laravel](https://camo.githubusercontent.com/3c947bde5893eab66cfda333d4d46780b85eb09acdb216efe9330b2e77532c5f/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c61726176656c2d31302532302537432532303131253230253743253230313225323025374325323031332d726564)](https://laravel.com)

> Bu paket [evrenonur/sanalpos](https://github.com/evrenonur/sanalpos) kütüphanesinin MIT lisanslı fork'u olarak başlamış, üzerine birkaç ek modül eklenmiştir. Orijinal kütüphane [CP.VPOS](https://github.com/cempehlivan/CP.VPOS) (.NET) projesinin PHP/Laravel portudur.

SanalPos: Sanal Pos Entegrasyonlarını Basitleştirin
---------------------------------------------------

[](#sanalpos-sanal-pos-entegrasyonlarını-basitleştirin)

SanalPos, Türkiye'deki birçok bankanın ve ödeme kuruluşunun sanal POS entegrasyonlarını tek bir kod tabanı ile kullanmayı mümkün kılan PHP/Laravel kütüphanesidir. Bu sayede geliştiriciler, her banka için ayrı ayrı kod yazmak zorunda kalmadan, tüm sanal POS işlemlerini tek bir kütüphane üzerinden gerçekleştirebilirler.

Bu fork'taki ek modüller
------------------------

[](#bu-forktaki-ek-modüller)

- **Hosted Payment (kart bankada — PCI-DSS SAQ-A uyumlu akış):** Iyzico CheckoutForm, Garanti BBVA Ortak Ödeme Sayfası, Akbank `/payhosting`, NestPay `3D_PAY_HOSTING`, Payten SESSIONTOKEN, Vakıfbank Common Payment, Vakıf Katılım CommonPaymentPage, PayNKolay form-redirect, Intertech VPOS (Denizbank + QNB Finansbank)
- **Live sandbox doğrulaması:** Iyzico, Garanti BBVA, Akbank, NestPay İş Bankası, NestPay Ziraat Bankası canlı sandbox'larında uçtan uca test edilmiş. NestPay ailesi için aynı recipe 12 banka kapsar.
- **Event dispatcher** (framework-agnostic + Laravel-aware): `PaymentInitiated`, `PaymentSucceeded`, `PaymentFailed` event'leri.
- **Idempotency:** `SaleRequest::idempotency_key` ile aynı butona iki kez basma korumalı. `DuplicateRequestException` + cache-backed dedup.
- **Webhook validation helper:** IP whitelist + timestamp (replay attack) kontrolü.
- **PII redaction:** Kart numarası ve CVV otomatik maskelenir (`__debugInfo` + `JsonSerializable`); plain-text PAN log'a sızmaz.
- **Capability marker interfaces:** `SupportsHostedPayment`, `SupportsRefund`, `SupportsSaleQuery`, `SupportsInstallmentQuery`. `$gateway instanceof SupportsHostedPayment` ile çağırmadan önce kontrol.
- **HTTP request/response logging:** PSR-3 logger (LoggerAware trait) üzerinden, PII maskeli.
- **PHPStan + GitHub Actions CI:** Level 3 + baseline.

Özellikler
----------

[](#özellikler)

- **Tek Kod Tabanı:** Farklı bankaların sanal pos entegrasyonları için ayrı ayrı kod yazmaya gerek kalmadan, tek bir API ile tüm işlemleri gerçekleştirebilirsiniz.
- **Basitleştirilmiş İşlem Akışı:** Sanal pos işlemleri için gerekli tüm adımlar kütüphane tarafından otomatik olarak halledilir.
- **3D Güvenli Ödeme Desteği:** 3D Güvenli Ödeme işlemleri için gerekli tüm adımlar desteklenir.
- **Geniş Banka Kapsamı:** 35+ banka ve ödeme kuruluşu desteği.
- **Ödeme Kuruluşu Komisyon Politikası:** CCPayment tabanlı kuruluşlarda taksit komisyonunu müşteriye veya satıcıya yansıtma seçeneği desteklenir.
- **Laravel Entegrasyonu:** ServiceProvider, Facade ve config dosyası ile tam Laravel uyumluluğu.
- **Bağımsız Kullanım:** Laravel olmadan da `SanalPosClient` statik sınıfı ile kullanılabilir.

Gereksinimler
-------------

[](#gereksinimler)

- PHP &gt;= 8.3
- Laravel 10, 11, 12 veya 13
- ext-simplexml, ext-openssl, ext-json

Kurulum
-------

[](#kurulum)

Composer ile projenize ekleyin:

```
composer require emreyilmaz99/php-trsanalpos
```

Laravel otomatik olarak ServiceProvider'ı ve Facade'ı kaydeder. Config dosyasını yayınlamak için:

```
php artisan vendor:publish --provider="EvrenOnur\SanalPos\SanalPosServiceProvider"
```

> **Not:** PHP namespace'i (`EvrenOnur\SanalPos`) orijinal paketle aynı kalmıştır — fork olduğu için breaking change yaratmamak adına. Sadece composer paket adı değişmiştir.

Kullanılabilir Sanal POS'lar
----------------------------

[](#kullanılabilir-sanal-poslar)

> **Hosted (banka barındırmalı)** sütunu, müşterinin kart bilgisini **bankanın kendi sayfasında** girdiği akışı belirtir (PCI-DSS SAQ-A uyumu). **⚠️** işareti, gateway override edilmiş ancak içeriğin henüz tam doğrulanmadığını gösterir (CCPayment ailesi için doc'a göre flow yazıldı, sandbox doğrulaması bekliyor).

Sanal POSSatışSatış 3DİptalİadeHostedPaynet✔️✔️✔️✔️❌Akbank✔️✔️✔️✔️✔️Akbank Nestpay✔️✔️✔️✔️✔️Alternatif Bank✔️✔️✔️✔️✔️Anadolubank✔️✔️✔️✔️✔️Denizbank✔️✔️✔️✔️✔️QNB Finansbank✔️✔️✔️✔️✔️Finansbank Nestpay✔️✔️✔️✔️✔️Garanti BBVA✔️✔️✔️✔️✔️Halkbank✔️✔️✔️✔️✔️ING Bank✔️✔️✔️✔️✔️İş Bankası✔️✔️✔️✔️✔️Şekerbank✔️✔️✔️✔️✔️Türk Ekonomi Bankası✔️✔️✔️✔️✔️Türkiye Finans✔️✔️✔️✔️✔️Vakıfbank✔️✔️✔️✔️❌Yapı Kredi Bankası✔️✔️❌❌❌Ziraat Bankası✔️✔️✔️✔️✔️Kuveyt Türk✔️✔️❌❌❌Vakıf Katılım✔️✔️❌❌❌Cardplus✔️✔️✔️✔️✔️Paratika✔️✔️✔️✔️✔️Payten (MSU)✔️✔️✔️✔️✔️ZiraatPay✔️✔️✔️✔️✔️VakıfPayS✔️✔️✔️✔️✔️Iyzico✔️✔️✔️✔️✔️Sipay✔️✔️✔️✔️⚠️QNBpay✔️✔️✔️✔️⚠️ParamPos✔️✔️✔️✔️❌PayBull✔️✔️✔️✔️⚠️Parolapara✔️✔️✔️✔️⚠️IQmoney✔️✔️✔️✔️⚠️Ahlpay✔️✔️✔️✔️❌Moka✔️✔️✔️✔️❌Vepara✔️✔️✔️✔️⚠️Tami✔️✔️✔️✔️❌HalkÖde✔️✔️✔️✔️⚠️PayNKolay✔️✔️✔️✔️❌> Capability matrisini otomatik üretmek için: `php tools/capability-matrix.php`

API Bilgilerinin Ayarlanması - `MerchantAuth`
---------------------------------------------

[](#api-bilgilerinin-ayarlanması---merchantauth)

AlanTürAçıklama`bank_code``string`Banka/ödeme kuruluşu kodu. `BankService` sabitlerini kullanın.`merchant_id``string`Firma kodu / Üye işyeri numarası`merchant_user``string`API kullanıcı adı`merchant_password``string`API kullanıcı şifresi`merchant_storekey``string`3D store key / güvenlik anahtarı`test_platform``bool``true` → test ortamı, `false` → canlı ortam`installment_commission_policy``InstallmentCommissionPolicy`CCPayment tabanlı kuruluşlarda taksit komisyonunun nasıl yansıtılacağını belirler. Varsayılan: `Default`### Taksit Komisyon Politikası

[](#taksit-komisyon-politikası)

CCPayment altyapısını kullanan ödeme kuruluşlarında taksitli işlemlerde oluşan komisyon için aşağıdaki seçenekler kullanılabilir:

- `InstallmentCommissionPolicy::Default`: Gateway varsayılan davranışı kullanılır
- `InstallmentCommissionPolicy::ChargeToCustomer`: Komisyon müşteriye yansıtılır
- `InstallmentCommissionPolicy::AbsorbByMerchant`: Komisyon satıcı üzerinde bırakılır

```
use EvrenOnur\SanalPos\Enums\InstallmentCommissionPolicy;

$auth = new MerchantAuth(
    bank_code: BankService::SIPAY,
    merchant_id: 'merchant-id',
    merchant_user: 'merchant-user',
    merchant_password: 'merchant-password',
    merchant_storekey: 'merchant-storekey',
    test_platform: true,
    installment_commission_policy: InstallmentCommissionPolicy::ChargeToCustomer,
);
```

Kullanım Örnekleri
------------------

[](#kullanım-örnekleri)

### 3D'siz Direkt Satış İşlemi

[](#3dsiz-direkt-satış-i̇şlemi)

`payment_3d->confirm = false` gönderilmesi halinde 3D'siz çekim işlemi yapılır ve direkt olarak nihai sonuç döner.

```
use EvrenOnur\SanalPos\SanalPosClient;
use EvrenOnur\SanalPos\DTOs\{MerchantAuth, SaleInfo, CustomerInfo, Payment3DConfig};
use EvrenOnur\SanalPos\DTOs\Requests\SaleRequest;
use EvrenOnur\SanalPos\Services\BankService;
use EvrenOnur\SanalPos\Enums\{Currency, Country};

$auth = new MerchantAuth(
    bank_code: BankService::QNBPAY,
    merchant_id: '20158',
    merchant_user: '07fb70f9d8de575f32baa6518e38c5d6',
    merchant_password: '61d97b2cac247069495be4b16f8604db',
    merchant_storekey: '$2y$10$N9IJkgazXMUwCzpn7NJrZePy3v.dIFOQUyW4yGfT3eWry6m.KxanK',
    test_platform: true,
);

$customerInfo = new CustomerInfo(
    tax_number: '1111111111',
    email_address: 'test@test.com',
    name: 'cem',
    surname: 'pehlivan',
    phone_number: '1111111111',
    address_description: 'adres',
    city_name: 'istanbul',
    country: Country::TUR,
    post_code: '34000',
    tax_office: 'maltepe',
    town_name: 'maltepe',
);

$saleRequest = new SaleRequest(
    order_number: dechex(time()),
    sale_info: new SaleInfo(
        card_name_surname: 'test kart',
        card_number: '4022780520669303',
        card_expiry_month: 1,
        card_expiry_year: 2050,
        card_cvv: '988',
        amount: 10.00,
        currency: Currency::TRY,
        installment: 1,
    ),
    payment_3d: new Payment3DConfig(confirm: false),
    customer_ip_address: '1.1.1.1',
    invoice_info: $customerInfo,
    shipping_info: $customerInfo,
);

$response = SanalPosClient::sale($saleRequest, $auth);

echo "Status: {$response->status->name}\n";
echo "Mesaj: {$response->message}\n";
echo "İşlem ID: {$response->transaction_id}\n";
```

### 3D Secure Satış İşlemi

[](#3d-secure-satış-i̇şlemi)

`payment_3d->confirm = true` gönderilmesi halinde 3D'li satış işlemi başlatılır. `payment_3d->return_url` alanına 3D'den gelecek olan cevabın iletilmesi istenen URL girilmelidir.

```
$saleRequest = new SaleRequest(
    order_number: dechex(time()),
    sale_info: new SaleInfo(
        card_name_surname: 'test kart',
        card_number: '4022780520669303',
        card_expiry_month: 1,
        card_expiry_year: 2050,
        card_cvv: '988',
        amount: 10.00,
        currency: Currency::TRY,
        installment: 1,
    ),
    payment_3d: new Payment3DConfig(
        confirm: true,
        return_url: 'https://example.com/payment/3d-response',
    ),
    customer_ip_address: request()->ip(),
    invoice_info: $customerInfo,
    shipping_info: $customerInfo,
);

$response = SanalPosClient::sale($saleRequest, $auth);

// status RedirectURL ise → $response->message içindeki URL'e yönlendirin
// status RedirectHTML ise → $response->message içindeki HTML'i tarayıcıda gösterin
```

### 3D Secure Satış İşlemi - 2. Adım

[](#3d-secure-satış-i̇şlemi---2-adım)

```
use EvrenOnur\SanalPos\DTOs\Requests\Sale3DResponse;

// Controller method - 3D'den gelen callback
public function virtualPOS3DResponse(Request $request)
{
    $responseArray = $request->all();

    $response = SanalPosClient::sale3DResponse(
        new Sale3DResponse(responseArray: $responseArray),
        $auth
    );

    // $response->status → SaleResponseStatus::Success veya Error
    // $response->message → Sonuç mesajı
    // $response->transaction_id → İşlem ID
    // $response->private_response['response_1'] → callback verisi
    // $response->private_response['response_2'] → gerekiyorsa provider tamamlama yanıtı
}
```

### İptal İşlemi

[](#i̇ptal-i̇şlemi)

```
use EvrenOnur\SanalPos\DTOs\Requests\CancelRequest;

$cancelRequest = new CancelRequest(
    order_number: 'ORDER-001',
    transaction_id: 'TXN-001',
);

$response = SanalPosClient::cancel($cancelRequest, $auth);
```

### İade İşlemi

[](#i̇ade-i̇şlemi)

```
use EvrenOnur\SanalPos\DTOs\Requests\RefundRequest;

$refundRequest = new RefundRequest(
    order_number: 'ORDER-001',
    refund_amount: 50.00,
    currency: Currency::TRY,
);

$response = SanalPosClient::refund($refundRequest, $auth);
```

### BIN Taksit Sorgulama

[](#bin-taksit-sorgulama)

```
use EvrenOnur\SanalPos\DTOs\Requests\BINInstallmentQueryRequest;

$request = new BINInstallmentQueryRequest(
    BIN: '411111',  // Kart numarasının ilk 6 hanesi
    currency: Currency::TRY,
);

$response = SanalPosClient::binInstallmentQuery($request, $auth);
```

### Laravel Facade ile Kullanım

[](#laravel-facade-ile-kullanım)

```
use EvrenOnur\SanalPos\Facades\SanalPos;

$response = SanalPos::sale($saleRequest, $auth);
$response = SanalPos::cancel($cancelRequest, $auth);
$response = SanalPos::refund($refundRequest, $auth);
```

Sanal POS API Bilgileri
-----------------------

[](#sanal-pos-api-bilgileri)

Sanal POSbank\_codemerchant\_idmerchant\_usermerchant\_passwordmerchant\_storekeyAkbank`BankService::AKBANK`İş Yeri NomerchantSafeIdTerminal Safe IDSecret KeyAkbank Nestpay`BankService::AKBANK_NESTPAY`Mağaza KoduApi KullanıcısıApi Şifresi3D StorekeyGaranti BBVA`BankService::GARANTI_BBVA`Firma KoduTerminal NoPROVAUT Şifresi3D AnahtarıVakıfbank`BankService::VAKIFBANK`Üye İşyeri NoPOS NoApi Şifresi—Yapı Kredi`BankService::YAPI_KREDI`Firma KoduTerminal NoPosNet IDENCKEYIyzico`BankService::IYZICO`Üye İşyeri NoAPI AnahtarıGüvenlik Anahtarı—Paynet`BankService::PAYNET`Paynet Merchant IDBasic Auth kullanıcısıBasic Auth şifresi—Sipay`BankService::SIPAY`Üye İşyeri IDUygulama AnahtarıUygulama ParolasıMerchant KeyQNBpay`BankService::QNBPAY`Üye İşyeri IDUygulama AnahtarıUygulama ParolasıMerchant KeyParamPos`BankService::PARAMPOS`Client CodeKullanıcı AdıŞifreGuid AnahtarMoka`BankService::MOKA`Bayi KoduApi KullanıcısıApi Şifresi—Ahlpay`BankService::AHLPAY`Member IDApi KullanıcısıApi ŞifresiAPI KeyPayten (MSU)`BankService::PAYTEN`Firma KoduApi KullanıcısıApi Şifresi—Tami`BankService::TAMI`Üye İşyeri NoTerminal NoKidValue|KValueSecret KeyPayNKolay`BankService::PAYNKOLAY`sx (Token)sx listsx iptalSecret Key> Nestpay bankalarında (Alternatif Bank, Anadolubank, Denizbank, Halkbank, ING Bank, İş Bankası, Şekerbank, TEB, Türkiye Finans, Ziraat Bankası, Cardplus) alan eşlemesi aynıdır: Mağaza Kodu, Api Kullanıcısı, Api Şifresi, 3D Storekey.

Proje Yapısı
------------

[](#proje-yapısı)

```
src/
├── Contracts/              # VirtualPOSServiceInterface
├── Enums/                  # Currency, Country, ResponseStatus, vb.
├── Exceptions/             # HttpRequestException
├── Facades/                # Laravel Facade
├── Gateways/
│   ├── AbstractGateway.php # Tüm gateway'lerin temel sınıfı
│   ├── Banks/              # Banka gateway'leri
│   │   └── Nestpay/        # Nestpay altyapılı bankalar
│   └── Providers/          # Ödeme kuruluşu gateway'leri
│       ├── CCPayment/      # CCPayment altyapılı kuruluşlar
│       └── Payten/         # Payten altyapılı kuruluşlar
├── Support/                # StringHelper, ValidationHelper, XmlHelper, MakesHttpRequests
├── Infrastructure/
│   └── Iyzico/             # Iyzico özel altyapı sınıfları
├── DTOs/                   # Data Transfer Objects
│   ├── Requests/           # SaleRequest, CancelRequest, RefundRequest, vb.
│   ├── Responses/          # SaleResponse, CancelResponse, RefundResponse, vb.
│   └── ...                 # Bank, SaleInfo, CustomerInfo, MerchantAuth, vb.
├── Services/               # BankService
├── SanalPosClient.php      # Ana statik istemci
└── SanalPosServiceProvider.php

```

Yapılandırma
------------

[](#yapılandırma)

Config dosyasında (`config/sanalpos.php`) aşağıdaki ayarlar mevcuttur:

AyarEnv DeğişkeniVarsayılanAçıklama`test_mode``SANALPOS_TEST_MODE``true`Tüm işlemleri test ortamına yönlendirir`timeout``SANALPOS_TIMEOUT``60`HTTP istek zaman aşımı (saniye)`verify_ssl``SANALPOS_VERIFY_SSL``true`SSL sertifika doğrulaması (production'da `true` olmalıdır)`connect_timeout``SANALPOS_CONNECT_TIMEOUT``10`HTTP bağlantı kurma zaman aşımı (saniye)Hata Yönetimi
-------------

[](#hata-yönetimi)

HTTP istekleri sırasında oluşan hatalar `HttpRequestException` olarak fırlatılır:

```
use EvrenOnur\SanalPos\Exceptions\HttpRequestException;

try {
    $response = SanalPosClient::sale($saleRequest, $auth);
} catch (HttpRequestException $e) {
    // HTTP bağlantı hatası, timeout vb.
    echo $e->getMessage();
    echo $e->url; // Hata oluşan URL
} catch (\InvalidArgumentException $e) {
    // Validasyon hatası (eksik/hatalı parametre)
    echo $e->getMessage();
}
```

Test
----

[](#test)

```
composer test
# veya
vendor/bin/pest
```

Lisans
------

[](#lisans)

MIT lisansı altında dağıtılmaktadır. Detaylar için [LICENSE](LICENSE) dosyasına bakınız.

Referans
--------

[](#referans)

Bu PHP paketi, [cempehlivan/CP.VPOS](https://github.com/cempehlivan/CP.VPOS) (.NET) kütüphanesinin mimari yapısı ve iş akışları temel alınarak geliştirilmiştir.

###  Health Score

41

—

FairBetter than 87% of packages

Maintenance96

Actively maintained with recent releases

Popularity7

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

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

7

Last Release

18d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1c996dcfe6a907063aef20ac235f5fdf11a17aca70cd5ab02743ccbe68881291?d=identicon)[emreyilmaz99](/maintainers/emreyilmaz99)

---

Top Contributors

[![evrenonur](https://avatars.githubusercontent.com/u/49561437?v=4)](https://github.com/evrenonur "evrenonur (27 commits)")[![emreyilmaz99](https://avatars.githubusercontent.com/u/94304452?v=4)](https://github.com/emreyilmaz99 "emreyilmaz99 (21 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (13 commits)")[![ykakkaya](https://avatars.githubusercontent.com/u/100940437?v=4)](https://github.com/ykakkaya "ykakkaya (2 commits)")

---

Tags

3d-securehosted-payment-pageiyzicolaravelnestpaypaymentpaymentsphpsanalposlaravelpaymentposturkeyakbanksanalposIsbankiyzicosipaygarantiyapikredisanal-pospci-dss3d-securesaq-ahosted-payment

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/emreyilmaz99-php-trsanalpos/health.svg)

```
[![Health](https://phpackages.com/badges/emreyilmaz99-php-trsanalpos/health.svg)](https://phpackages.com/packages/emreyilmaz99-php-trsanalpos)
```

###  Alternatives

[tempest/framework

The PHP framework that gets out of your way.

2.2k31.1k11](/packages/tempest-framework)[sebdesign/laravel-viva-payments

A Laravel package for integrating the Viva Payments gateway

4849.3k](/packages/sebdesign-laravel-viva-payments)[jasara/php-amzn-selling-partner-api

A fluent interface for Amazon's Selling Partner API in PHP

1348.1k1](/packages/jasara-php-amzn-selling-partner-api)

PHPackages © 2026

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