PHPackages                             muratdemirel/pos - 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. muratdemirel/pos

ActiveLibrary[Payment Processing](/categories/payments)

muratdemirel/pos
================

Türk bankaları için sanal pos kütüphanesi

0.7.4(4y ago)011MITPHPPHP &gt;=7.1.3

Since Aug 7Pushed 4y agoCompare

[ Source](https://github.com/MuratDemirel/pos)[ Packagist](https://packagist.org/packages/muratdemirel/pos)[ Docs](https://github.com/mewebstudio/pos)[ RSS](/packages/muratdemirel-pos/feed)WikiDiscussions master Synced today

READMEChangelog (2)Dependencies (7)Versions (50)Used By (0)

Türk bankaları için sanal pos paketi (PHP)
==========================================

[](#türk-bankaları-için-sanal-pos-paketi-php)

Bu paket ile amaçlanan; ortak bir arayüz sınıfı ile, tüm Türk banka sanal pos sistemlerinin kullanılabilmesidir.

- **EST POS** (Asseco) altyapısı tam olarak test edilmiş ve kullanıma hazırdır. Akbank, TEB ve Ziraat bankası test edilmiştir.
- **Garanti Virtual POS** ödeme sistemi çalışmaktadır, fakat 3D ödeme kısmının üretim ortamında test edilmesi gerekiyor.
- **YapıKredi PosNet** sistemi 3D ödeme çalışmaktadır, fakat `cancel`, `refund` işlemleri test edilmedi.
- **Finansbank PayFor** sanal pos sistemini desteklemektedir, Finansbank'ın IP kısıtlaması olmadığı için localhost'ta test `examples` klasöründeki örnek kodları çalıştırabilirsiniz.
- **VakifBank GET 7/24 MPI ve VPOS 7/24** 3D Secure ödemesi çalışır durumda, diğer işlemlerde sorunlar ortaya çıktıkça giderilecek.
- **InterPOS (Deniz bank)** destegi eklenmistir, test edildikce, sorunlari bulundukca hatalar giderilecek.
- **Kuveyt POS** 3d secure ödeme desteği eklenmiştir, test edildikçe, sorunları bulundukça hatalar giderilecek.

### Ana başlıklar

[](#ana-başlıklar)

- [Özellikler](#ozellikler)
- [Latest updates](#latest-updates)
- [Minimum Gereksinimler](#minimum-gereksinimler)
- [Kurulum](#kurulum)
- [Farklı Banka Sanal Poslarını Eklemek](#farkli-gatewayler-tek-islem-akisi)
- [Örnek Kodlar](#ornek-kodlar)
- [Troubleshoots](#troubleshoots)
- [Genel Kültür](#genel-kultur)
- [Docker ile test ortamı](#docker-ile-test-ortami)

### Ozellikler

[](#ozellikler)

- Standart E-Commerce modeliyle ödeme (`AbstractGateway::MODEL_NON_SECURE`)
- 3D Secure modeliyle ödeme (`AbstractGateway::MODEL_3D_SECURE`)
- 3D Pay modeliyle ödeme (`AbstractGateway::MODEL_3D_PAY`)
- 3D Host modeliyle ödeme (`AbstractGateway::MODEL_3D_HOST`)
- Sipariş/Ödeme sorgulama (`AbstractGateway::TX_STATUS`)
- Sipariş/Ödeme geçmişi sorgulama (`AbstractGateway::TX_HISTORY`)
- Sipariş/Para iadesi yapma (`AbstractGateway::TX_REFUND`)
- Sipariş iptal etme (`AbstractGateway::TX_CANCEL`)

#### Farkli Gateway'ler Tek islem akisi

[](#farkli-gatewayler-tek-islem-akisi)

- Farklı bankaya geçiş yapmak için sadece doğru `AccountFactory` method'u kullanarak account degistirmek yeterli.
- **3D**, **3DPay**, **3DHost** ödemeler arasında geçiş yapmak için tek yapmanız gereken Account konfigurasyonunda account tipini değiştirmek (`AbstractGateway::MODEL_3D_PAY` vs.). İşlem akışı aynı olduğu için kod değiştirmenize gerek kalmıyor.
- Aynı tip işlem için farklı POS Gateway'lerden dönen değerler aynı formata normalize edilmiş durumda. Yani kod güncellemenize gerek yok.
- Aynı tip işlem için farklı Gateway gönderilecek değerler de genel olarak aynı formatta olacak şekilde normalize edişmiştir.

### Latest updates

[](#latest-updates)

Son yapılan değişiklikler için [`CHANGELOG`](./docs/CHANGELOG.md).

### Minimum Gereksinimler

[](#minimum-gereksinimler)

- PHP &gt;= 7.1.3
- ext-dom
- ext-json
- ext-openssl
- ext-SimpleXML

### Kurulum

[](#kurulum)

Test sunucunuz üzerinde;

```
$ mkdir pos-test && cd pos-test
$ composer require mews/pos
```

### Unit testler çalıştırma

[](#unit-testler-çalıştırma)

Projenin root klasoründe bu satırı çalıştırmanız gerekiyor

```
$ ./vendor/bin/phpunit tests
```

### Örnek ödeme kodu

[](#örnek-ödeme-kodu)

**config.php (Ayar dosyası)**

```
