Skip to content

intagono/openpay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Intagono Openpay

Library that simplifies the process of OpenPay Payment Gateway Api

Installation

Begin by installing this package through Composer.

{
    "require": {
        "intagono/openpay": "dev-master"
    }
}

Laravel 5

Register the following Service Provider and Alias

// config/app.php

'providers' => [
    Intagono\Openpay\OpenpayServiceProvider::class,
];

'aliases' => [
    'IntagonoOpenpay' => Intagono\Openpay\OpenpayFacade::class,
];

Then, publish the default configuration.

php artisan vendor:publish

This will add a new configuration file to: config/openpay.php. You will need to create these variables in your .env file with the appropriate values.

<?php

return [

    /*
    | (Boolean) Determines if Openpay is running in production mode.
    */
    'production_mode' => env('OPENPAY_PRODUCTION_MODE'),

    /*
    | Your Merchant ID, found in Openpay Dashboard -- Configuration.
    */
    'merchant_id' => env('OPENPAY_MERCHANT_ID'),

    /*
    | Your Private Key, found in Openpay Dashboard -- Configuration.
    */
    'private_key' => env('OPENPAY_PRIVATE_KEY'),
];

If you want to handle all Openpay Exceptions in one same place, use the following trait in your Exception Handler and modify the render method.

// app/Exceptions/Handler.php

use Intagono\Openpay\OpenpayExceptionTrait;

class Handler extends ExceptionHandler {

    use OpenPayExceptionTrait;

    ...

    public function render($request, Exception $e)
    {
        if ($this->isOpenPayException($e))
        {
            return $this->renderOpenPayException($request, $e);
        }
        else
        {
            return parent::render($request, $e);
        }
    }

}

By default, this trait will catch all Openpay Exceptions and will redirect back with input and the error message. In case of ajax it will return a response with the error message.

Usage

Constructor Injection.

<?php

use Intagono\Openpay\Openpay;

class Foo {

    /**
     * @var \Intagono\Openpay\Openpay
     */
    protected $openpay;

    /**
     * Constructor
     */
    public function __construct(Openpay $openpay)
    {
        $this->openpay = $openpay;
    }

}

Facade

$charge = IntagonoOpenpay::charge($chargeRequest);

Outside Laravel

Intagono\Openpay\Openpay has a dependency in the Openpay core.

require 'vendor/autoload.php';

$openpayCore = \Openpay::getInstance($merchantId, $privayeKey);

$intagonoOpenpay = new \Intagono\Openpay\Openpay($openpayCore);

License

Mit license

About

Library that will be used to connect to payment gateway OpenPay

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages