PHP code example of developertugrul / garanti-pos

1. Go to this page and download the library: Download developertugrul/garanti-pos library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

developertugrul / garanti-pos example snippets


use Developertugrul\GarantiPos\Facades\GarantiPos;

$formHtml = GarantiPos::build3DForm(
    ['order_id' => 'Siparis123', 'amount' => '1000', 'installment' => '', 'security_level' => '3D_PAY'],
    ['number' => '5400...', 'expire_month' => '12', 'expire_year' => '25', 'cvv' => '123'],
    route('payment.success'),
    route('payment.error')
);

$formHtml = GarantiPos::build3DOOSForm(
    ['order_id' => 'Siparis123', 'amount' => '1000'],
    route('payment.success'),
    route('payment.error')
);

$formHtml = GarantiPos::buildGarantiPayForm([
    'order_id' => 'Siparis123',
    'amount' => '1000',
    'company_name' => 'Magaza',
    'bnsuseflag' => 'Y',
    'installments' => [
        ['number' => '2', 'amount' => '1000'],
    ],
    'items' => [
        ['number' => '1', 'product_id' => 'SKU-1', 'product_code' => 'SKU-1', 'quantity' => '1', 'price' => '1000', 'total_amount' => '1000'],
    ],
], route('payment.success'), route('payment.error'));

$response = GarantiPos::garantiPayDataRequest([
    'order_id' => 'Siparis123',
    'amount' => '1000',
    'company_name' => 'Magaza',
    'bnsuseflag' => 'Y',
    'return_server_url' => route('payment.garantipay.server'),
    'return_url' => route('payment.garantipay.return'),
    'tckn' => '11111111110',
    'gsm_number' => '5XXXXXXXXX',
    'total_installment_count' => '2',
    'installments' => [
        ['number' => '2', 'amount' => '1000', 'ratewithreward' => '0'],
    ],
]);

$check = GarantiPos::parse3DResponse($request->all(), [
    'order_id' => $order->number,
    'amount' => $order->amount_minor,
]);

if (!$check['hash_valid'] || !$check['md_status_accepted']) {
    abort(400);
}

$response = GarantiPos::pay3DModel(
    ['order_id' => $order->number, 'amount' => $order->amount_minor],
    [],
    $request->all()
);

$response = GarantiPos::rewardUsage(
    ['order_id' => 'Siparis123', 'amount' => '1000', 'reward_type' => 'BNS'],
    ['number' => '428220...', 'expire_month' => '05', 'expire_year' => '28', 'cvv' => '123'],
    '100'
);

GarantiPos::paySms(['order_id' => 'SMS-1', 'amount' => '100'], $cardData);
GarantiPos::smsPostAuth(['order_id' => 'SMS-1', 'amount' => '100'], '123456');
GarantiPos::payExtre(['order_id' => 'EXTRE-1', 'amount' => '100'], $cardData, '123456789');
GarantiPos::preAuthExtre(['order_id' => 'EXTRE-2', 'amount' => '1'], $cardData, '123456789');
GarantiPos::postAuthExtre(['order_id' => 'EXTRE-3', 'amount' => '1'], '123456789', $cardData);
GarantiPos::payDcc(['order_id' => 'DCC-1', 'amount' => '10000', 'dcc_currency' => '840'], $cardData);
GarantiPos::identifyInquiry(['order_id' => 'TCKN-1', 'amount' => '100'], $cardData, '11111111110');
GarantiPos::buildOOSForm(
    ['order_id' => 'COMMERCIAL-1', 'amount' => '100'],
    route('payment.success'),
    route('payment.error'),
    \Developertugrul\GarantiPos\Enums\TransactionType::COMMERCIAL_CARD
);
GarantiPos::payDownPaymentSale([
    'order_id' => 'DOWN-1',
    'amount' => '1100',
    'down_payment_rate' => '10',
    'installment' => '2',
    'moto_ind' => 'Y',
], $cardData);
GarantiPos::payDelayedSale([
    'order_id' => 'DELAY-1',
    'amount' => '100',
    'delay_day_count' => '10',
    'installment' => '2',
    'moto_ind' => 'Y',
], $cardData);
GarantiPos::payCepBank(['order_id' => 'CEP-1', 'amount' => '100'], [
    'gsm_number' => '5XXXXXXXXX',
    'payment_type' => 'K',
    'hash_date' => '20240613',
    'hash_value' => '...',
]);
GarantiPos::payUtility(['order_id' => 'UTIL-1', 'amount' => '100'], $cardData, [
    'type' => 'F',
    'subscriber_code' => 'SUB-1',
    'invoice_id' => 'INV-1',
]);
GarantiPos::payGsmUnitSales(['order_id' => 'GSM-1', 'amount' => '100'], $cardData, [
    'unit_id' => 'UNIT-1',
    'quantity' => '2',
    'amount' => '50',
]);
GarantiPos::payMoneyCard(['order_id' => 'MONEY-1', 'amount' => '100'], $cardData, [
    'invoice_amount' => '100',
    'migros_cc_discount_amount' => '10',
    'payment_amount' => '90',
]);
GarantiPos::settlementInquiry('20240601', [
    ['currency_code' => '949', 'type' => 'sales', 'count' => '1', 'amount' => '100'],
]);

$formHtml = GarantiPos::build3DForm([
    'order_id' => 'FORM-1',
    'amount' => '1000',
    'utility_pay_invoice_id' => 'INV-1',
    'gsm_quantity' => '2',
    'money_invoice' => '1000',
    'reward_list' => [
        ['type' => 'BNS', 'used_amount' => '100', 'gained_amount' => '0'],
    ],
    'cheque_list' => [
        ['type' => 'P', 'amount' => '50', 'count' => '1'],
    ],
], $cardData, route('payment.success'), route('payment.error'));
bash
cmd.exe /c "cd /d C:\xampp\htdocs\libs\garanti-pos && C:\xampp\php\php.exe vendor\bin\phpunit --configuration phpunit.xml.dist"