elnurxf / omnipay-instamojo

Omnipay 3.0: Instamojo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Omnipay 3.0: Instamojo

Instamojo driver for the Omnipay 3.0 PHP payment processing library

Omnipay is a framework agnostic, multi-gateway payment processing library for PHP 5.3+. This package implements Instamojo Payments API v1.1.

Installation

Omnipay is installed via Composer. To install, simply run:

composer require elnurxf/omnipay-instamojo

Purchase

use Omnipay\Omnipay;

// Setup payment gateway
$gateway = Omnipay::create('Instamojo');
$gateway->setApiKey('abc123');
$gateway->setAuthToken('abc123');

// OR
$gateway->initialize([
    'api_key'    => 'abc123',
    'auth_token' => 'abc123',
    'testMode'   => true,
]);

// Send purchase request
$response = $gateway->purchase(
    [
        'amount'     => '10.00',
        'purpose'    => 'Instamojo Payment',
        'email'      => 'elnurxf@gmail.com',
        'buyer_name' => 'Elnur Akhundov',
        'purpose'    => 'Instamojo Payment',
    ]
)->send();

// Process response
if ($response->isSuccessful() && $response->isRedirect()) {

    // Redirect to offsite payment gateway
    // print_r($response->getData());
    // echo $response->getTransactionStatus();
    $response->redirect();

} else {

    // Request failed
    echo $response->getMessage();
}

Complete Purchase

// Send complete purchase request
$response = $gateway->completePurchase(
    [
        'transactionReference' => $_GET['payment_id'],
    ]
)->send();

// Process response
if ($response->isSuccessful()) {

    // Request was successful
    print_r($response->getData());
    echo $response->getTransactionStatus();

} else {

    // Request failed
    echo $response->getMessage();
}

Refund

// Send refund request
$response = $gateway->refund(
    [
        'transactionReference' => $payment_id,
    ]
)->send();

// Process response
if ($response->isSuccessful()) {

    // Request was successful
    print_r($response->getData());
    echo $response->getTransactionStatus();

} else {

    // Request failed
    echo $response->getMessage();
}

Fetch Payment Request

// Send fetch payment request
$response = $gateway->fetchPaymentRequest(
    [
        'transactionReference' => $payment_request_id,
    ]
)->send();

// Process response
if ($response->isSuccessful()) {

    // Request was successful
    print_r($response->getData());
    echo $response->getTransactionStatus();

} else {

    // Request failed
    echo $response->getMessage();
}

Webhook

use Omnipay\Omnipay;

// Setup payment gateway
$gateway = Omnipay::create('Instamojo');
$gateway->setSalt('abc123');

// Payment notification request
$response = $gateway->acceptNotification()->send();

// Process response
if ($response->isSuccessful()) {

    // Request was successful
    print_r($response->getData());
    echo $response->getTransactionReference();
    echo $response->getTransactionStatus();

} else {

    // Request failed
    echo $response->getMessage();
}

About

Omnipay 3.0: Instamojo

License:MIT License


Languages

Language:PHP 100.0%