sportakal/garantipos

0.1.4 2022-05-30 08:58 UTC

This package is auto-updated.

Last update: 2024-04-29 04:53:58 UTC


README

Garanti bankası sanal pos işlemleri için php entegrasyon kütüphanesidir. 3D Secure, XMLPay ve İade işlemlerini kolayca yapabilirsiniz.

Test ve canlı ortam kullanıcı bilgileri için Garanti Bankası ile iletişime geçmelisiniz.

Installation

Composer

Bağımlılıkları Composer ile yükleyebilirsiniz.

$ composer require sportakal/garantipos

Bağımlılıkları kullanmak için Composer'ın autoload özelliğini kullanın.

require_once('vendor/autoload.php');

Usage

Sanalpos kullanıcı bilgilerinizi Options nesnesine atayın.

use Sportakal\Garantipos\Models\Options;

$options = new Options();
$options->setMode($_ENV['MODE']);
$options->setApiVersion($_ENV['API_VERSION']);
$options->setTerminalId($_ENV['TERMINAL_ID']);
$options->setTerminalProvUserId($_ENV['TERMINAL_PROV_USER_ID_PAY']);
$options->setTerminalProvUserPassword($_ENV['TERMINAL_PROV_USER_PASSWORD']);
$options->setTerminalUserId($_ENV['TERMINAL_USER_ID']);
$options->setTerminalMerchantId($_ENV['TERMINAL_MERCHANT_ID']);
$options->setStoreKey($_ENV['STORE_KEY']);

Kart bilgilerini Card nesnesine atayın.

$card = new Card();
$card->setNumber('5549608789641500');
$card->setExpireDate('0323');
$card->setCVV2('712');

Müşteri bilgilerini Customer nesnesine atayın.

$customer = new Customer();
$customer->setIpAddress('159.146.45.34');
$customer->setEmailAddress('portakalsinan@gmail.com');

Sipariş bilgilerini Order nesnesine atayın.

$order = new Order();
$order->setOrderID('sportakal_garantipos_' . time());

Adres bilgilerini Address nesnesine atayın.

$address = new Address();
$address->setType('B'); // B for 'billing' or S for 'shipping'
$address->setName('Sinan');
$address->setLastName('Portakal');
$address->setPhoneNumber('+90 532 345 67 89');
$address->setText('Kınıklı Mah.');
$address->setDistrict('Pamukkale');
$address->setCity('Denizli');
$address->setCountry('Turkey');

addAddress methoduyla siparişinize ekleyin.

$order->addAddress($address);

İşlem bilgilerini Transaction nesnesine atayın.

$transaction = new Transaction();
$transaction->setInstallmentCnt("");
$transaction->setAmount(1000);
$transaction->setCurrencyCode('TRY');
$transaction->setCardholderPresentCode('0');
$transaction->setMotoInd('N');
$transaction->setDescription('test payment');

Tüm bu nesneleri RequestModel nesnesinde toplayın.

$request = new RequestModel();
$request->setOptions($options);
$request->setCard($card);
$request->setCustomer($customer);
$request->setOrder($order);
$request->setTransaction($transaction);

RequestModel'i yapacağınız işleme göre Request nesnesine atayın.

3D Secure'siz işlem için

$request = new \Sportakal\Garantipos\Requests\Pay($request);

İade işlemi için

$request = new \Sportakal\Garantipos\Requests\Refund($request);

3D Secure Pay işlemi için

$request = new \Sportakal\Garantipos\Requests\ThreeDSecurePay($request);

İşlemlerin sonucu

İşlemin sonucunu aşağıdaki şekilde kontrol edebilirsiniz.

$result = $request->getResult();

$status = $result->getStatus(); //boolean
$message = $result->getStatusMessage(); //string
$error_message = $result->getErrorMessage()); //string

3D Secure işlemlerde mdStatusCode ve mdErrorMessage değerleri de döner.

3D Secure işlemi sonucunda veriler, successUrl veya errorUrl olarak belirlediğiniz adrese post edilir. Bu adreste aşağıdaki methodla bu verileri yakalayabilirsiniz ve mdStatus değerlerini kontrol edebilirsiniz.

$result = new \Sportakal\Garantipos\Results\ThreeDSecurePayResult($options);

$md_status = $result->getMdStatus();
$md_response_message = $result->getResponseMessage();
$md_error_message = $result->getErrorMessage()

İşlemlerin sonucunda Order ve Transaction nesneleri de döner.

$order = $result->getOrder();
$transaction = $result->getTransaction();

/samples klasöründe daha fazla örnek bulabilirsiniz.

Development

Bağımlılıkları yükleyin:

composer install

Milestones

  • Daha fazla işlem türü eklenecek
    • İptal İşlemi
    • Garanti Pay
    • Bin sorgulama
    • TCKN sorgulama
    • Ön Provizyon işlemleri