Razorpay:BAD_REQUEST_ERROR Пожалуйста, предоставьте свой ключ API для аутентификации

Я новичок, работаю над codeigniter, и я использую api платежного шлюза razorpay для перевода суммы с использованием концепции маршрута, как определено в документации razorpay. Когда я вызываю API с помощью curl, я получаю сообщение об ошибке:

{ ошибка: { код: BAD_REQUEST_ERROR, описание: укажите свой ключ API для аутентификации., источник: null, шаг: null, причина: null, метаданные: {} } }

код, который я использовал:

$url = 'https://api.razorpay.com/v1/payments/pay_E8JR8E0XyjUSZd/transfers';

/* Array Parameter Data */
$data = ['account' => 'va_FWSvFCwsaV1w5K', 'amount' => 90, 'currency' => 'INR'];

/* pass encoded JSON string to the POST fields */
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        
/* set the content type json */
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json','YOUR_KEY_ID','YOUR_KEY_SECRET'));
        
/* set return type json */
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        
/* execute request */
$result = curl_exec($ch);
         
/* close cURL resource */
curl_close($ch);
print_r($result);

Как мне поместить свой ключ и секрет в curl, чтобы не возникала ошибка.

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


person mohsin    schedule 06.09.2020    source источник
comment
Аналогично stackoverflow.com/a/59005454/4703530   -  person VipinKundal    schedule 31.03.2021
comment
обратитесь - razorpay.com/docs/api/orders/#create-an- заказать   -  person Ayush Vipul    schedule 09.04.2021


Ответы (2)


Сообщение об ошибке говорит само за себя. Эта строка:

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json','YOUR_KEY_ID','YOUR_KEY_SECRET'));
    

Должен содержать ваш фактический ключ и секрет, а не строки-заполнители your_key_id и your_key_secret. В противном случае авторизация не пройдет

person Javier Larroulet    schedule 06.09.2020
comment
я использовал фактический ключ и секрет, но ошибка остается прежней @Javier Larroulet - person mohsin; 06.09.2020

Вам потребуется закодировать ключ: секрет в формате base64. А затем добавьте еще один заголовок Authorization, чтобы этот API заработал.

headers = {
   "Content-Type": "application/json",
   "Authorization": "Basic " + encode_base64(Key:Secret)
}

В твоем случае,

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json','Authorization:Basic (encoded_string)'));

Дайте мне знать, если это работает для вас!

person SangamAngre    schedule 08.04.2021