1. Go to this page and download the library: Download klc/tami-laravel 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/ */
klc / tami-laravel example snippets
use Klc\Tami\Facades\Tami;
use Klc\Tami\DTOs\CardDto;
use Klc\Tami\DTOs\AddressDto;
use Klc\Tami\DTOs\BuyerDto;
use Klc\Tami\DTOs\BasketItemDto;
use Klc\Tami\DTOs\BasketDto;
use Klc\Tami\DTOs\Payment\AuthRequestDto;
use Klc\Tami\Enums\ItemType;
use Klc\Tami\Enums\PaymentChannel;
// Kart
$card = new CardDto(
number: '4824910501747014',
holderName: 'Örnek Kullanıcı',
cvv: '123',
expireMonth: 12,
expireYear: 2026,
);
// Adres
$address = new AddressDto(
address: 'Örnek Mah. Test Sk. No:1',
city: 'İstanbul',
companyName: 'Örnek Firma',
country: 'Türkiye',
district: 'Kadıköy',
contactName: 'Örnek İletişim',
phoneNumber: '05555555555',
zipCode: '34700',
);
// Alıcı
$buyer = new BuyerDto(
ipAddress: '127.0.0.1',
buyerId: 'buyer-001',
name: 'Örnek',
surName: 'Kullanıcı',
emailAddress: '[email protected]',
phoneNumber: '05555555555',
// Aşağıdaki alanlar Tami dokümanında opsiyonel/senaryoya bağlıdır.
identityNumber: '11111111111',
city: 'İstanbul',
country: 'Türkiye',
zipCode: '34700',
registrationAddress: 'Örnek Mah. Test Sk. No:1',
registrationDate: '2023-01-01T10:00:00',
lastLoginDate: '2023-06-01T10:00:00',
);
// Sepet
$item = new BasketItemDto(
itemId: 'item-001',
name: 'Örnek Ürün',
itemType: ItemType::Physical,
numberOfProducts: 1,
totalPrice: '100.00',
unitPrice: '100.00',
category: 'Elektronik',
subCategory: 'Bilgisayar',
);
$basket = new BasketDto('basket-001', [$item]);
// Ödeme isteği
$dto = new AuthRequestDto(
orderId: 'order-' . uniqid(),
amount: '100.00',
currency: 'TRY',
installmentCount: 1,
paymentGroup: 'PRODUCT',
paymentChannel: PaymentChannel::Web,
card: $card,
billingAddress: $address,
shippingAddress: $address,
buyer: $buyer,
basket: $basket,
);
// Ödemeyi gerçekleştir
$response = Tami::payment()->auth($dto);
if ($response->isSuccess()) {
echo "Ödeme başarılı! Sipariş: " . $response->getOrderId();
} else {
echo "Hata: " . $response->getErrorCode() . " - " . $response->getErrorMessage();
}
// EventServiceProvider.php
use Klc\Tami\Events\TamiPaymentSucceeded;
use Klc\Tami\Events\TamiPaymentFailed;
protected $listen = [
TamiPaymentSucceeded::class => [
// Siparişi tamamla, stok düş, vs.
],
TamiPaymentFailed::class => [
// Hata logla, kullanıcıyı bilgilendir
],
];
$preAuthResponse = Tami::payment()->preAuth($authDto);
// Daha sonra kapama (capture)
use Klc\Tami\DTOs\Payment\PostAuthRequestDto;
$postAuthDto = new PostAuthRequestDto(
orderId: $preAuthResponse->getOrderId(),
amount: '100.00', // Kısmi kapama için daha düşük tutar
);
$captureResponse = Tami::payment()->postAuth($postAuthDto);
use Klc\Tami\DTOs\Payment\ReverseRequestDto;
// Tam iade
$reverseDto = new ReverseRequestDto(orderId: 'order-123');
$reverseResponse = Tami::payment()->reverse($reverseDto);
// Kısmi iade
$reverseDto = new ReverseRequestDto(
orderId: 'order-123',
amount: '50.00',
reason: 'Kısmi iade',
);
$reverseResponse = Tami::payment()->reverse($reverseDto);