Omnipay; PHP tabanlı, online ödeme sistemleri için sanal pos kütüphanesi. Hali hazırda dünya genelinde 87+ ödeme sistemi için kullanılabilir durumda. Türkiye için benim hazırladığım 5 adet ödeme sistemi bulunuyor.
Kurulum
Kurulum işlemi composer paket yönetici ile gerçekleşiyor. Sisteminizde composer kurulu olması gerekli.
Kullanacağınız ödeme sistemi için ayrı ayrı kurulum yapabilirsin. Tüm ödeme sistemleri için geliştiricinin hazırladığı kurulum ve kullanım dokümanları mevcut. Aşağıdaki bağlantıdan göz atabilirsiniz..
Komut yapısı;
composer require geliştirici/paketadi~versiyon
Örnek;
NestPay örneğimiz için komut satırındaki aşağıdaki komutu çalıştıralım. Composer bizim için gerekli olan bağımlılıkları vendor klasörüne indirecek.
composer require yasinkuyu/omnipay-nestpay:~2.0
Composer gerekli Omnipay dosyalarını test klasöründe bulunan vendor klasörüne aktardı.
Ben örnek için odeme.php dosyasını oluşturdum.
Composer autoload dosyasını projeye dahil ederek kullanmaya başlayabilirsiniz.
require __DIR__ . '/vendor/autoload.php';
Nestpay nesnesini oluştrarak ayarları tanımlayalım
use Omnipay\Omnipay; $gateway = Omnipay::create('NestPay'); $gateway->setBank("denizbank"); $gateway->setUserName("DENIZTEST"); $gateway->setClientId("800100000"); $gateway->setPassword("DENIZTEST123"); $gateway->setTestMode(TRUE);
Kart ve kullanıcı bilgilerini tanımlayalım.
$options = [ 'number' => '5406675406675403', 'expiryMonth' => '12', 'expiryYear' => '2017', 'cvv' => '000', 'email' => 'yasinkuyu@gmail.com', 'firstname' => 'Yasin', 'lastname' => 'Kuyu' ];
Şimdi satış işlemini gerçekleştirelim.
$response = $gateway->purchase( [ //'installment' => '', # Taksit //'moneypoints' => 1.00, // Set money points (Maxi puan gir) 'amount' => 12.00, 'type' => 'Auth', 'orderid' => 'ORDER-3651233', 'card' => $options ] )->send();
Dönen yanıtlar
var_dump($response);
Tam örnek;
<?php //odeme.php require __DIR__ . '/vendor/autoload.php'; use Omnipay\Omnipay; $gateway = Omnipay::create('NestPay'); $gateway->setBank("denizbank"); $gateway->setUserName("DENIZTEST"); $gateway->setClientId("800100000"); $gateway->setPassword("DENIZTEST123"); $gateway->setTestMode(TRUE); $options = [ 'number' => '5406675406675403', 'expiryMonth' => '12', 'expiryYear' => '2017', 'cvv' => '000', 'email' => 'yasinkuyu@gmail.com', 'firstname' => 'Yasin', 'lastname' => 'Kuyu' ]; try { $response = $gateway->purchase( [ //'installment' => '', # Taksit //'moneypoints' => 1.00, // Set money points (Maxi puan gir) 'amount' => 12.00, 'type' => 'Auth', 'orderid' => 'ORDER-3651233', 'card' => $options ] )->send(); /* $response = $gateway->authorize( [ 'type' => 'PostAuth', 'orderid' => 'ORDER-365123', 'card' => $options ] )->send(); $response = $gateway->capture( [ 'orderid' => 'ORDER-365123', 'amount' => 1.00, 'currency' => 'TRY', 'card' => $options ] )->send(); $response = $gateway->refund( [ 'orderid' => 'ORDER-365123', 'amount' => 1.00, 'currency' => 'TRY', 'card' => $options ] )->send(); $response = $gateway->credit( [ 'orderid' => 'ORDER-365123', 'amount' => 1.00, 'currency' => 'TRY', // Optional (default parameter TRY) 'card' => $options ] )->send(); $response = $gateway->void( [ 'orderid' => 'ORDER-365123', 'amount' => 1.00, 'currency' => 'TRY', 'card' => $options ] )->send(); $response = $gateway->credit( [ 'amount' => 1.00, 'card' => $options ] )->send(); $response = $gateway->settle( [ 'settlement' => true, 'card' => $options ] )->send(); $response = $gateway->money( [ 'moneypoints' => "1", 'card' => $options ] )->send(); */ if ($response->isSuccessful()) { echo "Successful"; } elseif ($response->isRedirect()) { $response->redirect(); } else { exit($response->getMessage()); } } catch (\Exception $e) { exit('Sorry, there was an error processing your payment. Please try again later.'); } // Debug //var_dump($response);
Omnipay-nestpay
https://github.com/yasinkuyu/omnipay-nestpay
Kullanılabilir Ödeme sistemleri
Gateway | Composer Package | Maintainer |
---|---|---|
2Checkout | omnipay/2checkout | Omnipay |
2Checkout Improved | collizo4sky/omnipay-2checkout | Agbonghama Collins |
Agms | agmscode/omnipay-agms | Maanas Royy |
Alipay(Global) | lokielse/omnipay-global-alipay | Loki Else |
Alipay | lokielse/omnipay-alipay | Loki Else |
Allied Wallet | delatbabel/omnipay-alliedwallet | Del |
Authorize.Net | omnipay/authorizenet | Jason Judge |
Barclays ePDQ | samvaughton/omnipay-barclays-epdq | Sam Vaughton |
Beanstream | lemonstand/omnipay-beanstream | LemonStand |
BKM Express | yasinkuyu/omnipay-bkm | Yasin Kuyu |
Buckaroo | omnipay/buckaroo | Omnipay |
CardGate | cardgate/omnipay-cardgate | CardGate |
CardSave | omnipay/cardsave | Omnipay |
Checkout.com | fotografde/checkoutcom | fotograf.de |
Coinbase | omnipay/coinbase | Omnipay |
Creditcall | meebio/omnipay-creditcall | John Jablonski |
Cybersource | dioscouri/omnipay-cybersource | Dioscouri Design |
Cybersource SOAP | dabsquared/omnipay-cybersource-soap | DABSquared |
DataCash | coatesap/omnipay-datacash | Andrew Coates |
Dummy | omnipay/dummy | Del |
ecoPayz | dercoder/omnipay-ecopayz | Alexander Fedra |
Elavon | lemonstand/omnipay-elavon | LemonStand |
eWAY | omnipay/eway | Del |
Fasapay | andreas22/omnipay-fasapay | Andreas Christodoulou |
Fat Zebra | delatbabel/omnipay-fatzebra | Del |
First Data | omnipay/firstdata | Andrew Coates |
Flo2cash | guisea/omnipay-flo2cash | Aaron Guise |
Globalcloudpay | dercoder/omnipay-globalcloudpay | Alexander Fedra |
GoCardless | omnipay/gocardless | Del |
GovPayNet | omnipay/omnipay-govpaynet | FlexCoders |
GVP (Garanti) | yasinkuyu/omnipay-gvp | Yasin Kuyu |
Helcim | academe/omnipay-helcim | Jason Judge |
IfthenPay | ifthenpay/omnipay-ifthenpay | Rafael Almeida |
Iyzico | yasinkuyu/omnipay-iyzico | Yasin Kuyu |
Komerci (Rede, former RedeCard) | byjg/omnipay-komerci | João Gilberto Magalhães |
Komoju | vink/omnipay-komoju | Danny Vink |
Manual | omnipay/manual | Del |
Migs | omnipay/migs | Omnipay |
Mollie | omnipay/mollie | Barry vd. Heuvel |
MOLPay | leesiongchan/molpay | Lee Siong Chan |
MultiCards | incube8/omnipay-multicards | Del |
MultiSafepay | omnipay/multisafepay | Alexander Deruwe |
NestPay (EST) | yasinkuyu/omnipay-nestpay | Yasin Kuyu |
Netaxept (BBS) | omnipay/netaxept | Omnipay |
Netbanx | omnipay/netbanx | Maks Rafalko |
Neteller | alfaproject/omnipay-neteller | João Dias |
NetPay | netpay/omnipay-netpay | NetPay |
Network Merchants Inc. (NMI) | mfauveau/omnipay-nmi | Matthieu Fauveau |
Pacnet | mfauveau/omnipay-pacnet | Matthieu Fauveau |
Pagar.me | descubraomundo/omnipay-pagarme | Descubra o Mundo |
PayFast | omnipay/payfast | Omnipay |
Payflow | omnipay/payflow | Del |
PaymentExpress (DPS) | omnipay/paymentexpress | Del |
PaymentSense | coatesap/omnipay-paymentsense | Andrew Coates |
PaymentWall | incube8/omnipay-paymentwall | Del |
PayPal | omnipay/paypal | Del |
PayPro | paypronl/omnipay-paypro | Fruitcake Studio |
Paysafecard | dercoder/omnipay-paysafecard | Alexander Fedra |
PayTrace | softcommerce/omnipay-paytrace | Oleg Ilyushyn |
PayU | omnipay/payu | efesaid |
Pin Payments | omnipay/pin | Del |
Portmanat | dercoder/omnipay-portmanat | Alexander Fedra |
Posnet | yasinkuyu/omnipay-posnet | Yasin Kuyu |
Postfinance | bummzack/omnipay-postfinance | Roman Schmid |
Realex | coatesap/omnipay-realex | Andrew Coates |
RedSys | nazka/sermepa-omnipay | Javier Sampedro |
RentMoola | rentmoola/omnipay-rentmoola | Geoff Shaw |
Sage Pay | omnipay/sagepay | Jason Judge |
SecPay | justinbusschau/omnipay-secpay | Justin Busschau |
SecurePay | omnipay/securepay | Omnipay |
Secure Trading | meebio/omnipay-secure-trading | John Jablonski |
Sisow | fruitcakestudio/omnipay-sisow | Fruitcake Studio |
Skrill | alfaproject/omnipay-skrill | João Dias |
Sofort | aimeoscom/omnipay-sofort | Aimeos GmbH |
Stripe | omnipay/stripe | Del |
TargetPay | omnipay/targetpay | Alexander Deruwe |
UnionPay | lokielse/omnipay-unionpay | Loki Else |
Vantiv | lemonstand/omnipay-vantiv | LemonStand |
Veritrans | andylibrian/omnipay-veritrans | Andy Librian |
WebMoney | dercoder/omnipay-webmoney | Alexander Fedra |
labs7in0/omnipay-wechat | 7IN0’s Labs | |
WechatPay | lokielse/omnipay-wechatpay | Loki Else |
WePay | collizo4sky/omnipay-wepay | Agbonghama Collins |
Wirecard | igaponov/omnipay-wirecard | Igor Gaponov |
WorldPay | omnipay/worldpay | Omnipay |
WorldPay XML Direct | teaandcode/omnipay-worldpay-xml | Dave Nash |
Yandex.Money | aTastyCookie/yandexmoney_omnipay | Roman Ananyev |