Omnipay: Posnet
Posnet (Yapı Kredi, Vakıfbank, Anadolubank sanal pos) gateway for Omnipay payment processing library, (*1)
Omnipay is a framework agnostic, multi-gateway payment
processing library for PHP 5.3+. This package implements Posnet (Turkish Payment Gateways) support for Omnipay., (*2)
Posnet (Yapı Kredi, Vakıfbank, Anadolubank) sanal pos hizmeti için omnipay kütüphanesi., (*3)
(Türkçe açıklamalar için http://yasinkuyu.net/omnipay-coklu-odeme-sistemi), (*4)
Installation
Omnipay is installed via Composer. To install, simply add it
to your composer.json
file:, (*5)
{
"require": {
"hasandz/omnipay-posnet": "dev-master"
}
}
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)
- Posnet
- Yapı Kredi
- Vakıfbank
- Anadolubank
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 PosnetTest extends CI_Controller {
public function index() {
$gateway = Omnipay::create('Posnet');
$gateway->setMerchantId("6700000067");
$gateway->setTerminalId("67000067");
$gateway->setTestMode(TRUE);
$options = [
'number' => '4506341010205499',
'expiryMonth' => '03',
'expiryYear' => '2017',
'cvv' => '000'
];
$response = $gateway->purchase(
[
//'installment' => '2', # Taksit
//'multiplepoint' => 1, // Set money points (Maxi puan gir)
//'extrapoint' => 150, // Set money points (Maxi puan gir)
'amount' => 10.00,
'type' => 'sale',
'orderid' => '1s3456z89012345678901234',
'card' => $options
]
)->send();
$response = $gateway->authorize(
[
'type' => 'auth',
'transId' => 'ORDER-365123',
'card' => $options
]
)->send();
$response = $gateway->capture(
[
'type' => 'capt',
'transId' => 'ORDER-365123',
'amount' => 1.00,
'currency' => 'TRY',
'card' => $options
]
)->send();
$response = $gateway->refund(
[
'type' => 'return',
'transId' => 'ORDER-365123',
'amount' => 1.00,
'currency' => 'TRY',
'card' => $options
]
)->send();
$response = $gateway->void(
[
'type' => 'reverse',
'transId' => 'ORDER-365123',
'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);
}
}
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., (*11)
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., (*12)
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., (*13)