PHP code example of kiankamgar / php-moadian

1. Go to this page and download the library: Download kiankamgar/php-moadian library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

kiankamgar / php-moadian example snippets




use KianKamgar\MoadianPhp\Moadian;

$moadian = new Moadian(
        $privateKeyFilePath,
        $certificateFilePath,
        $memoryId,
        $economicalCode
    );

$fiscalInformation = $moadian->getFiscalInformation();

$economicCode = $fiscalInformation->getEconomicCode();
$fiscalStatus = $fiscalInformation->getFiscalStatus();
$nameTrade = $fiscalInformation->getNameTrade();
$nationalId = $fiscalInformation->getNationalId();

$taxPayer = $moadian->getTaxPayer();

$nameTrade = $taxPayer->getNameTrade();
$nationalId = $taxPayer->getNationalId();
$taxpayerStatus = $taxPayer->getTaxpayerStatus();

use KianKamgar\MoadianPhp\Invoice;

$invoice = new Invoice();
$invoice->header($moadian->getMemoryId())
        ->setInty(1)
        ->setInp(1)
        ->setIns(1)
        ->setTins("14003778990")
        ->setTob(2)
        ->setBid("10100302746")
        ->setTinb("10100302746")
        ->setTprdis(20_000)
        ->setTdis(500)
        ->setTadis(19_500)
        ->setTvam(1_755)
        ->setTodam(0)
        ->setTbill(21_255)
        ->setSetm(2);
        
$invoice->body()
        ->setSstid("2710000138624")
        ->setSstt("title")
        ->setMu("164")
        ->setAm(2)
        ->setFee(10_000)
        ->setPrdis(20_000)
        ->setDis(500)
        ->setAdis(19_500)
        ->setVra(9)
        ->setVam(1_755)
        ->setTsstam(21255)
        ->build();
        
$invoice->body()
        ->setSstid("2710000138624")
        ->setSstt("another title")
        ->setMu("164")
        ->setAm(2)
        ->setFee(10_000)
        ->setPrdis(20_000)
        ->setDis(500)
        ->setAdis(19_500)
        ->setVra(9)
        ->setVam(1_755)
        ->setTsstam(21255)
        ->build();

$invoice->payment()
        ->setPcn('pcn')
        ->setPv(10)
        ->build();

$response = $moadian->sendInvoices(
        $invoice1,
        $invoice2,
        $invoice3,
        ...
    );

$timestamp = $response->getTimestamp();
$result = $response->getResult();

$response = $moadian->sendInvoicesWithResponse(
        $invoice1,
        $invoice2,
        $invoice3,
        ...
    );

$result = $response->getResult();

$inquiry = $moadian->getInquiryByReferenceIds(['referenceId1', 'referenceId2']);

$result = $inquiry->getResult();

$start = new DateTime();
$end = (new DateTime())->modify('+1 day');

$inquiry = $moadian->getInquiryByReferenceIds(
  ['referenceId1', 'referenceId2'],
  $start,
  $end
);

$result = $inquiry->getResult();

$inquiry = $moadian->getInquiryByUid(['uid1', 'uid2']);
    
$result = $inquiry->getResult();

$start = new DateTime();
$end = (new DateTime())->modify('+1 day');

$inquiry = $moadian->getInquiryByUid(
  ['uid1', 'uid2'],
  $start,
  $end
);

$result = $inquiry->getResult();

// inquiry sent invoices in the past 24 hours
$inquiry = $moadian->getInquiryByTime();
    
$result = $inquiry->getResult();

use KianKamgar\MoadianPhp\Enums\InvoiceStatus;

$start = new DateTime();
$end = (new DateTime())->modify('+1 day');
$inquiry = $moadian->getInquiryByTime(
  $pageNumber, // default = 1
  $pageSize, // default = 10
  InvoiceStatus::SUCCESS,
  $start,
  $end
);

$result = $inquiry->getResult();
bash
   composer