Как вызвать файл PHP из AngularJS - PullRequest
0 голосов
/ 22 января 2019

Я пытаюсь интегрировать платежный шлюз в веб-приложение.Я пытаюсь вызвать php-файл, который перенаправляет на другую страницу.Мне нужно передать ему некоторые значения, а затем он должен перенаправить на страницу платежного шлюза.

Вот что я делаю:

<form name="payBillForm" id="payBillFormId" ng-submit="paymentGateway()">
 <div class="input-group"  ng-class="{'has-error': amountEnteredInvalid}" >
          <span class="input-group-addon"> <i class="fa fa-rupee"></i>
          </span>
          <input type="text" class="form-control" 
          ng-change="testAmountValidity()"
          ng-disabled="isPaymentComplete" ng-model="amountPayingNow" >
         <button class="btn btn-info" type="submit">Pay</button>
        </div>
</form>

Контроллер:

let formName = document.getElementById('payBillFormId');

let paymentFormData = new FormData(formName);
paymentFormData.append("amount", $scope.amountPayingNow);
paymentFormData.append("email", $scope.payEmailId);
paymentFormData.append("mobile_no", $scope.payContactNo);
paymentFormData.append("invoice", 234);
paymentFormData.append("invoice_amount", $scope.amountPayingNow);


$http({
    method: "POST",
        url: '../PaymentGateway/index.php',
        data: paymentFormData,
        ContentType: false

}).then(function successCallback(response) {
  console.log(response, "Payrespo");
});

В ответ в консоли я получаю:

"<br />↵<b>Notice</b>:  Undefined index: invoice_amt in <b>C:\xampp\htdocs\myworkspace\AMS\apartment-management-system\PaymentGateway\index.php</b> on line <b>15</b><br />

PHP:

    <?php
require_once('fonepaisa.php'); 
 $invoice_amt = $_REQUEST['invoice_amt'];
 $amount = $_REQUEST['amount'];
 $email = $_REQUEST['email'];
 $mobile_no = $_REQUEST['mobile_no'];
 //$invoice = $_REQUEST['invoice'];

fonepaisa_forward(array(

            'id'=>'FPTEST',
            'merchant_id'=>'FPTEST',
            'merchant_display'=>'fonePaisa Test Merchant',
            'invoice_amt' => "$invoice_amt",
            'amount' => "$amount",
            'email'=> "$email",
            'mobile_no'=> "$mobile_no",
            'callback_url'=>'http://localhost/myworkspace/AMS/apartment-management-system/PaymentGateway/confirm.php',
            'callback_failure_url'=>'http://localhost/myworkspace/AMS/apartment-management-system/PaymentGateway/cancel.php',
            'invoice'=>'FPORDER'.rand(1,100000000),
            'api_key'=>'08Z1782051U62BY9OUGW4XM67GF2004',
            'private_key'=>'file://C:\xampp\htdocs\myworkspace\AMS\apartment-management-system\PaymentGateway\priv.pem',
            'public_key'=>'',
            'is_live_env'=>'N' //The value should be changed to 'Y' when one wants to move to production
        ));
exit
?>

1 Ответ

0 голосов
/ 22 января 2019

Ваш код HTML и JS не содержит никакого значения 'invoice_amt' для запроса POST!Я думаю, что вы invoice_amout вместо invoice_amt

Попробуйте заменить $_POST['invoice_amt'] на $_POST['invoice_amount']

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...