Мне нужно случайным образом сгенерировать строку для отправки в платежный процессор для сохранения в качестве идентификатора торговой транзакции.Я использую CodeIgniter PHP Framework.Документы API Peach Payments говорят, что я должен использовать "merchantTransactionId"
Хорошо, поэтому я добавил merchantTransactionId=
в запрос API платежей и попытался добавить GenerateRandomString в запрос API, а также пробовал миллионы других переменных,но безрезультатно.Единственный раз, когда это работает для меня, это если я использую сумму в долларах, то выплачиваемая сумма отображается в консоли администратора платежных систем, но я хочу, чтобы случайный идентификатор отображался в качестве идентификатора транзакции, поскольку у меня не может быть заплаченных сумм.
Вот код запроса API:
function paymentGateway($amount) {
$url = "https://oppwa.com/v1/checkouts";
$data = "entityId=8ac7a4c96afd0574016afd649e36013f" . "&amount=" . $amount . "¤cy=ZAR" . "&paymentType=DB" . "&merchantTransactionId=amarechat_" . $generateRandomString(24);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization:Bearer ******'));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);// this should be set to
true in production
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$responseData = curl_exec($ch);
if(curl_errno($ch)) {
return curl_error($ch);
}
curl_close($ch);
return $responseData;
}
function request($amount) {
$url = "https://oppwa.com/v1/checkouts";
$data = "entityId=******" .
"&amount=" . $amount .
"¤cy=ZAR" .
"&merchantTransactionId=amarechat_" . $generateRandomString .
"&paymentType=DB";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Authorization:Bearer ******'));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);// this should be set to true in production
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$responseData = curl_exec($ch);
if(curl_errno($ch)) {
return curl_error($ch);
}
curl_close($ch);
return $responseData;
}
, поэтому, где вы видите & merchantTransactionId "в приведенном выше коде, мне требуется, чтобы случайная строка текста / чисел была сгенерирована и отправлена в платежный процессор.
Это код главной страницы, который генерирует форму платежа на основе суммы, которую пользователь выбрал для депозита: (это прекрасно работает. Только merchantTransactionId не работает ...
<?php
$responseData = request($amount);
$a = json_decode($responseData, true);
// print_r($responseData);
?>
<script src="https://oppwa.com/v1/paymentWidgets.js?checkoutId=<?=$a['id']?>"></script>