[ОБНОВЛЕНИЕ НИЖЕ]
Я пытаюсь получить sdk_token, который нужен в родном приложении таким образом
$requestParams = array(
'access_code' => $this->PayfortAccessCode ,
'amount' => floatval($amount)*100,
'currency' => strtoupper($currency),
'customer_email' => $email,
'merchant_reference' => $order_id,
'order_description' => $order_description,
'language' => $this->PayfortLanguage,
'merchant_identifier' => $this->PayfortMerchantID,
'payment_option' => $payment_option,
'command' => 'SDK_TOKEN',
'return_url' => $this->PayfortReturnUrl,
'customer_name' => $customer_name,
'customer_ip' => ''//$this->CI->input->ip_address()
);
$filtered_params = array_filter($requestParams);
ksort($filtered_params);
$this->setEncryptionKey($this->PayfortRequestEncryptionKey);
$postData = array();
foreach ($filtered_params as $name => $value) {
$postData[strtolower(htmlentities($name))] = htmlentities($value);
}
$postData['signature'] = $this->generate_signature($filtered_params);
$requestParams=json_encode($parameters['post_data']);
$result = file_get_contents('https://paymentservices.payfort.com/FortAPI/paymentApi', null, stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => 'Content-Type: application/json' . "\r\n". 'Content-Length: ' . strlen($requestParams) . "\r\n",
'content' => $requestParams,
),
)
));
$result=json_decode($result);
print_r($result);
Код разделен на несколько файлов, но я рассматриваю его как один файл здесь. Проблема в том, что я получаю этот ответ с ошибкой «Недопустимая команда»
stdClass Object
(
[amount] => 2130
[response_code] => 00004
[signature] => signature_here
[merchant_identifier] => id_here
[access_code] => code_here
[language] => en
[command] => SDK_TOKEN
[response_message] => Invalid command
[merchant_reference] => reference_here
[customer_email] => email_here
[return_url] => url_here
[currency] => currency_symbol_here
[customer_name] => customer_name_here
[status] => 00
)
Так как это исправить, чтобы получить SDK_TOKEN
[ОБНОВИТЬ]
изменил команду на service_command и теперь я получаю эту ошибку
Channel not configured for selected payment option
Чтобы добавить новые службы или команды, я должен позвонить в службу поддержки, чтобы сделать это.
Других решений пока нет …