Конвертировать PHP HTTP пост-запрос в Livecode

Я новичок в Livecode, и я попытался несколько вещей, чтобы преобразовать этот код PHP пост-запроса PHP в Livecode, но не работает. Это понадобится либо с cURL, либо без cURL.

    $receive_momo_request = array(
'CustomerName' => 'Customer Name',
'CustomerMsisdn'=> '054XXXX',
'CustomerEmail'=> '[email protected]',
'Channel'=> 'mtn-gh',
'Amount'=> 0.8,
'PrimaryCallbackUrl'=> 'http://requestb.in/1minotz1',
'Description'=> 'T Shirt',

);

//API Keys

$clientId = 'xxxxxxx';
$clientSecret = 'xxxxxxx';
$basic_auth_key =  'Basic ' . base64_encode($clientId . ':' . $clientSecret);
$request_url = 'https://api.hubtel.com/v1/merchantaccount/merchants/HMXXXXXXX/receive/mobilemoney';
$receive_momo_request = json_encode($receive_momo_request);

$ch =  curl_init($request_url);
curl_setopt( $ch, CURLOPT_POST, true );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $receive_momo_request);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_HTTPHEADER, array(
'Authorization: '.$basic_auth_key,
'Cache-Control: no-cache',
'Content-Type: application/json',
));

$result = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);

if($err){
echo $err;
}else{
echo $result;
}

Это то, что я сделал до сих пор, может быть, что-то упустил.

on mouseUp
global gFirstName, gLastName
put gFirstName & " " & gLastName into lFullName
put lFullName into tArray[ "CustomerName"]
put "gPhoneNumber" into tArray["CustomerMsisdn"]
put "gEmail"  into tArray["CustomerEmail"]
put "airtel-gh" into tArray["Channel"]
put "0.01" into tArray["Amount"]
put "http://requestb.in/1minotz1" into tArray["PrimaryCallbackUrl"]
put "FBMC Mobile" into tArray["Description"]
put true into tArray ["FeesOnCustomer"]

put ArrayToJSON(tArray) into receive_momo_request

put "ABCD" into clientId
put "1234" into clientSecret
set the httpHeaders to "Content-type: application/json" && "Authorization: Basic " && base64Encode("clientId:clientSecret") && "Cache-Control: no-cache"post receive_momo_request to url "https://api.hubtel.com/v1/merchantaccount/merchants/HMXXXXXXX/receive/mobilemoney"
end mouseUp

1

Решение

Ваш код LiveCode выглядит хорошо на первый взгляд. Я бы попробовал две вещи:

Во-первых, URL-код данных, которые вы публикуете, прежде чем вы публикуете их.

put ArrayToJSON(tArray) into receive_momo_request
put urlEncode(receive_momo_request) into receive_momo_request

Во-вторых, после post команда, проверьте itпеременная, чтобы увидеть, какие данные были возвращены веб-сервером. Вы также можете проверить the result чтобы увидеть, произошла ли ошибка.

post receive_momo_request to url "https://api.hubtel.com/v1/merchantaccount/merchants/HMXXXXXXX/receive/mobilemoney"put it into tServerFeedback
answer the result

Это должно как минимум рассказать вам, что происходит после того, как вы post команда.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]