我是一名新手,从事代码点火器的工作,我正在使用razorpay支付网关api,使用razorbay文档中定义的路线概念来转移金额。当我使用curl
调用api时,我得到了错误:
{"错误":{"代码":"REQUEST_ERROR";,"描述":"请提供您的api密钥以进行身份验证&";,"源":无效的"步骤":无效的"原因":无效的"元数据":{}}}
我使用的代码是:
$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_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json','YOUR_KEY_ID','YOUR_KEY_SECRET'));
应该包含实际的密钥和机密,而不是your_key_id
和your_key_secret
占位符字符串。否则,授权将使失败
您将需要以base64格式对密钥:secret进行编码。然后添加另一个头授权,使这个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)'));
如果它对你有效,请告诉我!