abdallahmohammed/urway-laravel

URWAY REST API package for Laravel

1.2.3 2023-07-31 00:23 UTC

This package is auto-updated.

Last update: 2024-03-30 00:30:47 UTC


README

Installation

composer require abdallahmohammed/urway-laravel

In Laravel starting from 6.x the service provider will automatically get registered. In older versions of the framework just add the service provider in config/app.php file:

'providers' => [
    // ...
    URWay\URWayServiceProvider::class,
],

You can optionally register the facade in config/app.php

'facades' => [
    // ...
    'URWay' => URWay\Facade\URWay::class,
],

You can publish using the following command

php artisan vendor:publish --provider="URWay\URWayServiceProvider"

When published, the config/urway.php config file contains:

<?php

return [
    'mode' => env('URWAY_MODE', 'test'),
    'auth' => [
        'terminal_id' => env('URWAY_TERMINAL_ID'),
        'password' => env('URWAY_PASSWORD'),
        'merchant_key' => env('URWAY_MERCHANT_KEY'),
    ],
];

Usage

use URWay\Client;

// Create clint instance.
$client = new Client();

$client->setTrackId('YOUR_TRAKING_ID')
        ->setCustomerEmail('...')
        ->setCustomerIp('...')
        ->setCurrency('USD')
        ->setCountry('EG')
        ->setAmount(5)
        ->setRedirectUrl('...');

// Replace presented attributes with the given array.
$client->setAttributes([
    '...' => '...'
]);

// Merge presented attributes the given array.
$client->mergeAttributes([
    '...' => '...'
]);

// Replace one of presented attributes with the new value.
$client->setAttribute('...', '...');

// Remove one of attributes.
$client->removeAttribute('...');

// Determine whether an attribute exists.
$client->hasAttribute('...'); // returns boolean (true, or false)

$redirect_url = $client->pay();

return redirect()->url($redirect_url);

And on callback to handle response put the following code:

use URWay\Client;

// Create clint instance.
$client = new Client();

$response = $client->find('TRANSACTION_ID');

if ($response->isSuccess()) {
    //
}

if ($response->isFailure()) {
    //
}

// To dump all payment details.
dd($response);

Production

To use this package in production mode, just update the mode value to production in the config/urway.php file.