问题重定向支付状态从AJAX到PHP



我正在使用PHP开发一个支付集成网关,通过该网关我可以侦听1、2或0的响应。关于成功,我想将任何字符串重定向到AJAX成功,这并不像预期的那样工作

PHP代码

for($try=1; $try<=3; $try++) {
sleep(15);
$payStat = $this->global_Curl($data, 'api/payment/status')->data;
//dd($payStat);
//Check if staus is zero meaning not paid
if ($payStat->status === 0) {
return 'notPaid';
}
//check if status is 2 meaning cancelled
elseif ($payStat->status === 2) {
return 'Cancelled';
}
//check if status is 1 meaning paid
elseif ($payStat->status === 1) {
return 'Paid';
}
}

我想监听响应的AJAX代码

<script type="text/javascript">
$('.mpesa').on('click', function () {
//alert('clicked');
//Adds Class to the page when it loads
$('.PAY').addClass("loading");
//Gets the MPESA type
var type = $('.mpesa').prop('id');
var quote = $('#quote').val();
var phone = $('#phone').val();
//Converts to a JSON object
var type ={
'type': type,
'quote' : quote,
'phone' : phone,
};
//console.log(type);
$.ajax({
//Contains controller of payment
type: 'POST',
url: 'paymentFinal',
data: JSON.stringify(type),
contentType: 'application/json',
dataType: "json",
success: function success(response) {
//Log the reponse from PHP code
console.log(response);
},
error: function error(data) {
//alert('Error');
}
});
});
</script>

return语句更改为echo语句然后您可以在前端中使用这些值

if ($payStat->status === 0) {
echo 'notPaid';
return; // if you need to exit
}

最好使用json对象作为响应。它将很容易在前端准备好。

if ($payStat->status === 0) {
echo ['status' => 'notPaid'];
return; // if you need to exit
}

最新更新