DPG is a package to Laravel that allows you to integrate the Payment Gateway into your application. This package use Omnipay to integrate the payment gateway.
composer require descom/payment-gateway
You can install any module to Omnipay
, sample:
composer require descom/omnipay-offline-dummy
<?php
use Descom\Payment\Payment;
use Omnipay\OfflineDummy\Gateway as OfflineDummyGateway;
Payment::for(new OfflineDummyGateway())
->name('Method Name')
->config([
'return_url' => 'http:/www.localhost/checkout/success',
'cancel_url' => 'http:/www.localhost/checkout/cancel',
'request' => [
'notify_url' => 'http:/api.localhost/payment/paymentdemo/notify',
'return_url' => 'http:/api.localhost/payment/{parameterId}/redirect',
],
]))
->transformer() // Optional, you can use your own transformer with interface Descom\Payment\Transformers\Transformer
->create('paymentdemo');
<?php
use Descom\Payment\Payment;
$payment = Payment::find('paymentdemo');
<?php
use Descom\Payment\Payment;
use Descom\Payment\Transaction;
$payment = Payment::find('paymentdemo');
$transaction = Transaction::for($payment)->create([
'amount' => '10.00',
'merchant_id' => 'order_1',
]);
You optionally can add a relation of a external model:
<?php
use Descom\Payment\Payment;
use Descom\Payment\Transaction;
$payment = Payment::find('paymentdemo');
$transaction = Transaction::for($payment)
->model(Order::find(1))
->create([
'amount' => '10.00',
'merchant_id' => 'order_1',
]);
## Capture Notification
Create Listener to events:
- `Descom\Payment\Events\TransactionPaid`
- `Descom\Payment\Events\TransactionDenied`