Advertisement
Guest User

Mpesa.php

a guest
May 21st, 2019
267
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.68 KB | None | 0 0
  1. <?php
  2. header("Content-Type:application/json");
  3.  
  4.  
  5. $host="localhost";
  6. $username="root";
  7. $password="ray13a26b";
  8. $dbname="lnm";
  9.  
  10. //create a Connection
  11. $conn=mysqli_connect($host,$username,$password,$dbname);
  12.  
  13. //check the connection
  14.  
  15. if(!$conn)
  16. {
  17.     die("connection does not established successfully :".mysqli_connect_error());
  18. }
  19. //read the json file using php method   file_get_contents('filename.json')
  20. //$jsondata=file_get_contents('mpesa.json');
  21.  
  22. ////convert json into php array
  23. //$data=json_decode($jsondata);
  24. // $request=file_put_contents('php://input');
  25.  
  26. // if (!request)
  27. // {
  28. //     exit("Invalid input");
  29. // }else{
  30. //     $data = json_decode($request, true);
  31. // }
  32. // $MerchantRequestID = $data->Body->stkCallback->MerchantRequestID;
  33. // $CheckoutRequestID = $data->Body->stkCallback->CheckoutRequestID;
  34. // $ResultCode = $data->Body->stkCallback->ResultCode;
  35. // $ResultDesc = $data->Body->stkCallback->ResultDesc;
  36. // $Items = $data->Body->stkCallback->CallbackMetadata->Item;
  37. // $Amount = (int)$Items[0]->Value;
  38. // $MpesaReceiptNumber = $Items[1]->Value;
  39. // if(!empty($Items[2]->Value))
  40. //     $Balance = $Items[2]->Value;
  41. // else
  42. //     $Balance = 0;
  43. // $TransactionDate = (string)$Items[3]->Value;
  44. // $PhoneNumber = $Items[4]->Value;
  45.  
  46.         $dataPOST = trim(file_get_contents('php://input'));
  47.         $obj = json_decode($dataPOST,true);
  48.         if(empty($obj)){return ['message'=>'empty body'];}
  49.         $mydata=$obj['Body']['stkCallback']['CallbackMetadata']['Item'];
  50.         $merchant_id=$obj['Body']['stkCallback']['MerchantRequestID'];
  51.         $request_id=$obj['Body']['stkCallback']['CheckoutRequestID'];
  52.         $ResultCode=$obj['Body']['stkCallback']['ResultCode'];
  53.         if ($ResultCode != 0) {
  54.            // $this->send_sms($request_id);
  55.             return ['message'=>'something went wrong'];
  56.         }else{
  57.         foreach ($mydata as $key => $value) {
  58.         if($value['Name']=="Amount"){
  59.         $amount=$value['Value'];
  60.         }else if($value['Name']=="MpesaReceiptNumber"){
  61.         $MpesaReceiptNumber=$value['Value'];
  62.         }else if($value['Name']=="TransactionDate"){
  63.         $TransactionDate=$value['Value'];
  64.         }else if($value['Name']=="PhoneNumber"){
  65.         $PhoneNumber=$value['Value'];
  66.         }}}
  67.  
  68.  
  69.  
  70. $sql="insert into transactions
  71. (merchant_request_id,checkout_request_id,result_code,result_desc,amount,mpesa_receipt_number,transaction_date,phone_number,balance )
  72. values
  73. ('$MerchantRequestID','$CheckoutRequestID','$ResultCode','$ResultDesc','$Amount','$MpesaReceiptNumber','$TransactionDate','$PhoneNumber','$Balance')";
  74.  
  75. //run the above query
  76. $result=mysqli_query($conn,$sql);
  77.  
  78. if(!$result)
  79. {
  80.     die("ERROR :". mysqli_error($conn));
  81. }
  82. else
  83. {
  84.     echo "Records successfully inserted";
  85. }
  86.  
  87.  
  88. //close the connection
  89. mysqli_close($conn);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement