chameleon/yigimphp

Yigim PHP & Laravel package

0.4 2023-04-18 08:27 UTC

This package is auto-updated.

Last update: 2024-04-18 10:54:24 UTC


README

Install

Laravel 5.5+

composer require chameleon/yigimphp

Usage

Laravel

$client = Yigim::createClient([
    'msisdn' => '+994112223344',
    'name'   => 'Client'
]);
$invoice = Yigim::createInvoice([
    'client'    => $client->payload('reference'),
    'name'      => 'Payment Name',
    'amount'    => 100, //1azn
    'currency'  => 944,
    'reference' => 'yourUniquePaymentReference',
    'deadline'  => Carbon::now()->toDateString(),
    'status'    => 4,
    'option'    => [1, 2, 4]
]);
$invoice->payload('number');

//Hook

/**
 * @var \Illuminate\Http\Request $request
 */
$yigimHook = Yigim::handleHook(config('yigim.hook_key'), $request->query());
if ($yigimHook->type() === YigimHook::TYPE['INVOICE']) {
    $invoice = Yigim::getInvoice($yigimHook->reference());
    $invoiceNumber = $invoice->payload('number'));
    if ($invoiceNumber !== null) {
        switch ($yigimHook->action()) {
            case YigimHook::INVOICE_ACTION['PAID_FULL']:
                // pay full
            case YigimHook::INVOICE_ACTION['PAID_PART']:
                // pay part
            case YigimHook::INVOICE_ACTION['CANCEL']:
            case YigimHook::INVOICE_ACTION['DELETE']:
                // Cancel
        }
    }
}