1. Go to this page and download the library: Download spiderwebtr/payment-kit 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/ */
use Spiderwebtr\PaymentKit\Facades\PaymentKit;
use Spiderwebtr\PaymentKit\Models\Payment;
use Spiderwebtr\PaymentKit\Payments\CardData;
use Spiderwebtr\PaymentKit\Payments\PaymentService;
public function store(Request $request, PaymentService $payments)
{
$result = $payments->createTransaction(
providerKey: 'rubikpara',
amount: (float) $order->total_amount, // float, decimal string ya da PaymentAmount
description: 'Bağış',
returnUrl: fn (Payment $payment) => route('donation.thanks', $payment),
card: CardData::fromArray((array) $request->input('card_data', [])),
installmentCount: (int) $request->input('installment_count', 1),
);
return PaymentKit::redirectToProcess($result['response']); // 3DS ekranı
}
returnUrl: 'https://site.test/odeme/tamam', // sabit URL
returnUrl: fn (Payment $payment) => route('thanks', $payment), // ödemeye özel URL
// Misafir ödemesi, bir siparişe bağlı:
$payments->createTransaction('rubikpara', $order->total, owner: $order, card: ...);
// Ya da giriş yapmış kullanıcıya:
$payments->createTransaction('rubikpara', 100.0, owner: $request->user(), card: ...);
Payment::forOwner($order)->get(); // bu siparişin ödemeleri
$order->morphMany(Payment::class, 'owner'); // ilişki kurmak isterseniz
namespace App\Listeners;
use Spiderwebtr\PaymentKit\Events\PaymentCompleted;
class MarkOrderPaid
{
public function handle(PaymentCompleted $event): void
{
// $event->payment
}
}