PHP code example of aliirfaan / laravel-mu-qr-code
1. Go to this page and download the library: Download aliirfaan/laravel-mu-qr-code 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/ */
namespace App\Http\Controllers;
use Illuminate\Http\Request;
// import data objects you want to use
use aliirfaan\LaravelMuQrCode\DataObjects\RootDataObject;
use aliirfaan\LaravelMuQrCode\DataObjects\PayloadFormatIndicator;
use aliirfaan\LaravelMuQrCode\DataObjects\PointOfInitiationMethod;
use aliirfaan\LaravelMuQrCode\DataObjects\GloballyUniqueIdentifier;
use aliirfaan\LaravelMuQrCode\DataObjects\PayeeParticipantCode;
use aliirfaan\LaravelMuQrCode\DataObjects\MerchantAccountNumber;
use aliirfaan\LaravelMuQrCode\DataObjects\MerchantId;
use aliirfaan\LaravelMuQrCode\DataObjects\MuMerchantAccountInformation;
use aliirfaan\LaravelMuQrCode\DataObjects\MerchantCategoryCode;
use aliirfaan\LaravelMuQrCode\DataObjects\TransactionCurrency;
use aliirfaan\LaravelMuQrCode\DataObjects\CountryCode;
use aliirfaan\LaravelMuQrCode\DataObjects\MerchantName;
use aliirfaan\LaravelMuQrCode\DataObjects\MerchantCity;
use aliirfaan\LaravelMuQrCode\DataObjects\AdditionalDataFieldTemplate;
use aliirfaan\LaravelMuQrCode\DataObjects\BillNumber;
use aliirfaan\LaravelMuQrCode\DataObjects\ReferenceLabel;
use aliirfaan\LaravelMuQrCode\DataObjects\MobileNumber;
use aliirfaan\LaravelMuQrCode\DataObjects\PurposeOfTransaction;
class TestController extends Controller
{
public function test(Request $request)
{
try {
// create root data object
$rootDataObject = new RootDataObject();
// create more data objects and add to root data object
$payloadFormatIndicator = new PayloadFormatIndicator();
$rootDataObject->pushChildDataObject($payloadFormatIndicator);
$pointOfInitiationMethod = new PointOfInitiationMethod();
$pointOfInitiationMethod->setValue(11);
$rootDataObject->pushChildDataObject($pointOfInitiationMethod);
// MU Merchant Account Information template
$muMerchantAccountInformation = new MuMerchantAccountInformation();
// push to template
$globallyUniqueIdentifier = new GloballyUniqueIdentifier();
$globallyUniqueIdentifier->setValue('mu.taucas');
$muMerchantAccountInformation->pushChildDataObject($globallyUniqueIdentifier);
$payeeParticipantCode = new PayeeParticipantCode();
$payeeParticipantCode->setValue('MSTDMXMVXXXX');
$muMerchantAccountInformation->pushChildDataObject($payeeParticipantCode);
$merchantAccountNumber = new MerchantAccountNumber();
$merchantAccountNumber->setValue('01234123412');
$muMerchantAccountInformation->pushChildDataObject($merchantAccountNumber);
$merchantId = new MerchantId();
$merchantId->setValue('000000000000050');
$muMerchantAccountInformation->pushChildDataObject($merchantId);
// push template to root data object
$rootDataObject->pushChildDataObject($muMerchantAccountInformation);
$merchantCategoryCode = new MerchantCategoryCode();
$merchantCategoryCode->setValue('9222');
$rootDataObject->pushChildDataObject($merchantCategoryCode);
$transactionCurrency = new TransactionCurrency();
$rootDataObject->pushChildDataObject($transactionCurrency);
$countryCode = new CountryCode();
$rootDataObject->pushChildDataObject($countryCode);
$merchantName = new MerchantName();
$merchantName->setValue('Bank of Lalaland');
$rootDataObject->pushChildDataObject($merchantName);
$merchantCity = new MerchantCity();
$merchantCity->setValue('Portlouis');
$rootDataObject->pushChildDataObject($merchantCity);
// additional data field template
$additionalDataFieldTemplate = new AdditionalDataFieldTemplate();
$billNumber = new BillNumber();
$billNumber->setValue('MCQ459789');
$additionalDataFieldTemplate->pushChildDataObject($billNumber);
$mobileNumber = new MobileNumber();
$mobileNumber->setValue('52516315');
$additionalDataFieldTemplate->pushChildDataObject($mobileNumber);
$referenceLabel = new ReferenceLabel();
$referenceLabel->setValue('MOM123');
$additionalDataFieldTemplate->pushChildDataObject($referenceLabel);
$purposeOfTransaction = new PurposeOfTransaction();
$purposeOfTransaction->setValue('Payment of network fees');
$additionalDataFieldTemplate->pushChildDataObject($purposeOfTransaction);
$rootDataObject->pushChildDataObject($additionalDataFieldTemplate);
$generateRootRepresentationResponse = $rootDataObject->generateRootRepresentation();
dump($generateRootRepresentationResponse);
// success response
/*
array(5) {
["success"]=> bool(true)
["result"]=> string(207) "00020101021126630009mu.taucas0112MSTDMXMVXXXX02110123412341203150000000000000505204922253034805802MU5916Bank of Lalaland6009Portlouis62620109MCQ4597890208525163150506MOM1230823Payment of network fees630492BC"
["errors"]=> NULL
["message"]=> NULL
["issues"]=> array(0) { }
}
*/
// error response
/*
array(5) {
["success"]=> bool(false)
["result"]=> NULL
["errors"]=> bool(true)
["message"]=> NULL
["issues"]=> array(1) {
["merchant_category_code"]=> array(1) {
["value"]=> array(1) {
[0]=> string(33) "The value field must be 4 digits."
}
}
}
}
*/
} catch (\Exception $e) {
report($e);
}
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.