PHP code example of developertugrul / paytr-laravel-client
1. Go to this page and download the library: Download developertugrul/paytr-laravel-client 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 / paytr-laravel-client example snippets
use Paytr\Facades\Paytr;
// Direct API ile ödeme
$response = Paytr::payment()->pay([
'merchant_oid' => 'ORDER123',
'email' => '[email protected] ',
'amount' => 10000, // 100 TL
'currency' => 'TL',
'user_name' => 'John Doe',
'user_address' => 'İstanbul, Türkiye',
'user_phone' => '5551234567',
'ok_url' => 'https://example.com/success',
'fail_url' => 'https://example.com/fail',
'basket' => [
['name' => 'Ürün 1', 'price' => 10000, 'quantity' => 1],
],
'installment_count' => 0,
'non_3d' => 0,
// Süre sınırı isteğe bağlıdır, belirtilmezse PAYTR_DEFAULT_TIMEOUT kullanılır
'timeout_limit' => 0,
]);
// iFrame API ile token oluşturma
$token = Paytr::payment()->createIframeToken([
'merchant_oid' => 'ORDER123',
'email' => '[email protected] ',
'amount' => 10000,
'user_name' => 'John Doe',
'user_address' => 'İstanbul, Türkiye',
'user_phone' => '5551234567',
'ok_url' => 'https://example.com/success',
'fail_url' => 'https://example.com/fail',
'basket' => [
['name' => 'Ürün 1', 'price' => 10000, 'quantity' => 1],
],
]);
// Ödeme durumu sorgulama
$status = Paytr::payment()->getPaymentStatus('ORDER123');
// Tam iptal
Paytr::cancel()->cancel('ORDER123');
// Kısmi iptal
Paytr::cancel()->partialCancel('ORDER123', 5000); // 50 TL
// Yeni kart kaydetme
$cardToken = Paytr::card()->storeCard([
'customer_id' => 'CUST123',
'cc_owner' => 'John Doe',
'card_number' => '4111111111111111',
'expiry_month' => '12',
'expiry_year' => '2025',
'cvv' => '123',
]);
// Kayıtlı kartla ödeme
Paytr::card()->payWithCard($cardToken, [
'amount' => 10000,
'merchant_oid' => 'ORDER123',
'installment_count' => 0,
]);
// Kartları listeleme
$cards = Paytr::card()->listCards('CUST123');
// Kart silme
Paytr::card()->deleteCard($cardToken);
// routes/paytr.php dosyasında
Route::post('/paytr/webhook', [WebhookController::class, 'handle'])
->middleware('paytr.signature');
use Paytr\Facades\Paytr;
// 1. Link ile ödeme oluşturma
$link = Paytr::link()->createLink([
'email' => '[email protected] ',
'amount' => 10000,
'user_name' => 'John Doe',
'user_address' => 'İstanbul',
'user_phone' => '5551234567',
'basket' => [
['name' => 'Ürün 1', 'price' => 10000, 'quantity' => 1],
],
]);
// Link silme
Paytr::link()->deleteLink($link['link_id']);
// Link SMS/Email bildirimi
Paytr::link()->sendLinkNotification($link['link_id'], 'sms');
// 2. Ön Provizyon (Pre-Provision)
Paytr::payment()->preProvision([
'merchant_oid' => 'ORDER123',
'email' => '[email protected] ',
'amount' => 10000,
'user_name' => 'John Doe',
'user_address' => 'İstanbul',
'user_phone' => '5551234567',
'basket' => [
['name' => 'Ürün 1', 'price' => 10000, 'quantity' => 1],
],
]);
// 3. EFT/Havale iFrame ile ödeme
Paytr::payment()->createEftIframe([
'merchant_oid' => 'ORDER123',
'email' => '[email protected] ',
'amount' => 10000,
'user_name' => 'John Doe',
'user_address' => 'İstanbul',
'user_phone' => '5551234567',
'basket' => [
['name' => 'Ürün 1', 'price' => 10000, 'quantity' => 1],
],
]);
// 4. Platform Transfer işlemleri
Paytr::platform()->createTransfer([
'amount' => 10000,
'iban' => 'TR000000000000000000000000',
'description' => 'Alt bayi ödemesi',
]);
Paytr::platform()->getTransferResult('TRANSFER_ID');
Paytr::platform()->getReturningPayments([
'date_start' => '2024-01-01',
'date_end' => '2024-01-31',
]);
Paytr::platform()->sendReturningPayment([
'trans_id' => '123456',
'amount' => 5000,
'iban' => 'TR000000000000000000000000',
'name' => 'John Doe',
]);
// 5. BKM Express ile ödeme
Paytr::payment()->payWithBkmExpress([
'merchant_oid' => 'ORDER123',
'email' => '[email protected] ',
'amount' => 10000,
'user_name' => 'John Doe',
'user_address' => 'İstanbul',
'user_phone' => '5551234567',
'basket' => [
['name' => 'Ürün 1', 'price' => 10000, 'quantity' => 1],
],
]);
// 6. Taksit oranı sorgulama
Paytr::payment()->getInstallmentRates('411111');
// 7. BIN sorgulama
Paytr::payment()->lookupBin('411111');
// 8. İşlem detayı sorgulama
Paytr::payment()->getTransactionDetail('ORDER123');
// 9. Ödeme raporu (statement)
Paytr::payment()->getPaymentStatement([
'date_start' => '2024-01-01',
'date_end' => '2024-01-31',
]);
// 10. Ödeme detayı sorgulama
Paytr::payment()->getPaymentDetail('PAYMENT_ID');
// 11. İade durumu sorgulama
Paytr::refund()->getRefundStatus('ORDER123');
// 12. Tekrarlayan ödeme (recurring)
Paytr::card()->recurringPayment($cardToken, [
'amount' => 10000,
'merchant_oid' => 'ORDER123',
'installment_count' => 0,
]);
bash
# Patch versiyonu (hata düzeltmeleri) - 1.0.0 -> 1.0.1
php version-update.php patch
# Minor versiyonu (yeni özellikler) - 1.0.0 -> 1.1.0
php version-update.php minor
# Major versiyonu (büyük değişiklikler) - 1.0.0 -> 2.0.0
php version-update.php major
bash
php artisan test --filter=Paytr