Токен PayFort SDK: неверная команда

avatar
PHP User
8 апреля 2018 в 11:21
667
1
0

[ОБНОВЛЕНИЕ НИЖЕ]

Я пытаюсь получить 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

[ОБНОВЛЕНИЕ]

изменил Command на service_command и теперь получаю эту ошибку

Channel not configured for selected payment option
Источник

Ответы (1)

avatar
PHP User
8 апреля 2018 в 13:36
0

Чтобы добавить новые службы или команды, я должен позвонить в службу поддержки.