Omnipay: Gvp
Gvp (Garanti, Denizbank, TEB, ING, Şekerbank, TFKB sanal pos) gateway for Omnipay payment processing library, (*1)
, (*2)
Omnipay is a framework agnostic, multi-gateway payment
processing library for PHP 5.3+. This package implements Gvp (Turkish Payment Gateways) support for Omnipay., (*3)
Gvp (Garanti, Denizbank, TEB, ING, Şekerbank, TFKB) sanal pos hizmeti için omnipay kütüphanesi., (*4)
Installation
Omnipay is installed via Composer. To install, simply add it
to your composer.json file:, (*5)
{
"require": {
"yasinkuyu/omnipay-gvp": "~2.0"
}
}
And run composer to update your dependencies:, (*6)
$ curl -s http://getcomposer.org/installer | php
$ php composer.phar update
Basic Usage
The following gateways are provided by this package:, (*7)
- Gvp
- Garanti
- Denizbank
- TEB
- ING
- Şekerbank
- TFKB
Gateway Methods, (*8)
- authorize($options) - authorize an amount on the customer's card
- capture($options) - capture an amount you have previously authorized
- purchase($options) - authorize and immediately capture an amount on the customer's card
- refund($options) - refund an already processed transaction
- void($options) - generally can only be called up to 24 hours after submitting a transaction
For general usage instructions, please see the main Omnipay
repository., (*9)
Unit Tests
PHPUnit is a programmer-oriented testing framework for PHP. It is an instance of the xUnit architecture for unit testing frameworks., (*10)
Sample App
<?php defined('BASEPATH') OR exit('No direct script access allowed');
use Omnipay\Omnipay;
class GvpTest extends CI_Controller {
public function index() {
$gateway = Omnipay::create('Gvp');
$gateway->setMerchantId("7000679");
$gateway->setTerminalId("30691297");
$gateway->setUserName("PROVAUT");
$gateway->setPassword("123qweASD");
$gateway->setRefundUserName("PROVRFN");
$gateway->setRefundPassword("123qweASD");
$gateway->setTestMode(TRUE);
$options = [
'number' => '4824894728063019',
'expiryMonth' => '06',
'expiryYear' => '2017',
'cvv' => '959',
'fistname' => 'Yasin',
'lastname' => 'Kuyu'
];
$response = $gateway->purchase(
[
//'installment' => '2', # Taksit
//'multiplepoint' => 1, // Set money points (Maxi puan gir)
//'extrapoint' => 150, // Set money points (Maxi puan gir)
'amount' => 100.00,
'orderid' => '',
'card' => $options
]
)->send();
$response = $gateway->authorize(
[
'orderid' => 'asd2',
'transactionId' => '111111111111',
'amount' => 10.00,
'card' => $options
]
)->send();
//
$response = $gateway->capture(
[
'transactionId' => '111111111111',
'amount' => 1.00,
'currency' => 'TRY',
'card' => $options
]
)->send();
$response = $gateway->refund(
[
'transactionId' => '111111111111',
'amount' => 1.00,
'currency' => 'TRY',
'card' => $options
]
)->send();
$response = $gateway->void(
[
'transactionId' => '111111111111',
'authcode' => '123123',
'amount' => 1.00,
'currency' => 'TRY',
'card' => $options
]
)->send();
if ($response->isSuccessful()) {
//echo $response->getTransactionReference();
echo $response->getMessage();
} else {
echo $response->getError();
}
// Debug
//var_dump($response);
}
}
Postnet
Posnet (Yapı Kredi, Vakıfbank, Anadolubank) gateway for Omnipay payment processing library
https://github.com/yasinkuyu/omnipay-posnet, (*11)
NestPay (EST)
(İş Bankası, Akbank, Finansbank, Denizbank, Kuveytturk, Halkbank, Anadolubank, ING Bank, Citibank, Cardplus) gateway for Omnipay payment processing library
https://github.com/yasinkuyu/omnipay-nestpay, (*12)
Iyzico
Iyzico gateway for Omnipay payment processing library
https://github.com/yasinkuyu/omnipay-iyzico, (*13)
BKM Express
BKM Express gateway for Omnipay payment processing library
https://github.com/yasinkuyu/omnipay-bkm, (*14)
Paratika
Paratika (Asseco) (Akbank, TEB, Halkbank, Finansbank, İş Bankası, Şekerbank, Vakıfbank ) gateway for Omnipay payment processing library
https://github.com/yasinkuyu/omnipay-paratika, (*15)
Support
If you are having general issues with Omnipay, we suggest posting on
Stack Overflow. Be sure to add the
omnipay tag so it can be easily found., (*16)
If you want to keep up to date with release anouncements, discuss ideas for the project, or ask more detailed questions, there is also a mailing list which
you can subscribe to., (*17)
If you believe you have found a bug, please report it using the GitHub issue tracker,
or better yet, fork the library and submit a pull request., (*18)