Laravel SoapClient Wrapper

Overview

Laravel SoapClient Wrapper

A SoapClient wrapper integration for Laravel.
Makes it easy to use Soap in a Laravel application.

Please report any bugs or features here:
https://github.com/artisaninweb/laravel-soap/issues/

Installation

Laravel

####Installation for Laravel 5.2 and above:

Run composer require artisaninweb/laravel-soap

Add the service provider in app/config/app.php.

Artisaninweb\SoapWrapper\ServiceProvider::class, 

To use the alias, add this to the aliases in app/config/app.php.

'SoapWrapper' => Artisaninweb\SoapWrapper\Facade\SoapWrapper::class,  

####Installation for Laravel 5.1 and below :

Add artisaninweb/laravel-soap as requirement to composer.json

{
    "require": {
        "artisaninweb/laravel-soap": "0.3.*"
    }
}

If you're using Laravel 5.5 or higher you can skip the two config setups below.

Add the service provider in app/config/app.php.

'Artisaninweb\SoapWrapper\ServiceProvider'

To use the facade add this to the facades in app/config/app.php.

'SoapWrapper' => 'Artisaninweb\SoapWrapper\Facade'

Lumen

Open bootstrap/app.php and register the required service provider:

$app->register(Artisaninweb\SoapWrapper\ServiceProvider::class);

register class alias:

class_alias('Artisaninweb\SoapWrapper\Facade', 'SoapWrapper');

Facades must be enabled.

Usage

How to add a service to the wrapper and use it.



namespace App\Http\Controllers;

use Artisaninweb\SoapWrapper\SoapWrapper;
use App\Soap\Request\GetConversionAmount;
use App\Soap\Response\GetConversionAmountResponse;

class SoapController
{
  /**
   * @var SoapWrapper
   */
  protected $soapWrapper;

  /**
   * SoapController constructor.
   *
   * @param SoapWrapper $soapWrapper
   */
  public function __construct(SoapWrapper $soapWrapper)
  {
    $this->soapWrapper = $soapWrapper;
  }

  /**
   * Use the SoapWrapper
   */
  public function show() 
  {
    $this->soapWrapper->add('Currency', function ($service) {
      $service
        ->wsdl('http://currencyconverter.kowabunga.net/converter.asmx?WSDL')
        ->trace(true)
        ->classmap([
          GetConversionAmount::class,
          GetConversionAmountResponse::class,
        ]);
    });

    // Without classmap
    $response = $this->soapWrapper->call('Currency.GetConversionAmount', [
      'CurrencyFrom' => 'USD', 
      'CurrencyTo'   => 'EUR', 
      'RateDate'     => '2014-06-05', 
      'Amount'       => '1000',
    ]);

    var_dump($response);

    // With classmap
    $response = $this->soapWrapper->call('Currency.GetConversionAmount', [
      new GetConversionAmount('USD', 'EUR', '2014-06-05', '1000')
    ]);

    var_dump($response);
    exit;
  }
}

Service functions

$this->soapWrapper->add('Currency', function ($service) {
    $service
        ->wsdl()                 // The WSDL url
        ->trace(true)            // Optional: (parameter: true/false)
        ->header()               // Optional: (parameters: $namespace,$name,$data,$mustunderstand,$actor)
        ->customHeader()         // Optional: (parameters: $customerHeader) Use this to add a custom SoapHeader or extended class                
        ->cookie()               // Optional: (parameters: $name,$value)
        ->location()             // Optional: (parameter: $location)
        ->certificate()          // Optional: (parameter: $certLocation)
        ->cache(WSDL_CACHE_NONE) // Optional: Set the WSDL cache
    
        // Optional: Set some extra options
        ->options([
            'login' => 'username',
            'password' => 'password'
        ])

        // Optional: Classmap
        ->classmap([
          GetConversionAmount::class,
          GetConversionAmountResponse::class,
        ]);
});

Classmap

If you are using classmap you can add folders like for example:

  • App\Soap
  • App\Soap\Request
  • App\Soap\Response

Request: App\Soap\Request\GetConversionAmount



namespace App\Soap\Request;

class GetConversionAmount
{
  /**
   * @var string
   */
  protected $CurrencyFrom;

  /**
   * @var string
   */
  protected $CurrencyTo;

  /**
   * @var string
   */
  protected $RateDate;

  /**
   * @var string
   */
  protected $Amount;

  /**
   * GetConversionAmount constructor.
   *
   * @param string $CurrencyFrom
   * @param string $CurrencyTo
   * @param string $RateDate
   * @param string $Amount
   */
  public function __construct($CurrencyFrom, $CurrencyTo, $RateDate, $Amount)
  {
    $this->CurrencyFrom = $CurrencyFrom;
    $this->CurrencyTo   = $CurrencyTo;
    $this->RateDate     = $RateDate;
    $this->Amount       = $Amount;
  }

  /**
   * @return string
   */
  public function getCurrencyFrom()
  {
    return $this->CurrencyFrom;
  }

  /**
   * @return string
   */
  public function getCurrencyTo()
  {
    return $this->CurrencyTo;
  }

  /**
   * @return string
   */
  public function getRateDate()
  {
    return $this->RateDate;
  }

  /**
   * @return string
   */
  public function getAmount()
  {
    return $this->Amount;
  }
}

Response: App\Soap\Response\GetConversionAmountResponse



namespace App\Soap\Response;

class GetConversionAmountResponse
{
  /**
   * @var string
   */
  protected $GetConversionAmountResult;

  /**
   * GetConversionAmountResponse constructor.
   *
   * @param string
   */
  public function __construct($GetConversionAmountResult)
  {
    $this->GetConversionAmountResult = $GetConversionAmountResult;
  }

