adrianbarbos / mobilpay by adrianbarbos

Laravel 5 mobilpay wrapper around omnipay with omnipay-mobilpay driver
6,283
19
8
Package Data
Maintainer Username: adrianbarbos
Maintainer Contact: ady.barbos@gmail.com (adrianbarbos)
Package Create Date: 2017-04-06
Package Last Update: 2024-08-06
Language: PHP
License: MIT
Last Refreshed: 2024-11-19 03:07:40
Package Statistics
Total Downloads: 6,283
Monthly Downloads: 8
Daily Downloads: 1
Total Stars: 19
Total Watchers: 8
Total Forks: 23
Total Open Issues: 5

Mobilpay

Laravel 5 mobilpay wrapper around omnipay with omnipay-mobilpay driver Edit Add topics

Table of Contents

  • Installation
    • Composer
    • Laravel
  • Basic Usage
    • Initiating Payment Request
    • Handle Reponse
  • Options
    • Order Id
    • Amount
    • Currency
    • Details
    • Confirm Url
    • Return Url
    • Test Mode
    • Additional Params

Installation

Composer

Add Laravel Localization to your composer.json file.

{
    "require": {
        "omnipay/common": "~2.0",
        "business-mastery/omnipay-mobilpay": "~1.0",
        "adrianbarbos/mobilpay": "~1.0.0"
    }
}

Run composer update to get the latest version of the package.

Laravel

Mobilpay comes with a service provider for Laravel. You'll need to add it to your composer.json as mentioned in the above steps, then register the service provider with your application.

Open config/app.php and find the providers key. Add MobilpayServiceProvider to the array.

...
Adrianbarbos\Mobilpay\MobilpayServiceProvider::class,
...

Add the required aliases to the list of class aliases in the same file.

...
'Omnipay' => Omnipay\Omnipay::class,
'Mobilpay'	=> Adrianbarbos\Mobilpay\Mobilpay::class,
...

Publish config.

php artisan vendor:publish --provider="Adrianbarbos\Mobilpay\MobilpayServiceProvider"

Basic Usage

Initiating Payment Request

// controller function

Mobilpay::setOrderId(1)
        ->setAmount('10.00')
        ->setDetails('Some details')
        ->purchase();

Handle Reponse

// controller function

$response = Mobilpay::response();

$data = $response->getData(); //array

switch($response->getMessage())
{
    case 'confirmed_pending': // transaction is pending review. After this is done, a new IPN request will be sent with either confirmation or cancellation

        //update DB, SET status = "pending"

        break;
    case 'paid_pending': // transaction is pending review. After this is done, a new IPN request will be sent with either confirmation or cancellation

        //update DB, SET status = "pending"

        break;
    case 'paid': // transaction is pending authorization. After this is done, a new IPN request will be sent with either confirmation or cancellation

        //update DB, SET status = "open/preauthorized"

        break;
    case 'confirmed': // transaction is finalized, the money have been captured from the customer's account

        //update DB, SET status = "confirmed/captured"

        break;
    case 'canceled': // transaction is canceled

        //update DB, SET status = "canceled"

        break;
    case 'credit': // transaction has been refunded

        //update DB, SET status = "refunded"

        break;
}	                

Options

Order id

/**
 * @param $value string
 * @return $this
 */

public function setOrderId($value)

Amount

/**
 * @param $value string
 * @return $this
 */

public function setAmount($value)

Currency

/**
 * @param $value string
 * @return $this
 */

public function setCurrency($value)

Details

/**
 * @param $value string
 * @return $this
 */

public function setDetails($value)

Confirm Url

/**
 * @param $value string
 * @return $this
 */

public function setConfirmUrl($value)

Return Url

/**
 * @param $value string
 * @return $this
 */

public function setReturnUrl($value)

Test Mode

/**
 * @param $value boolean
 * @return $this
 */

public function setTestMode($value)

Additional Params

/**
 * @param $value array
 * @return $this
 */

public function setAdditionalParams($value)