merch-one/laravel-api-sdk

Laravel extension for MerchOne API SDK

1.0.0 2023-04-06 08:42 UTC

This package is not auto-updated.

Last update: 2024-06-28 13:25:21 UTC


README

MerchOne API SDK for Laravel

Packagist Version License Minimum PHP version GitHub last commit

This package provide a Laravel extension that allow developers to easily integrate with MerchOne API.

Installation

composer require merch-one/laravel-api-sdk
  • If you need config in your config root path, run php artisan vendor:publish to publish config.
php artisan vendor:publish --provider="MerchOne\LaravelApiSdk\Providers\MerchOneApiServiceProvider" --tag="config"

Overview

Introduction

This package extends merch-one/php-api-sdk.

For all package tools & possibilities, please check PHP SDK Documentation

To get the list of available endpoints, please check MerchOne API Documentation

Basic Usage

Package provides several ways to interact with.

  • You can use MerchOneApiClient facade.
use MerchOne\LaravelApiSdk\Facades\MerchOneApiClient;

class MyService
 { 
    public function doSomething(): void
     {
        $client = MerchOneApiClient::auth()->...;
    }
}
  • You can use Laravel's dependency injection.
use MerchOne\PhpApiSdk\Contracts\Http\HttpClient;

class MyService
 { 
    public function doSomething(HttpClient $client): void
     {
        $client = $client->auth()->...;
    }
}
  • You can ask Laravel's Service Container to resolve the MerchOne\PhpApiSdk\Contracts\Http\HttpClient interface.
use MerchOne\PhpApiSdk\Contracts\Http\HttpClient;

class MyService
 { 
    public function doSomething(): void
     {
        $client = app(HttpClient::class)->auth()->...;
    }
}

Once the client is instantiated, you can use all the methods described in the PHP SDK Documentation

Configuration

Once the merch-one-api config is published, you can configure the API version and Guzzle request options.

To see all available options, please check Guzzle Documentation

  • The User-Agent, Accept and Content-Type headers, as well as http_error properties CAN NOT be overwritten !