Функция Hash () не работает в шаблоне WordPress - PullRequest
0 голосов
/ 15 октября 2019

Я пытаюсь добавить платежный шлюз, но не могу хэшировать строку.

<?php
/**
 * Template Name: Payment
 *
 * @link    https://codex.wordpress.org/Template_Hierarchy
 *
 * @package Mitech
 * @since   1.0
 */

get_header();
?>
<?php 
$email = $_GET['email'];
$Price = $_GET['asdcsa'];



// How to calculate request signature.
$shaString  = '';
// array request
$arrData    = array(
'command'            =>'AUTHORIZATION',
'access_code' => 'WboNsNukQq6CpM5sFTb6',
'merchant_identifier' => 'oZCzyQtx',
'merchant_reference' => 'XYZ9239-yu898',
'amount'             =>'10000',
'currency'           =>'AED',
'language'           =>'en',
'customer_email'     =>'test@payfort.com',
'order_description'  =>'iPhone 6-S',
);
// sort an array by key
ksort($arrData);
foreach ($arrData as $key => $value) {
    $shaString .= "$key=$value";
}
// make sure to fill your sha request pass phrase.
$shaString = "$2y$10$XPu7h2ekY" . $shaString . "$2y$10$XPu7h2ekY";
$signature = hash("SHA-256", $shaString);


echo $signature;

Вот код, который я использовал для преобразования строки в хеш.

Вот ссылка на страницу https://saudibulksms.com/en/payment/

Пожалуйста, помогите мне с этим.

1 Ответ

0 голосов
/ 15 октября 2019

используйте «вместо», в противном случае он попытается разрешить строки как переменные, например

$shaString = '$2y$10$XPu7h2ekY' . $shaString . '$2y$10$XPu7h2ekY';

Кроме того, правильный метод для метода hash() - "sha256" а не SHA-256, насколько я видел в документации.

Редактировать: Дополнительно, чтобы избежать ошибок дублирования и сделать код более читабельным, я бы предложил использовать переменную для '$2y$10$XPu7h2ekY'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...