  /**
   * @return string
   */
  public function getGetConversionAmountResult()
  {
    return $this->GetConversionAmountResult;
  }
}
Comments
  • CDATA in $data

    CDATA in $data

    Hello,

    I have a problem when I try to pass Cdata to one request. It changes every special character like this:

    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:xxxxx.ws" xmlns:ns2="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"><SOAP-ENV:Header>
                <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
                    <wsse:UsernameToken>
                    <wsse:Username>teste</wsse:Username>
                    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">teste</wsse:Password>
                 </wsse:UsernameToken>
                </wsse:Security>
                </SOAP-ENV:Header><SOAP-ENV:Body>
                            <ns1:contratarSeguro>
                            <ns1:produto>1</ns1:produto>
                            <ns1:canalVenda>Site</ns1:canalVenda>
                            <ns1:operacaoParceiro>1</ns1:operacaoParceiro>
                            <ns1:parametros>&lt;!CDATA[&#13;
                                &lt;parametros&gt;&#13;
                                    &lt;nomeSegurado&gt;RenanLeme&lt;/nomeSegurado&gt;&#13;
                                    &lt;inicioVigencia&gt;2014-11-11&lt;/inicioVigencia&gt;&#13;
                                    &lt;fimVigencia&gt;2014-12-11&lt;/fimVigencia&gt;&#13;
                                    &lt;email&gt;[email protected]&lt;/email&gt;&#13;
                                    &lt;dataNascimento&gt;1990-10-17&lt;/dataNascimento&gt;&#13;
                                    &lt;tipoDocumento&gt;C&lt;/tipoDocumento&gt;&#13;
                                    &lt;documento&gt;1234456789&lt;/documento&gt;&#13;
                                    &lt;premioSeguro&gt;25.00&lt;/premioSeguro&gt;&#13;
                                    &lt;planoProduto&gt;1&lt;/planoProduto&gt;&#13;
                                &lt;/parametros&gt;</ns1:parametros>
    </ns1:contratarSeguro>
    </SOAP-ENV:Body></SOAP-ENV:Envelope>
    

    My Code is:

    $data = [
                'produto' => 1,
                'canalVenda' => 'Site',
                'operacaoParceiro' => 1,
                'parametros' => "<!CDATA[
                    <parametros>
                        <nomeSegurado>RenanLeme</nomeSegurado>
                        <inicioVigencia>2014-11-11</inicioVigencia>
                        <fimVigencia>2014-12-11</fimVigencia>
                        <email>[email protected]</email>
                        <dataNascimento>1990-10-12</dataNascimento>
                        <tipoDocumento>C</tipoDocumento>
                        <documento>132456789</documento>
                        <premioSeguro>25.00</premioSeguro>
                        <planoProduto>1</planoProduto>
                    </parametros>"
    
            ];
    

    Is there a way to fix that? I tried but I couldn't find.

    opened by renanleme 11
  • ErrorException in SoapWrapper.php line 131: Undefined offset: 1

    ErrorException in SoapWrapper.php line 131: Undefined offset: 1

    Hello @artisaninweb

    I'm getting this error when I try get response from webservice.

    this is my code

    $data = [
                'Region_ID'=> 92,
                'Match_ID' => 0,
                'Department_IDs' => '',
                'RegionCoefficient_X' => 1,
                'RegionCoefficient_Y' => 1,
            ];
    
    
            $response = $this->soapWrapper->call('GetEntityLocationList', $data);
            dd($response);
    

    And this is error.

    Whoops, looks like something went wrong.

    1/1
    ErrorException in SoapWrapper.php line 131:
    Undefined offset: 1
    in SoapWrapper.php line 131
    at HandleExceptions->handleError('8', 'Undefined offset: 1', '/Users/mkaya93/Desktop/bonsemployeetracking/vendor/artisaninweb/laravel-soap/src/Artisaninweb/SoapWrapper/SoapWrapper.php', '131', array('call' => 'GetEntityLocationList', 'data' => array('Region_ID' => '92', 'Match_ID' => '0', 'Department_IDs' => '', 'RegionCoefficient_X' => '1', 'RegionCoefficient_Y' => '1'))) in SoapWrapper.php line 131
    at SoapWrapper->call('GetEntityLocationList', array('Region_ID' => '92', 'Match_ID' => '0', 'Department_IDs' => '', 'RegionCoefficient_X' => '1', 'RegionCoefficient_Y' => '1')) in SoapController.php line 48
    at SoapController->show()
    at call_user_func_array(array(object(SoapController), 'show'), array()) in Controller.php line 55
    
    opened by mkaya93 10
  • Not able to authorize client

    Not able to authorize client

    Is there extended document for this package on how to use? I am not able to retrieve value from demo code. Its returning string '0' (length=1) for GetConversionAmountResult. But successfully getting service functions list. How to pass authentication & namespace parameters to soap_call?

    opened by vins13pattar 10
  • How to set content type to 'application/soap+xml; charset=utf-8'.

    How to set content type to 'application/soap+xml; charset=utf-8'.

    When i try to send a request to the WSDL i got this error Cannot process the message because the content type 'text/xml; charset=utf-8' was not the expected type 'application/soap+xml; charset=utf-8'.

    Below is my code. Now how do i set the content type

     public function test(){
    
      	$this->soapWrapper->add('bsedemo', function ($service) {
          $service
            ->wsdl('http://bsestarmfdemo.bseindia.com/MFOrderEntry/MFOrder.svc?singleWsdl')
            ->trace(true);
            
        });
    
      	$response = $this->soapWrapper->call('bsedemo.getPassword', [
          
          'UserId'   => '12456', 
          'Password' => '123456',
          'PassKey' => '1245601',
        ]);
    
      	echo "The response is: ";
        var_dump($response);
    
      	
      }
    
    opened by Naveen95 9
  • Call to a member function __setLocation() on null

    Call to a member function __setLocation() on null

    FatalErrorException in Service.php line 348: Call to a member function __setLocation() on null

    i get this when i add my location url to:

    ->location('https://....')

    to fix this and make my add work i added location in:

    ->options(['location'=>'https://....'])

    bug 
    opened by cladico 9
  • Response is always String 0 or Float -1

    Response is always String 0 or Float -1

    Using the example code in the README.md I keep getting String 0 as the response.

    Rejigging the example to use WebServiceX to obtain conversion rates just nets me Float -1 as a response.

    I am having similar problems accessing any other WSDL / Web Service as-well.

    I'm not exactly the most experienced developer, and at this stage I might just be exhausted, but for the life of me I cannot figure out how to use laravel-soap to return getLastRequest() - I have seen others say to use $service->getClient()->getLastRequest(), but Laravel just complains that $service is an undefined variable.

    /home/vagrant/code/signup/app/Http/Controllers/SoapController.php:43: object(stdClass)[168] public 'ConversionRateResult' => float -1

    
    namespace App\Http\Controllers;
    
    use Artisaninweb\SoapWrapper\SoapWrapper;
    use App\Soap\Request\ConversionRate;
    use App\Soap\Response\ConversionRateResponse;
    
    class SoapController extends Controller
    {
      /**
       * @var SoapWrapper
       */
      protected $soapWrapper;
    
      /**
       * SoapController constructor.
       *
       * @param SoapWrapper $soapWrapper
       */
      public function __construct(SoapWrapper $soapWrapper)
      {
        $this->soapWrapper = $soapWrapper;
      }
    
      /**
       * Use the SoapWrapper
       */
      public function show() 
      {
        $this->soapWrapper->add('Currency', function ($service) {
          $service
            ->wsdl('http://www.webservicex.net/CurrencyConvertor.asmx?WSDL')
            ->trace(true);
        });
    
        // Without classmap
        $response = $this->soapWrapper->call('Currency.ConversionRate', [
          'FromCurrency' => 'EUR', 
          'ToCurrency'   => 'USD', 
        ]);
    
        var_dump($response);
    
      }
    }
    
    
    
    opened by jakeb91 8
  • How to use __getLastRequest method

    How to use __getLastRequest method

    My request:

    $this->soapWrapper = new \Artisaninweb\SoapWrapper\SoapWrapper();
    $this->soapWrapper->add( 'SoapService', function ( $service ) {
    	$caCertificate = __DIR__ . "/Certificate/certificate.pem";
    	$streamContext = stream_context_create( [ 'ssl' => [ 'cafile' => $caCertificate ] ] );
    	$service->wsdl( "SoapServiceURL")
    		->options( [ 'stream_context' => $streamContext ] );
    } );
    $data = [ 'userId'   => 'id-1212121',
      	      'password' => 'id-password',
    	       'data'     => 'data', ];
    $result = $this->soapWrapper->call( 'SoapService.method', [ $data ] );
    

    after calling call method of soapWrapper i want to use __getLastRequest() Log::info( [ "XML response : " => $this->soapWrapper->__getLastRequest() ."\n" ] );

    but whn i trying to call following error occured. Call to undefined method Artisaninweb\SoapWrapper\SoapWrapper::__getLastRequest()

    opened by waqas-mehmood-pk 7
  • FatalThrowableError in Service.php line 356

    FatalThrowableError in Service.php line 356

    FatalThrowableError in Service.php line 356: Fatal error: Class 'SoapClient' not found

    I' dont know what am i doing wrong this is my controller: `<?php namespace cajas\Http\Controllers; use Artisaninweb\SoapWrapper\Facades\SoapWrapper;

    class SoapController extends controller{

    public function demo()
    {
        // Add a new service to the wrapper
        SoapWrapper::add(function ($service) {
            $service
                ->name('currency')
                ->wsdl('http://currencyconverter.kowabunga.net/converter.asmx?WSDL');   
        });
    
        $data = [
            'CurrencyFrom' => 'USD',
            'CurrencyTo'   => 'EUR',
            'RateDate'     => '2014-06-05',
            'Amount'       => '1000'
        ];
    
    
    }
    

    }`

    And the route:

    Route::get('/demo', 'SoapController@demo');

    opened by njtnestor 7
  • ErrorException in Service.php line 186: Array to string conversion

    ErrorException in Service.php line 186: Array to string conversion

    Hi artisaniweb,

    I saw that you fixed some issues which caused the same error. Unfortunately I still get this error.

    ErrorException in Service.php line 186: Array to string conversion
     in Service.php line 186
    at HandleExceptions->handleError('8', 'Array to string conversion', 'C:\xampp\htdocs\cam\laravel\vendor\artisaninweb\laravel-soap\src\Artisaninweb\SoapWrapper\Service.php', '186', array('function' => 'GetSystems', 'params' => array(array('Server' => 'World'))))
    at SoapClient->__call('GetSystems', array(array('Server' => 'World')))
    at SoapClient->GetSystems(array('Server' => 'World'))
    at call_user_func_array(array(object(SoapClient), 'GetSystems'), array(array('Server' => 'World'))) in Service.php line 186
    at Service->call('GetSystems', array(array('Server' => 'World'))) in SoapGetSystemsController.php line 31
    at SoapGetSystemsController->App\Http\Controllers\{closure}(object(Service)) in Wrapper.php line 57
    at Wrapper->service('getsystems', object(Closure)) in Facade.php line 213
    ...
    

    I implemented the code exactly in the way you described.

    class SoapGetSystemsController extends Controller{
    
        public function demo()
        {
            // Add a new service to the wrapper
            SoapWrapper::add(function ($service) {
                $service
                    ->name('getsystems')
                    ->wsdl('xxxxxxxxxxxxxxxx')
                    ->trace(true)                                                   // Optional: (parameter: true/false)
                    ->cache(WSDL_CACHE_NONE)                                        // Optional: Set the WSDL cache
                    ->options(['login' => 'xxxxxxxxxxxxxx', 'password' => 'xxxxxxxxxxxxxx']);   // Optional: Set some extra options
            });
    
            $data = [
                'Server' => 'World'
            ];
    
            // Using the added service
            SoapWrapper::service('getsystems', function ($service) use ($data) {
                var_dump($service->getFunctions());
                var_dump($service->call('GetSystems', [$data])->GetSystemsResult);
            });
    
    
            return view('systemaccess.getsystems')->with('data', $data);
        }
    
    }
    

    Only if I store a string for $data, I get an other result, but this could be not the way as I have to pass some (XML) data with the SOAP request. I would be very happy, if you could help me with this issue.

    Best regards

    Jakob

    opened by jakobwako 7
  • send sessionId with calls

    send sessionId with calls

    Hi guys,

    I'm having some issues with staying authenticated when performing calls with this package. I have one call to a function with username & password and this returns me a sessionId. How do i send this sessionId with the next calls?

    ps: i used this package before in Lumen, and i didn't had this issue somehow.

    opened by nickbr5 5
  • Is trace working ?

    Is trace working ?

    I would like to monitor and troubleshoot my requests, maybe the $service->trace(true) could help. Does it actually work ? Where can I see the traces ?

    opened by sebnyc 5
  • Service 'OU' already exists

    Service 'OU' already exists

    Hello, I'm trying to bulding a kind of API routes in Laravel9 but when try a php artisan route:list command, returns:

    Artisaninweb\SoapWrapper\Exceptions\ServiceAlreadyExists
    Service 'OU' already exists.
    at C:\wamp64\www\soap-laravel\vendor\artisaninweb\laravel-soap\src\Artisaninweb\SoapWrapper\SoapWrapper.php:47
     43▕
     44▕       return $this;
     45▕     }
     46▕
    ➜  47▕     throw new ServiceAlreadyExists("Service '" . $name . "' already exists.");
     48▕   }
     49▕
     50▕   /**
     51▕    * Add services by array
            services by array
    
    1   C:\wamp64\www\soap-laravel\app\Http\Controllers\OperacionesUnificadasController.php:23
      Artisaninweb\SoapWrapper\SoapWrapper::add("OU", Object(Closure))
    
    2   [internal]:0
      App\Http\Controllers\OperacionesUnificadasController::__construct(Object(Artisaninweb\SoapWrapper\SoapWrapper))
    

    I'm usign this version "artisaninweb/laravel-soap": "0.3.0.10",

    I checked all my controllers and anyone is repeat.

    This is my __contructor().

    public function __construct(SoapWrapper $soapWrapper)
    {
        $this->soapWrapper = $soapWrapper;
        
        $this->soapWrapper->add( 'OU', function($service){
    
            $service
            ->wsdl( 'myURL' )
            ->trace( TRUE );
    
        });
    
    }
    

    This function is for POST request

    public function getNiveles( Request $request){
    
        //here the request is empty with fetch but with cURL is correct
        //return $request;
    
        $params = $request->toArray();
        
        /*all methods are diferent*/
        $niveles = $this->soapWrapper->call('OU.Mymethod', [ $params ]);
    
        if(!$niveles){
            return response()->json(['messagge' => 'error']);
        }else {
            return $niveles->ObtenerCatalogoNivelEscolarResult->NivelDTO;
        }
    }
    

    My routes

    Route::controller(OperacionesUnificadasController::class)->group(function(){
        // route with Reques method
        Route::get('oferta/planteles', 'getPlanteles');
        Route::any('oferta/niveles', 'getNiveles');
        Route::post('oferta/periodos', 'getPeriodos');
        Route::post('oferta/carreras', 'getCarreras');
        Route::post('oferta/turnos', 'getTurnos');
        Route::post('agrega-prospecto', 'addProspecto');
        Route::post('verifica-prospecto', 'existeProspecto');
        Route::get('estados', 'getEstados');
        Route::post('municipios', 'getMunicipios');
        Route::post('proyeccion', 'addProyeccion');
        Route::post('dia-unimex', 'addDiaUnimex');
        Route::post('prospectacion', 'addProspectacion');
    }); 
    
    opened by artmcel 0
  • Improved extensibility

    Improved extensibility

    First of all, thanks for putting this together!

    For my use case, I found this package wasn't very friendly to the Service Container, so I have made some changes to rectify that. Also, I updated the code to follow PSR-12 standards.

    The changes should be backwards-compatible too.

    opened by jonathandey 0
  • How can i send soap headers

    How can i send soap headers

    I am unable to pass following authentication credentials in soap headers. <soap:Header> <UserSessionCredentials xmlns=""> <UserId>int</UserId> <clientId>string</clientId>string</UserSessionCredentials> </soap:Header> <soap:Body> <GetSaveTemplate xmlns=""> <templateName>string</templateName> </GetSaveTemplate> </soap:Body>

    Also when i am trying to send headers in $service->header($namespace, $name, $data), its returning following error: Server was unable to process request. ---> Object reference not set to an instance of an object.

    Any kind of help would be really appreciated.

    opened by monika-mni 2
  • laravel 8 not working

    laravel 8 not working

    Your requirements could not be resolved to an installable set of packages.

    Problem 1 - codedredd/laravel-soap[v1.5.0, ..., v1.5.1] require illuminate/support ^5.6 || ^6.0 || ^7.0 -> found illuminate/support[v5.6.0, ..., 5.8.x-dev, v6.0.0, ..., 6.x-dev, v7.0.0, ..., 7.x-dev] but it conflicts with your root composer.json require (^8.56). - Root composer.json requires codedredd/laravel-soap ^1.5 -> satisfiable by codedredd/laravel-soap[v1.5.0, v1.5.1].

    opened by vinchamp 1
Releases(0.3.0.10)
Owner
Michael v/d Rijt
Michael v/d Rijt
A Laravel Wrapper for the CoinDCX API. Now easily connect and consume the CoinDCX Public API in your Laravel apps without any hassle.

This package provides a Laravel Wrapper for the CoinDCX API and allows you to easily communicate with it. Important Note This package is in early deve

Moinuddin S. Khaja 2 Feb 16, 2022
A CommonMark wrapper for Laravel

Laravel Markdown Laravel Markdown was created by, and is maintained by Graham Campbell, and is a CommonMark wrapper for Laravel. It ships with integra

Graham Campbell 1.2k Jan 2, 2023
Laravel wrapper package for the Aimon.it API

Laravel Aimon Package A laravel wrapper package for the Aimon.it API. For more information see Aimon Requirements Laravel 6 or later Installation Inst

Ruslan 3 Aug 7, 2022
PayuMoney Gateway wrapper for Laravel.

PayuMoney Integration with Laravel Easy to use integration for PayUMoney into Laravel apps. Video Tutorial Usage composer require infyomlabs/laravel-p

InfyOmLabs (InfyOm Technologies) 10 Nov 29, 2022
A Laravel wrapper for spatie/dns. Allows to query and validate DNS records.

A Laravel wrapper for spatie/dns. Allows to query and validate DNS records.

Astrotomic 22 Nov 17, 2022
Laravel API wrapper to interact fluently with your Janus Media Server

Laravel API wrapper to interact fluently with your Janus Media Server. Core server interactions, as well as the video room plugin included.

Richard  Tippin 11 Aug 21, 2022
A laravel wrapper for BnpParibas Mercanet payment gateway

Laravel Mercanet A laravel wrapper for BnpParibas Mercanet which provide a lightweight public api to process your online payments from your laravel ap

Mouad ZIANI 29 Nov 27, 2022
Open Food Facts API wrapper for Laravel

Laravel Open Food Facts API This package provides a convenient wrapper to the Open Food Facts API for Laravel applications (5.7+). Installation You ca

Open Food Facts 112 Jan 4, 2023
a Google API v3 wrapper for Laravel 4.x

A Google API v3 wrapper for Laravel 4 This package enables a Laravel flavoured way to manage Google services through its API interface (v3) Installati

null 4 Nov 29, 2022
27Laracurl Laravel wrapper package for PHP cURL class that provides OOP interface to cURL. [10/27/2015] View Details

Laracurl Laravel cURL Wrapper for Andreas Lutro's OOP cURL Class Installation To install the package, simply add the following to your Laravel install

zjango 8 Sep 9, 2018
Laravel wrapper for Sentry Official API

Laravel Sentry API Provides a simple laravel wrapper to some of the endpoints listed on (Official Sentry API)[https://docs.sentry.io/api/]. **Note: Th

Pedro Santiago 1 Nov 1, 2021
A wrapper package to run mysqldump from laravel console commands.

A wrapper package to run mysqldump from laravel console commands.

Yada Khov 24 Jun 24, 2022
Laravel wrapper for the Gmail API

Laravel Gmail Gmail Gmail API for Laravel 8 You need to create an application in the Google Console. Guidance here. if you need Laravel 5 compatibilit

Daniel Castro 244 Jan 3, 2023
Simple and ready to use API response wrapper for Laravel.

Laravel API Response Simple Laravel API response wrapper. Installation Install the package through composer: $ composer require obiefy/api-response Re

Obay Hamed 155 Dec 14, 2022
Laravel wrapper for zendesk/zendesk_api_client_php package.

Laravel Zendesk This package provides integration with the Zendesk API. It supports creating tickets, retrieving and updating tickets, deleting ticket

Huddle Digital 97 Dec 22, 2022
A DOMPDF Wrapper for Laravel

DOMPDF Wrapper for Laravel Laravel wrapper for Dompdf HTML to PDF Converter Require this package in your composer.json and update composer. This will

Barry vd. Heuvel 5.6k Dec 25, 2022
A Laravel wrapper for apex charts

Larapex Charts A Laravel wrapper for apex charts library Check the documentation on: Larapex Chart Docs. Installation Use composer. composer require a

ArielMejiaDev 189 Dec 26, 2022
A Laravel wrapper for healthchecks.io

Healthchecks.io is a service that monitors your cron jobs and alerts you when they are down. This package is a wrapper for the Healthchecks.io API.

Robin Martijn 4 Nov 7, 2022
A wrapper of voku/anti-xss for Laravel

Laravel Security Laravel Security was created by, and is maintained by Graham Campbell, and is a voku/anti-xss wrapper for Laravel, using graham-campb

Graham Campbell 170 Nov 20, 2022