• 1000 но я не могу получить токен, и в качестве ответа я получаю пустую страницу (без ответа) в моем браузере. Где я ошибаюсь и хочу знать, как я могу получить «токен» от cashfree? поэтому я могу передать токен в качестве параметра в остальной части API. Вот мой код.
$clientId = 'xxxxxxxxxxxxxxxxxxxxxxxxx';
$clientSecret = 'xxxxxxxxxxxxxxxxxxxxxxxx';
$env = 'test';
#config objs
$baseUrls = array(
'prod' => 'https://payout-api.cashfree.com',
'test' => 'https://payout-gamma.cashfree.com',
);
$urls = array(
'auth' => '/payout/v1/authorize',
'createCashgram' => '/payout/v1/createCashgram',
'getCashgramStatus' => '/payout/v1/getCashgramStatus',
);
$header = array(
'X-Client-Id: '.$clientId,
'X-Client-Secret: '.$clientSecret,
'Content-Type: application/json',
);
$baseurl = $baseUrls[$env];
function create_header($token){
global $header;
$headers = $header;
if(!is_null($token)){
array_push($headers, 'Authorization: Bearer '.$token);
}
return $headers;
}
function post_helper($action, $data, $token){
global $baseurl, $urls;
$finalUrl = $baseurl.$urls[$action];
$headers = create_header($token);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_URL, $finalUrl);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
if(!is_null($data)) curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
$r = curl_exec($ch);
if(curl_errno($ch)){
print('error in posting');
print(curl_error($ch));
die();
}
curl_close($ch);
$rObj = json_decode($r, true);
if($rObj['status'] != 'SUCCESS' || $rObj['subCode'] != '200') throw new Exception('incorrect response: '.$rObj['message']);
return $rObj;
}
function getToken(){
try{
$response = post_helper('auth', null, null);
return $response['data']['token'];
}
catch(Exception $ex){
error_log('error in getting token');
error_log($ex->getMessage());
die();
}
}
#main execution
$token = getToken();
createCashgram($token);
cashgramGetStatus($token);