PHP code example of spiderwebtr / payment-kit

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/ */

    

spiderwebtr / payment-kit example snippets


use Illuminate\Support\Facades\Gate;

Gate::define('viewPaymentKit', fn ($user) => in_array($user->email, [
    '[email protected]',
]));

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
    }
}

use Spiderwebtr\PaymentKit\Payments\CardVault;

$card = app(CardVault::class)->store($user, 'rubikpara', [
    'holder_name' => 'Ad Soyad',
    'number' => '5218...9752',
    'expiry_month' => 12,
    'expiry_year' => 30,
    'cvv' => '000',
], label: 'İş kartım');

// Kayıtlı karttan ödeme (kart alanları gerekmez):
$payments->createTransaction('rubikpara', '100.00', storedCard: $card);