first commit
This commit is contained in:
745
modules/paylane/core/core.php
Normal file
745
modules/paylane/core/core.php
Normal file
@@ -0,0 +1,745 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* 2005-2016 PayLane sp. z.o.o.
|
||||
*
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Academic Free License (AFL 3.0)
|
||||
* that is bundled with this package in the file LICENSE.txt.
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* http://opensource.org/licenses/afl-3.0.php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to license@Paylane.pl so we can send you a copy immediately.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade PayLane to newer
|
||||
* versions in the future. If you wish to customize PayLane for your
|
||||
* needs please refer to http://www.Paylane.pl for more information.
|
||||
*
|
||||
* @author PayLane <info@paylane.pl>
|
||||
* @copyright 2005-2019 PayLane sp. z.o.o.
|
||||
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
|
||||
* International Registered Trademark & Property of PayLane sp. z.o.o.
|
||||
*/
|
||||
|
||||
class PaylanePaymentCore
|
||||
{
|
||||
protected static $paylaneSecureFormUrl = 'https://secure.paylane.com/order/cart.html';
|
||||
protected static $paylaneApiUrl = '';
|
||||
|
||||
private $paylane;
|
||||
|
||||
public function __construct(Module $paylane) {
|
||||
$this->paylane = $paylane;
|
||||
}
|
||||
|
||||
public static $allowedCountries = array(
|
||||
'ALA','ALB','DZA','ASM','AND','AGO','AIA','ATA','ATG','ARG','ARM','ABW','AUS','AUT','AZE','BHS','BHR','BGD',
|
||||
'BRB','BLR','BEL','BLZ','BEN','BMU','BTN','BOL','BIH','BWA','BVT','BRA','BRN','BGR','BFA','BDI','KHM','CMR',
|
||||
'CAN','CPV','CYM','CAF','TCD','CHL','CHN','CXR','CCK','COL','COM','COG','COD','COK','CRI','CIV','HRV','CYP',
|
||||
'CZE','DNK','DJI','DMA','DOM','ECU','EGY','SLV','GNQ','ERI','EST','ETH','FLK','FRO','FJI','FIN','FRA','GUF',
|
||||
'PYF','ATF','GAB','GMB','GEO','DEU','GHA','GIB','GRC','GRL','GRD','GLP','GUM','GTM','GGY','HTI','HMD','VAT',
|
||||
'GIN','GNB','GUY','HND','HKG','HUN','ISL','IND','IDN','IRL','IMN','ISR','ITA','JAM','JPN','JEY','JOR','KAZ',
|
||||
'KEN','KIR','KOR','KWT','LAO','LVA','LBN','LSO','LBR','LIE','LTU','LUX','MAC','MKD','MDG','MWI','MYS','MDV',
|
||||
'MLI','MLT','MHL','MTQ','MRT','MUS','MYT','MEX','FSM','MDA','MCO','MNG','MNE','MSR','MAR','MOZ','MMR','NAM',
|
||||
'NPL','NLD','ANT','NCL','NZL','NIC','NER','NGA','NIU','NFK','MNP','NOR','OMN','PAK','PLW','PSE','PAN','PNG',
|
||||
'PRY','PER','PHL','PCN','POL','PRT','PRI','QAT','REU','ROU','RUS','RWA','SHN','KNA','LCA','MAF','SPM','VCT',
|
||||
'WSM','SMR','STP','SAU','SEN','SRB','SYC','SLE','SGP','SVK','SVN','SLB','SOM','ZAF','SGS','ESP','LKA','SUR',
|
||||
'SJM','SWZ','SWE','CHE','TWN','TJK','TZA','THA','TLS','TGO','TKL','TON','TTO','TUN','TUR','TKM','TCA','TUV',
|
||||
'UGA','UKR','ARE','GBR','USA','UMI','URY','UZB','VUT','VEN','VNM','VGB','VIR','WLF','ESH','YEM','ZMB','ZWE'
|
||||
);
|
||||
|
||||
public static $unallowedCountries = array(
|
||||
// 'AFG','CUB','ERI','IRN','IRQ','JPN','KGZ','LBY','PRK','SDN','SSD','SYR'
|
||||
);
|
||||
|
||||
public static $paymentMethods = array (
|
||||
'SECUREFORM' => array(
|
||||
'name' => 'Paylane SecureForm',
|
||||
'allowedCountries' => 'ALL'
|
||||
),
|
||||
'CREDITCARD' => array(
|
||||
'name' => 'Paylane CreditCard',
|
||||
'allowedCountries' => 'ALL'
|
||||
),
|
||||
'BANKTRANSFER' => array(
|
||||
'name' => 'Paylane BankTransfer',
|
||||
'allowedCountries' => 'ALL'
|
||||
),
|
||||
'PAYPAL' => array(
|
||||
'name' => 'Paylane PayPal',
|
||||
'allowedCountries' => 'ALL'
|
||||
),
|
||||
'BLIK' => array(
|
||||
'name' => 'Paylane BLIK',
|
||||
'allowedCountries' => 'ALL',
|
||||
),
|
||||
// 'DIRECTDEBIT' => array(
|
||||
// 'name' => 'Paylane DirectDebit',
|
||||
// 'allowedCountries' => 'ALL'
|
||||
// ),
|
||||
// 'SOFORT' => array(
|
||||
// 'name' => 'Paylane Sofort',
|
||||
// 'allowedCountries' => 'ALL'
|
||||
// ),
|
||||
// 'IDEAL' => array(
|
||||
// 'name' => 'Paylane Ideal',
|
||||
// 'allowedCountries' => 'ALL'
|
||||
// ),
|
||||
// 'APPLEPAY' => array(
|
||||
// 'name' => 'Paylane ApplePay',
|
||||
// 'allowedCountries' => 'ALL'
|
||||
// ),
|
||||
// 'GOOGLEPAY' => array(
|
||||
// 'name' => 'Paylane GooglePay',
|
||||
// 'allowedCountries' => 'ALL'
|
||||
// ),
|
||||
);
|
||||
|
||||
public static function getPaymentMethods()
|
||||
{
|
||||
return self::$paymentMethods;
|
||||
}
|
||||
|
||||
public static function getPaymentMethodByPaymentType($paymentType)
|
||||
{
|
||||
return self::$paymentMethods[$paymentType];
|
||||
}
|
||||
|
||||
public static function getPaylaneRedirectSecureFormUrl()
|
||||
{
|
||||
$paylaneRedirectUrl = self::$paylaneSecureFormUrl;
|
||||
return $paylaneRedirectUrl;
|
||||
}
|
||||
|
||||
public static function getPaylaneRedirectUrl()
|
||||
{
|
||||
$paylaneRedirectUrl = self::$paylaneApiUrl;
|
||||
return $paylaneRedirectUrl;
|
||||
}
|
||||
|
||||
public static function paymentStatus($paylaneStatus)
|
||||
{
|
||||
$status = array();
|
||||
$status['PENDING'] = '1';
|
||||
//$status['PERFORMED'] = '2';
|
||||
$status['PERFORMED'] = '3';
|
||||
$status['CLEARED'] = '3';
|
||||
$status['ERROR'] = '-2';
|
||||
|
||||
return isset($status[$paylaneStatus]) ? $status[$paylaneStatus] : $status['ERROR'];
|
||||
}
|
||||
|
||||
public static function getSupportedPaymentsByCountryCode($countryCode)
|
||||
{
|
||||
if (Tools::strlen($countryCode) == 2) {
|
||||
$countryCode = self::getCountryIso3ByIso2($countryCode);
|
||||
}
|
||||
|
||||
$supportedPayments = array();
|
||||
|
||||
if (!in_array($countryCode, self::$unallowedCountries)) {
|
||||
foreach (self::$paymentMethods as $key => $paymentMethod) {
|
||||
if (isset($paymentMethod['exceptedCountries'])
|
||||
&& in_array($countryCode, $paymentMethod['exceptedCountries'])
|
||||
) {
|
||||
continue;
|
||||
}
|
||||
if ($paymentMethod['allowedCountries'] == 'ALL') {
|
||||
$paymentMethod['allowedCountries'] = self::$allowedCountries;
|
||||
}
|
||||
if (in_array($countryCode, $paymentMethod['allowedCountries'])) {
|
||||
$supportedPayments[] = $key;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $supportedPayments;
|
||||
}
|
||||
|
||||
public static function getDateTime()
|
||||
{
|
||||
$t = microtime(true);
|
||||
$micro = sprintf("%06d", ($t - floor($t)) * 1000000);
|
||||
$d = new DateTime(date('Y-m-d H:i:s.'.$micro, $t));
|
||||
|
||||
return $d->format("ymdhiu");
|
||||
}
|
||||
|
||||
public static function randomNumber($length)
|
||||
{
|
||||
$result = '';
|
||||
|
||||
for ($i = 0; $i < $length; $i++) {
|
||||
$result .= mt_rand(0, 9);
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
public static function getTrnStatus($code)
|
||||
{
|
||||
switch ($code) {
|
||||
case '3':
|
||||
$status = 'BACKEND_TT_CLEARED';
|
||||
break;
|
||||
case '2':
|
||||
$status = 'BACKEND_TT_PERFORMED';
|
||||
break;
|
||||
case '1':
|
||||
$status = 'BACKEND_TT_PENDING';
|
||||
break;
|
||||
case '-2':
|
||||
$status = 'BACKEND_TT_FAILED';
|
||||
break;
|
||||
}
|
||||
return $status;
|
||||
}
|
||||
|
||||
public static function getErrorMessage($responseStatus) {
|
||||
$errorStatus = ('Paylane Error:');
|
||||
$api_url = 'https://payto.app/api/translate_error/pl/';
|
||||
|
||||
if (isset($responseStatus['error_code'])) { //Secureform, BankTransfer
|
||||
$error_code = $api_url . $responseStatus['error_code'];
|
||||
$translatedErrorCode = file_get_contents($error_code);
|
||||
$errorStatus .= ' '. $translatedErrorCode;
|
||||
}
|
||||
// if (isset($responseStatus['error_code'])) {
|
||||
// $errorStatus .= ' '. $responseStatus['error_code'];
|
||||
// }
|
||||
if (isset($responseStatus['error_text'])) {
|
||||
$errorStatus .= ' '. $responseStatus['error_text'];
|
||||
}
|
||||
|
||||
return $errorStatus;
|
||||
}
|
||||
|
||||
public static function getCountryIso3ByIso2($iso2)
|
||||
{
|
||||
$iso3 = array(
|
||||
'AF' => 'AFG',
|
||||
'AL' => 'ALB',
|
||||
'DZ' => 'DZA',
|
||||
'AS' => 'ASM',
|
||||
'AD' => 'AND',
|
||||
'AO' => 'AGO',
|
||||
'AI' => 'AIA',
|
||||
'AQ' => 'ATA',
|
||||
'AG' => 'ATG',
|
||||
'AR' => 'ARG',
|
||||
'AM' => 'ARM',
|
||||
'AW' => 'ABW',
|
||||
'AU' => 'AUS',
|
||||
'AT' => 'AUT',
|
||||
'AZ' => 'AZE',
|
||||
'BS' => 'BHS',
|
||||
'BH' => 'BHR',
|
||||
'BD' => 'BGD',
|
||||
'BB' => 'BRB',
|
||||
'BY' => 'BLR',
|
||||
'BE' => 'BEL',
|
||||
'BZ' => 'BLZ',
|
||||
'BJ' => 'BEN',
|
||||
'BM' => 'BMU',
|
||||
'BT' => 'BTN',
|
||||
'BO' => 'BOL',
|
||||
'BA' => 'BIH',
|
||||
'BW' => 'BWA',
|
||||
'BV' => 'BVT',
|
||||
'BR' => 'BRA',
|
||||
'IO' => 'IOT',
|
||||
'VG' => 'VGB',
|
||||
'BN' => 'BRN',
|
||||
'BG' => 'BGR',
|
||||
'BF' => 'BFA',
|
||||
'BI' => 'BDI',
|
||||
'KH' => 'KHM',
|
||||
'CM' => 'CMR',
|
||||
'CA' => 'CAN',
|
||||
'CV' => 'CPV',
|
||||
'KY' => 'CYM',
|
||||
'CF' => 'CAF',
|
||||
'TD' => 'TCD',
|
||||
'CL' => 'CHL',
|
||||
'CN' => 'CHN',
|
||||
'CX' => 'CXR',
|
||||
'CC' => 'CCK',
|
||||
'CO' => 'COL',
|
||||
'KM' => 'COM',
|
||||
'CG' => 'COG',
|
||||
'CD' => 'COD',
|
||||
'CK' => 'COK',
|
||||
'CR' => 'CRI',
|
||||
'HR' => 'HRV',
|
||||
'CU' => 'CUB',
|
||||
'CY' => 'CYP',
|
||||
'CZ' => 'CZE',
|
||||
'CI' => 'CIV',
|
||||
'DK' => 'DNK',
|
||||
'DJ' => 'DJI',
|
||||
'DM' => 'DMA',
|
||||
'DO' => 'DOM',
|
||||
'EC' => 'ECU',
|
||||
'EG' => 'EGY',
|
||||
'SV' => 'SLV',
|
||||
'GQ' => 'GNQ',
|
||||
'ER' => 'ERI',
|
||||
'EE' => 'EST',
|
||||
'ET' => 'ETH',
|
||||
'FK' => 'FLK',
|
||||
'FO' => 'FRO',
|
||||
'FJ' => 'FJI',
|
||||
'FI' => 'FIN',
|
||||
'FR' => 'FRA',
|
||||
'GF' => 'GUF',
|
||||
'PF' => 'PYF',
|
||||
'TF' => 'ATF',
|
||||
'GA' => 'GAB',
|
||||
'GM' => 'GMB',
|
||||
'GE' => 'GEO',
|
||||
'DE' => 'DEU',
|
||||
'GH' => 'GHA',
|
||||
'GI' => 'GIB',
|
||||
'GR' => 'GRC',
|
||||
'GL' => 'GRL',
|
||||
'GD' => 'GRD',
|
||||
'GP' => 'GLD',
|
||||
'GU' => 'GUM',
|
||||
'GT' => 'GTM',
|
||||
'GG' => 'GGY',
|
||||
'GN' => 'HTI',
|
||||
'GW' => 'HMD',
|
||||
'GY' => 'VAT',
|
||||
'HT' => 'GIN',
|
||||
'HM' => 'GNB',
|
||||
'HN' => 'HND',
|
||||
'HK' => 'HKG',
|
||||
'HU' => 'HUN',
|
||||
'IS' => 'ISL',
|
||||
'IN' => 'IND',
|
||||
'ID' => 'IDN',
|
||||
'IR' => 'IRN',
|
||||
'IQ' => 'IRQ',
|
||||
'IE' => 'IRL',
|
||||
'IM' => 'IMN',
|
||||
'IL' => 'ISR',
|
||||
'IT' => 'ITA',
|
||||
'JM' => 'JAM',
|
||||
'JP' => 'JPN',
|
||||
'JE' => 'JEY',
|
||||
'JO' => 'JOR',
|
||||
'KZ' => 'KAZ',
|
||||
'KE' => 'KEN',
|
||||
'KI' => 'KIR',
|
||||
'KW' => 'KWT',
|
||||
'KG' => 'KGZ',
|
||||
'LA' => 'LAO',
|
||||
'LV' => 'LVA',
|
||||
'LB' => 'LBN',
|
||||
'LS' => 'LSO',
|
||||
'LR' => 'LBR',
|
||||
'LY' => 'LBY',
|
||||
'LI' => 'LIE',
|
||||
'LT' => 'LTU',
|
||||
'LU' => 'LUX',
|
||||
'MO' => 'MAC',
|
||||
'MK' => 'MKD',
|
||||
'MG' => 'MDG',
|
||||
'MW' => 'MWI',
|
||||
'MY' => 'MYS',
|
||||
'MV' => 'MDV',
|
||||
'ML' => 'MLI',
|
||||
'MT' => 'MLT',
|
||||
'MH' => 'MHL',
|
||||
'MQ' => 'MTQ',
|
||||
'MR' => 'MRT',
|
||||
'MU' => 'MUS',
|
||||
'YT' => 'MYT',
|
||||
'MX' => 'MEX',
|
||||
'FM' => 'FSM',
|
||||
'MD' => 'MDA',
|
||||
'MC' => 'MCO',
|
||||
'MN' => 'MNG',
|
||||
'ME' => 'MNE',
|
||||
'MS' => 'MSR',
|
||||
'MA' => 'MAR',
|
||||
'MZ' => 'MOZ',
|
||||
'MM' => 'MMR',
|
||||
'NA' => 'NAM',
|
||||
'NR' => 'NRU',
|
||||
'NP' => 'NPL',
|
||||
'NL' => 'NLD',
|
||||
'AN' => 'ANT',
|
||||
'NC' => 'NCL',
|
||||
'NZ' => 'NZL',
|
||||
'NI' => 'NIC',
|
||||
'NE' => 'NER',
|
||||
'NG' => 'NGA',
|
||||
'NU' => 'NIU',
|
||||
'NF' => 'NFK',
|
||||
'KP' => 'PRK',
|
||||
'MP' => 'MNP',
|
||||
'NO' => 'NOR',
|
||||
'OM' => 'OMN',
|
||||
'PK' => 'PAK',
|
||||
'PW' => 'PLW',
|
||||
'PS' => 'PSE',
|
||||
'PA' => 'PAN',
|
||||
'PG' => 'PNG',
|
||||
'PY' => 'PRY',
|
||||
'PE' => 'PER',
|
||||
'PH' => 'PHL',
|
||||
'PN' => 'PCN',
|
||||
'PL' => 'POL',
|
||||
'PT' => 'PRT',
|
||||
'PR' => 'PRI',
|
||||
'QA' => 'QAT',
|
||||
'RO' => 'ROU',
|
||||
'RU' => 'RUS',
|
||||
'RW' => 'RWA',
|
||||
'RE' => 'REU',
|
||||
'BL' => 'BLM',
|
||||
'SH' => 'SHN',
|
||||
'KN' => 'KNA',
|
||||
'LC' => 'LCA',
|
||||
'MF' => 'MAF',
|
||||
'PM' => 'SPM',
|
||||
'WS' => 'WSM',
|
||||
'SM' => 'SMR',
|
||||
'SA' => 'SAU',
|
||||
'SN' => 'SEN',
|
||||
'RS' => 'SRB',
|
||||
'SC' => 'SYC',
|
||||
'SL' => 'SLE',
|
||||
'SG' => 'SGP',
|
||||
'SK' => 'SVK',
|
||||
'SI' => 'SVN',
|
||||
'SB' => 'SLB',
|
||||
'SO' => 'SOM',
|
||||
'ZA' => 'ZAF',
|
||||
'GS' => 'SGS',
|
||||
'KR' => 'KOR',
|
||||
'ES' => 'ESP',
|
||||
'LK' => 'LKA',
|
||||
'VC' => 'VCT',
|
||||
'SD' => 'SDN',
|
||||
'SR' => 'SUR',
|
||||
'SJ' => 'SJM',
|
||||
'SZ' => 'SWZ',
|
||||
'SE' => 'SWE',
|
||||
'CH' => 'CHE',
|
||||
'SY' => 'SYR',
|
||||
'ST' => 'STP',
|
||||
'TW' => 'TWN',
|
||||
'TJ' => 'TJK',
|
||||
'TZ' => 'TZA',
|
||||
'TH' => 'THA',
|
||||
'TL' => 'TLS',
|
||||
'TG' => 'TGO',
|
||||
'TK' => 'TKL',
|
||||
'TO' => 'TON',
|
||||
'TT' => 'TTO',
|
||||
'TN' => 'TUN',
|
||||
'TR' => 'TUR',
|
||||
'TM' => 'TKM',
|
||||
'TC' => 'TCA',
|
||||
'TV' => 'TUV',
|
||||
'UM' => 'UMI',
|
||||
'VI' => 'VIR',
|
||||
'UG' => 'UGA',
|
||||
'UA' => 'UKR',
|
||||
'AE' => 'ARE',
|
||||
'GB' => 'GBR',
|
||||
'US' => 'USA',
|
||||
'UY' => 'URY',
|
||||
'UZ' => 'UZB',
|
||||
'VU' => 'VUT',
|
||||
'VA' => 'GUY',
|
||||
'VE' => 'VEN',
|
||||
'VN' => 'VNM',
|
||||
'WF' => 'WLF',
|
||||
'EH' => 'ESH',
|
||||
'YE' => 'YEM',
|
||||
'ZM' => 'ZMB',
|
||||
'ZW' => 'ZWE',
|
||||
'AX' => 'ALA'
|
||||
);
|
||||
if ($iso2) {
|
||||
return array_key_exists($iso2, $iso3) ? $iso3[$iso2] : '';
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
public static function getCountryIso2ByIso3($iso3)
|
||||
{
|
||||
$iso2 = array(
|
||||
'AFG' => 'AF',
|
||||
'ALB' => 'AL',
|
||||
'DZA' => 'DZ',
|
||||
'ASM' => 'AS',
|
||||
'AND' => 'AD',
|
||||
'AGO' => 'AO',
|
||||
'AIA' => 'AI',
|
||||
'ATA' => 'AQ',
|
||||
'ATG' => 'AG',
|
||||
'ARG' => 'AR',
|
||||
'ARM' => 'AM',
|
||||
'ABW' => 'AW',
|
||||
'AUS' => 'AU',
|
||||
'AUT' => 'AT',
|
||||
'AZE' => 'AZ',
|
||||
'BHS' => 'BS',
|
||||
'BHR' => 'BH',
|
||||
'BGD' => 'BD',
|
||||
'BRB' => 'BB',
|
||||
'BLR' => 'BY',
|
||||
'BEL' => 'BE',
|
||||
'BLZ' => 'BZ',
|
||||
'BEN' => 'BJ',
|
||||
'BMU' => 'BM',
|
||||
'BTN' => 'BT',
|
||||
'BOL' => 'BO',
|
||||
'BIH' => 'BA',
|
||||
'BWA' => 'BW',
|
||||
'BVT' => 'BV',
|
||||
'BRA' => 'BR',
|
||||
'IOT' => 'IO',
|
||||
'VGB' => 'VG',
|
||||
'BRN' => 'BN',
|
||||
'BGR' => 'BG',
|
||||
'BFA' => 'BF',
|
||||
'BDI' => 'BI',
|
||||
'KHM' => 'KH',
|
||||
'CMR' => 'CM',
|
||||
'CAN' => 'CA',
|
||||
'CPV' => 'CV',
|
||||
'CYM' => 'KY',
|
||||
'CAF' => 'CF',
|
||||
'TCD' => 'TD',
|
||||
'CHL' => 'CL',
|
||||
'CHN' => 'CN',
|
||||
'CXR' => 'CX',
|
||||
'CCK' => 'CC',
|
||||
'COL' => 'CO',
|
||||
'COM' => 'KM',
|
||||
'COG' => 'CG',
|
||||
'COD' => 'CD',
|
||||
'COK' => 'CK',
|
||||
'CRI' => 'CR',
|
||||
'HRV' => 'HR',
|
||||
'CUB' => 'CU',
|
||||
'CYP' => 'CY',
|
||||
'CZE' => 'CZ',
|
||||
'CIV' => 'CI',
|
||||
'DNK' => 'DK',
|
||||
'DJI' => 'DJ',
|
||||
'DMA' => 'DM',
|
||||
'DOM' => 'DO',
|
||||
'ECU' => 'EC',
|
||||
'EGY' => 'EG',
|
||||
'SLV' => 'SV',
|
||||
'GNQ' => 'GQ',
|
||||
'ERI' => 'ER',
|
||||
'EST' => 'EE',
|
||||
'ETH' => 'ET',
|
||||
'FLK' => 'FK',
|
||||
'FRO' => 'FO',
|
||||
'FJI' => 'FJ',
|
||||
'FIN' => 'FI',
|
||||
'FRA' => 'FR',
|
||||
'GUF' => 'GF',
|
||||
'PYF' => 'PF',
|
||||
'ATF' => 'TF',
|
||||
'GAB' => 'GA',
|
||||
'GMB' => 'GM',
|
||||
'GEO' => 'GE',
|
||||
'DEU' => 'DE',
|
||||
'GHA' => 'GH',
|
||||
'GIB' => 'GI',
|
||||
'GRC' => 'GR',
|
||||
'GRL' => 'GL',
|
||||
'GRD' => 'GD',
|
||||
'GLD' => 'GP',
|
||||
'GUM' => 'GU',
|
||||
'GTM' => 'GT',
|
||||
'GGY' => 'GG',
|
||||
'HTI' => 'GN',
|
||||
'HMD' => 'GW',
|
||||
'VAT' => 'GY',
|
||||
'GIN' => 'HT',
|
||||
'GNB' => 'HM',
|
||||
'HND' => 'HN',
|
||||
'HKG' => 'HK',
|
||||
'HUN' => 'HU',
|
||||
'ISL' => 'IS',
|
||||
'IND' => 'IN',
|
||||
'IDN' => 'ID',
|
||||
'IRN' => 'IR',
|
||||
'IRQ' => 'IQ',
|
||||
'IRL' => 'IE',
|
||||
'IMN' => 'IM',
|
||||
'ISR' => 'IL',
|
||||
'ITA' => 'IT',
|
||||
'JAM' => 'JM',
|
||||
'JPN' => 'JP',
|
||||
'JEY' => 'JE',
|
||||
'JOR' => 'JO',
|
||||
'KAZ' => 'KZ',
|
||||
'KEN' => 'KE',
|
||||
'KIR' => 'KI',
|
||||
'KWT' => 'KW',
|
||||
'KGZ' => 'KG',
|
||||
'LAO' => 'LA',
|
||||
'LVA' => 'LV',
|
||||
'LBN' => 'LB',
|
||||
'LSO' => 'LS',
|
||||
'LBR' => 'LR',
|
||||
'LBY' => 'LY',
|
||||
'LIE' => 'LI',
|
||||
'LTU' => 'LT',
|
||||
'LUX' => 'LU',
|
||||
'MAC' => 'MO',
|
||||
'MKD' => 'MK',
|
||||
'MDG' => 'MG',
|
||||
'MWI' => 'MW',
|
||||
'MYS' => 'MY',
|
||||
'MDV' => 'MV',
|
||||
'MLI' => 'ML',
|
||||
'MLT' => 'MT',
|
||||
'MHL' => 'MH',
|
||||
'MTQ' => 'MQ',
|
||||
'MRT' => 'MR',
|
||||
'MUS' => 'MU',
|
||||
'MYT' => 'YT',
|
||||
'MEX' => 'MX',
|
||||
'FSM' => 'FM',
|
||||
'MDA' => 'MD',
|
||||
'MCO' => 'MC',
|
||||
'MNG' => 'MN',
|
||||
'MNE' => 'ME',
|
||||
'MSR' => 'MS',
|
||||
'MAR' => 'MA',
|
||||
'MOZ' => 'MZ',
|
||||
'MMR' => 'MM',
|
||||
'NAM' => 'NA',
|
||||
'NRU' => 'NR',
|
||||
'NPL' => 'NP',
|
||||
'NLD' => 'NL',
|
||||
'ANT' => 'AN',
|
||||
'NCL' => 'NC',
|
||||
'NZL' => 'NZ',
|
||||
'NIC' => 'NI',
|
||||
'NER' => 'NE',
|
||||
'NGA' => 'NG',
|
||||
'NIU' => 'NU',
|
||||
'NFK' => 'NF',
|
||||
'PRK' => 'KP',
|
||||
'MNP' => 'MP',
|
||||
'NOR' => 'NO',
|
||||
'OMN' => 'OM',
|
||||
'PAK' => 'PK',
|
||||
'PLW' => 'PW',
|
||||
'PSE' => 'PS',
|
||||
'PAN' => 'PA',
|
||||
'PNG' => 'PG',
|
||||
'PRY' => 'PY',
|
||||
'PER' => 'PE',
|
||||
'PHL' => 'PH',
|
||||
'PCN' => 'PN',
|
||||
'POL' => 'PL',
|
||||
'PRT' => 'PT',
|
||||
'PRI' => 'PR',
|
||||
'QAT' => 'QA',
|
||||
'ROU' => 'RO',
|
||||
'RUS' => 'RU',
|
||||
'RWA' => 'RW',
|
||||
'REU' => 'RE',
|
||||
'BLM' => 'BL',
|
||||
'SHN' => 'SH',
|
||||
'KNA' => 'KN',
|
||||
'LCA' => 'LC',
|
||||
'MAF' => 'MF',
|
||||
'SPM' => 'PM',
|
||||
'WSM' => 'WS',
|
||||
'SMR' => 'SM',
|
||||
'SAU' => 'SA',
|
||||
'SEN' => 'SN',
|
||||
'SRB' => 'RS',
|
||||
'SYC' => 'SC',
|
||||
'SLE' => 'SL',
|
||||
'SGP' => 'SG',
|
||||
'SVK' => 'SK',
|
||||
'SVN' => 'SI',
|
||||
'SLB' => 'SB',
|
||||
'SOM' => 'SO',
|
||||
'ZAF' => 'ZA',
|
||||
'SGS' => 'GS',
|
||||
'KOR' => 'KR',
|
||||
'ESP' => 'ES',
|
||||
'LKA' => 'LK',
|
||||
'VCT' => 'VC',
|
||||
'SDN' => 'SD',
|
||||
'SUR' => 'SR',
|
||||
'SJM' => 'SJ',
|
||||
'SWZ' => 'SZ',
|
||||
'SWE' => 'SE',
|
||||
'CHE' => 'CH',
|
||||
'SYR' => 'SY',
|
||||
'STP' => 'ST',
|
||||
'TWN' => 'TW',
|
||||
'TJK' => 'TJ',
|
||||
'TZA' => 'TZ',
|
||||
'THA' => 'TH',
|
||||
'TLS' => 'TL',
|
||||
'TGO' => 'TG',
|
||||
'TKL' => 'TK',
|
||||
'TON' => 'TO',
|
||||
'TTO' => 'TT',
|
||||
'TUN' => 'TN',
|
||||
'TUR' => 'TR',
|
||||
'TKM' => 'TM',
|
||||
'TCA' => 'TC',
|
||||
'TUV' => 'TV',
|
||||
'UMI' => 'UM',
|
||||
'VIR' => 'VI',
|
||||
'UGA' => 'UG',
|
||||
'UKR' => 'UA',
|
||||
'ARE' => 'AE',
|
||||
'GBR' => 'GB',
|
||||
'USA' => 'US',
|
||||
'URY' => 'UY',
|
||||
'UZB' => 'UZ',
|
||||
'VUT' => 'VU',
|
||||
'GUY' => 'VA',
|
||||
'VEN' => 'VE',
|
||||
'VNM' => 'VN',
|
||||
'WLF' => 'WF',
|
||||
'ESH' => 'EH',
|
||||
'YEM' => 'YE',
|
||||
'ZMB' => 'ZM',
|
||||
'ZWE' => 'ZW',
|
||||
'ALA' => 'AX'
|
||||
);
|
||||
if ($iso3) {
|
||||
return array_key_exists($iso3, $iso2) ? $iso2[$iso3] : '';
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
public static function generateHash($m_t_id, $amount, $cur_code, $trans_type)
|
||||
{
|
||||
return SHA1(
|
||||
Configuration::get('PAYLANE_GENERAL_HASH') . "|" .
|
||||
$m_t_id . "|" .
|
||||
$amount . "|" .
|
||||
$cur_code . "|" .
|
||||
$trans_type
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user