Skip to content

elnurxf/omnipay-instamojo

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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();
}

Releases

No releases published

Packages

No packages published

Languages

  • PHP 100.0%