Instamojo driver for the Omnipay 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.
Omnipay is installed via Composer. To install, simply run:
composer require gentor/omnipay-instamojo
use Omnipay\Omnipay;
// Setup payment gateway
$gateway = Omnipay::create('Instamojo');
$gateway->setApiKey('abc123');
$gateway->setAuthToken('abc123');
// Send purchase request
$response = $gateway->purchase(
[
'amount' => '10.00',
'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();
}
// 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();
}
// 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();
}
// 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();
}
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();
}