<!-- notify js -->
<script src='{{ asset('public/backend/js/bootstrap-notify.js') }}'></script>
<script>
// Show Laravel Error Messages----------------------------------------------
$(function () {
$(document).ready(function(){
@if (session('error'))
@if (is_array(session('error')))
@foreach (session('error') as $item)
$.notify(
{
title: "",
message: "{{ __($item) }}",
icon: 'las la-exclamation-triangle',
},
{
type: "danger",
allow_dismiss: true,
delay: 5000,
placement: {
from: "top",
align: "right"
},
}
);
@endforeach
@endif
@elseif (session('success'))
@if (is_array(session('success')))
@foreach (session('success') as $item)
$.notify(
{
title: "",
class:"text-break",
message: "{{ __($item) }}",
icon: 'las la-check-circle',
},
{
type: "success",
allow_dismiss: true,
delay: 5000,
placement: {
from: "top",
align: "right"
},
}
);
@endforeach
@endif
@elseif (session('warning'))
@if (is_array(session('warning')))
@foreach (session('warning') as $item)
$.notify(
{
title: "",
message: "{{ __($item) }}",
icon: 'las la-exclamation-triangle',
},
{
type: "warning",
allow_dismiss: true,
delay: 5000,
placement: {
from: "top",
align: "right"
},
}
);
@endforeach
@endif
@elseif ($errors->any())
@foreach ($errors->all() as $item)
$.notify(
{
title: "",
message: "{{ __($item) }}",
icon: 'las la-exclamation-triangle',
},
{
type: "danger",
allow_dismiss: true,
delay: 5000,
placement: {
from: "top",
align: "right"
},
}
);
@endforeach
@endif
});
});
//--------------------------------------------------------------------------
// Function for throw error messages from javascript------------------------
function throwMessage(type,errors = []) {
if(type == 'error') {
$.each(errors,function(index,item) {
$.notify(
{
title: "",
message: item,
icon: 'las la-exclamation-triangle',
},
{
type: "danger",
allow_dismiss: true,
delay: 5000,
placement: {
from: "top",
align: "right"
},
}
);
});
}else if(type == 'success') {
$.each(errors,function(index,item) {
$.notify(
{
title: "",
message: item,
icon: 'las la-check-circle',
},
{
type: "success",
allow_dismiss: true,
delay: 5000,
placement: {
from: "top",
align: "right"
},
}
);
});
}else if(type == 'warning') {
$.each(errors,function(index,item) {
$.notify(
{
title: "",
message: item,
icon: 'las la-check-circle',
},
{
type: "warning",
allow_dismiss: true,
delay: 5000,
placement: {
from: "top",
align: "right"
},
}
);
});
}
}
//--------------------------------------------------------------------------
// Function for set modal session value --------------------
var validationSession = null;
function getSessionValue(sesesionValue = null) {
validationSession = sessionValue;
}
@if (session('modal'))
var sessionValue = "{{ session('modal') }}";
getSessionValue(sessionValue);
@endif
// Function for open modal/popup when have backend session
function openModalWhenError(sessionValue,modalSelector) {
if(validationSession != sessionValue) {
return false;
}
openModalBySelector(modalSelector);
}
//----------------------------------------------------------
function countrySelect(element,errorElement) {
$(document).on("change",element,function(){
var targetElement = $(this);
var countryId = $(element+" :selected").attr("data-id");
if(countryId != "" || countryId != null) {
var CSRF = $("meta[name=csrf-token]").attr("content");
var data = {
_token : CSRF,
country_id : countryId,
};
$.post("{{ setRoute('global.country.states') }}",data,function() {
// success
$(errorElement).removeClass("is-invalid");
$(targetElement).siblings(".invalid-feedback").remove();
}).done(function(response){
// Place States to States Field
var options = "<option selected disabled>Select State</option>";
$.each(response,function(index,item) {
options += `<option value="${item.name}" data-id="${item.id}">${item.name}</option>`;
});
$(".state-select").html(options);
}).fail(function(response) {
if(response.status == 422) { // Validation Error
var faildMessage = "Please select a valid Country.";
var faildElement = `<span class="invalid-feedback" role="alert">
<strong>${faildMessage}</strong>
</span>`;
$(errorElement).addClass("is-invalid");
if($(targetElement).siblings(".invalid-feedback").length != 0) {
$(targetElement).siblings(".invalid-feedback").text(faildMessage);
}else {
errorElement.after(faildElement);
}
}else {
var faildMessage = "Something went wrong! Please try again.";
var faildElement = `<span class="invalid-feedback" role="alert">
<strong>${faildMessage}</strong>
</span>`;
$(errorElement).addClass("is-invalid");
if($(targetElement).siblings(".invalid-feedback").length != 0) {
$(targetElement).siblings(".invalid-feedback").text(faildMessage);
}else {
errorElement.after(faildElement);
}
}
});
}else {
// Push Error
}
});
}
// State Select Get Cities
function stateSelect(element,errorElement) {
$(document).on("change",element,function(){
var targetElement = $(this);
var stateId = $(element+" :selected").attr("data-id");
if(stateId != "" || stateId != null) {
var CSRF = $("meta[name=csrf-token]").attr("content");
var data = {
_token : CSRF,
state_id : stateId,
};
$.post("{{ setRoute('global.country.cities') }}",data,function() {
// success
$(errorElement).removeClass("is-invalid");
$(targetElement).siblings(".invalid-feedback").remove();
}).done(function(response){
// Place States to States Field
var options = "<option selected disabled>Select City</option>";
$.each(response,function(index,item) {
options += `<option value="${item.name}" data-id="${item.id}">${item.name}</option>`;
});
$(".city-select").html(options);
}).fail(function(response) {
if(response.status == 422) { // Validation Error
var faildMessage = "Please select a valid state.";
var faildElement = `<span class="invalid-feedback" role="alert">
<strong>${faildMessage}</strong>
</span>`;
$(errorElement).addClass("is-invalid");
if($(targetElement).siblings(".invalid-feedback").length != 0) {
$(targetElement).siblings(".invalid-feedback").text(faildMessage);
}else {
errorElement.after(faildElement);
}
}else {
var faildMessage = "Something went wrong! Please try again.";
var faildElement = `<span class="invalid-feedback" role="alert">
<strong>${faildMessage}</strong>
</span>`;
$(errorElement).addClass("is-invalid");
if($(targetElement).siblings(".invalid-feedback").length != 0) {
$(targetElement).siblings(".invalid-feedback").text(faildMessage);
}else {
errorElement.after(faildElement);
}
}
});
}else {
// Push Error
}
});
}
</script>
Get access token to initiates payment transaction.
generate-token
| Parameter | Type | Comments |
|---|---|---|
| client_id | string | Enter merchant API client/primary key |
| secret_id | string | Enter merchant API secret key |
| env | string | Enter merchant API environment |
| merchant_id | string | Enter merchant API merchant id |
Request Example (guzzle)
<?php
require_once('vendor/autoload.php');
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', $base_url. 'v1/generate-token', [
'headers' => [
'accept' => 'application/json',
'content-type' => 'application/json',
],
'form_params' => [
'client_id' => '$client_id',
'secret_id' => 'secret_id',
'env' => 'env',
'merchant_id' => 'merchant_id',
],
]);
echo $response->getBody();
**Response: SUCCESS (200 OK)**
{
"message": {
"success": [
"Successfully token is generated"
]
},
"data": {
"token":"eyJpdiI6InpkczhjTjhQdVhUL2lKQ0pSUUx6aUE9PSIsInZhbHVlIjoiVGVBTVBDTXltbjNZcEIvdEJveGpTSno3TU5NRUtnVkhCZ1pHTFNCUnZGQ2UxMnYxN202cEE1YVRDTEFsc0ZERExoTjdtL0dTL2xoU3QzeUJJOExiMUx5T0w1L0llUXhTUkU1cWVLWEdEbEplb0dKNXcwbTNRM0VxdkUwYzZuNFdtNkhMQ0pRZysyNWkvdzBxSlBoSVBSOGFTekNnR2RXNHVtcG9lMGZOTmNCcm1hR3c5Sk9KTnB4Y3ltZDl6cm90MThrR21Ca3B1azc3bXRiQ0J6SW96UVo1elNkU1ZqeE05bTcwWGp1MEUxWlJFdnNWTmpSbnVpeW92b2U4dXZkUGgyb1VmK0luaGdyaFlsVTZlcVpVRnZlTG1DeFF6Ykk2T2h6Z3JzbnIyNHpNdHowSE5JdDR0Y0pZT20zUm1XYW8iLCJtYWMiOiJlY2M4NGE1OGUzYzkzYzk0YzljNmVmNjE0YWI0ZDIwOGI3NDQ2YWEyY2ZhNzc0NzE4ZmY1ZmYyMz
IyZmQzNDY1IiwidGFnIjoiIn0=",
},
"type": "success"
}
**Response: ERROR (400 FAILED)**
{
"message": {
"error": [
"Invalid credentials."
]
},
"data": null,
"type": "error"
}