PHP code example of err0r / laratransaction

1. Go to this page and download the library: Download err0r/laratransaction 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/ */

    

err0r / laratransaction example snippets


use Err0r\Laratransaction\Traits\HasTransaction;

class Order extends Model
{
    use HasTransaction;
}

use Err0r\Laratransaction\Builders\TransactionBuilder;
use Err0r\Laratransaction\Enums\TransactionStatus;
use Err0r\Laratransaction\Enums\TransactionType;
use Err0r\Laratransaction\Enums\PaymentMethod;

// Create a transaction for an order
$order = Order::find(1);

$order->transactionBuilder()
    ->status(TransactionStatus::PENDING)
    ->type(TransactionType::PAYMENT)
    ->paymentMethod(PaymentMethod::CREDIT_CARD)
    ->amount(100.00, 'USD')
    ->gateway('stripe')
    ->gatewayTransactionId('ch_123456')
    ->metadata(['order_id' => 12345])
    ->save();

// Or use the static method
$transaction = TransactionBuilder::create()
    ->transactionable($order)
    ->status(TransactionStatus::PENDING)
    ->type(TransactionType::PAYMENT)
    ->paymentMethod(PaymentMethod::CREDIT_CARD)
    ->amount(100.00, 'USD')
    ->gateway('stripe')
    ->gatewayTransactionId('ch_123456')
    ->metadata(['order_id' => 12345])
    ->save();

// Get all pending transactions
Transaction::pending()->get();

// Get completed transactions
Transaction::completed()->get();

// Get failed transactions
Transaction::failed()->get();

// Get cancelled transactions
Transaction::cancelled()->get();

$transaction->isPending();  
$transaction->isCompleted();
$transaction->isFailed();   
$transaction->isCancelled();

use Err0r\Laratransaction\Enums\TransactionStatus;

$transaction->markAsCompleted();
$transaction->markAsFailed();
$transaction->markAsCancelled();

$transaction->setStatus(TransactionStatus::COMPLETED);
$transaction->save();

use Err0r\Laratransaction\Enums\TransactionType;

$transaction->setType(TransactionType::REFUND);
$transaction->save();

use Err0r\Laratransaction\Enums\PaymentMethod;

$transaction->setPaymentMethod(PaymentMethod::BANK_TRANSFER);
$transaction->save();

// Get all transactions for a model
$order->transactions;

// Get the latest transaction
$order->latestTransaction;

// Access transaction details
$transaction->status;     // TransactionStatus model
$transaction->type;       // TransactionType model
$transaction->paymentMethod;  // PaymentMethod model
bash
php artisan vendor:publish --tag="laratransaction-config"
bash
php artisan vendor:publish --tag="laratransaction-migrations"
php artisan migrate
bash
php artisan vendor:publish --tag="laratransaction-translations"
bash
php artisan laratransaction:seed