1. Go to this page and download the library: Download tarfin-labs/moka 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/ */
tarfin-labs / moka example snippets
use Tarfin\Moka\Facades\Moka;
// With minimal parameters
public function checkoutMinimal()
{
$result = Moka::threeDPayment()->create(
amount: 100.00,
cardHolderName: 'John Doe',
cardNumber: '5555555555555555',
expMonth: '12',
expYear: '2025',
cvc: '123'
);
return $result; // Returns RedirectResponse
}
// With all parameters
public function checkout()
{
$result = Moka::threeDPayment()->create(
amount: 100.00,
cardHolderName: 'John Doe',
cardNumber: '5555555555555555',
expMonth: '12',
expYear: '2025',
cvc: '123',
software: 'Tarfin',
// Optional parameters
returnUrl: 'https://your-site.com/moka-callback', // Defaults to route('callback.handle3D')
installment: 1,
otherTrxCode: 'your-unique-id', // If not provided, a UUID will be generated
isPoolPayment: 0,
isTokenized: 0,
currency: 'TL',
redirectType: 1,
language: 'TR',
description: 'Payment description'
);
// The user will be redirected to Moka's 3D secure page
return $result; // Returns RedirectResponse
}
// With buyer information using method chaining
public function checkoutWithBuyerInfo()
{
$result = Moka::threeDPayment()
->buyerInformation(
fullName: 'John Doe',
gsmNumber: '5551234567',
email: '[email protected]',
address: '123 Main St, City'
)
->create(
amount: 100.00,
cardHolderName: 'John Doe',
cardNumber: '5555555555555555',
expMonth: '12',
expYear: '2025',
cvc: '123'
);
return $result; // Returns RedirectResponse
}
// Without redirect away if you want to handle the payment in your own view
public function checkoutMinimal()
{
$result = Moka::threeDPayment()->create(
amount: 100.00,
cardHolderName: 'John Doe',
cardNumber: '5555555555555555',
expMonth: '12',
expYear: '2025',
cvc: '123',
redirectAway: false // Set false to not redirect away
);
return $result; // Returns Array with parameters Url and CodeForHash
}
// For successful payments
Tarfin\Moka\Events\MokaPaymentSucceededEvent::dispatch($payment);
// For failed payments
Tarfin\Moka\Events\MokaPaymentFailedEvent::dispatch($payment);
// app/Listeners/HandleSuccessfulMokaPayment.php
namespace App\Listeners;
use Tarfin\Moka\Events\MokaPaymentSucceededEvent;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;
class HandleSuccessfulMokaPayment implements ShouldQueue
{
use InteractsWithQueue;
/**
* Handle the event.
*/
public function handle(MokaPaymentSucceededEvent $event): void
{
$payment = $event->mokaPayment;
// Access payment details
$transactionId = $payment->other_trx_code;
$amount = $payment->amount;
// Implement your business logic
// - Complete the order
// - Generate invoice
// - Send confirmation email
// - Update inventory
}
}
// app/Listeners/HandleFailedMokaPayment.php
namespace App\Listeners;
use Tarfin\Moka\Events\MokaPaymentFailedEvent;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Queue\InteractsWithQueue;
class HandleFailedMokaPayment implements ShouldQueue
{
use InteractsWithQueue;
/**
* Handle the event.
*/
public function handle(MokaPaymentFailedEvent $event): void
{
$payment = $event->mokaPayment;
// Access payment details
$transactionId = $payment->other_trx_code;
$failureCode = $payment->result_code;
$failureMessage = $payment->result_message;
// Implement your business logic
// - Update order status
// - Notify customer
// - Log payment failure
}
}
use Tarfin\Moka\Facades\Moka;
// Get payment details using paymentId
$paymentDetails = Moka::paymentDetailList()->get('1170');
// Or get payment details using your transaction code
$paymentDetails = Moka::paymentDetailList()->get(null, 'YOUR_ORDER_CODE_123');