Как передать order_id и другие детали заказа на страницу успеха payumoney - PullRequest
0 голосов
/ 25 апреля 2019

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

Profile.php

<?php  
define('MERCHANT_KEY', 'xxxxxx');
define('SALT', 'yyyyyyy');
define('PAYU_BASE_URL', 'https://sandboxsecure.payu.in');    //Testing url 
Use in development mode
//define('PAYU_BASE_URL', 'https://secure.payu.in');  //actual URL Use in 
production mode
define('SUCCESS_URL', $baseurl.'/order-success.php');  //order sucess url 
replace with your complete url
define('FAIL_URL', $baseurl.'/order-fail.php');    //add complete url 
$txnid = substr(hash('sha256', mt_rand() . microtime()), 0, 20);
$email = $email;
$mobile = $mobile;
$firstName = $name;;
$lastName =  $surname;;
$totalCost = '1';
$order_id = $rowcart['cartid'];
$hash         = '';
$hash_string = MERCHANT_KEY."|".$txnid."|".$totalCost."|"."productinfo|".$firstName."|".$email."|||||||||||".SALT;
$hash = strtolower(hash('sha512', $hash_string));
$action = PAYU_BASE_URL . '/_payment'; 

?>
<form action="<?php echo $action; ?>" method="post" name="payuForm" id="payuForm" style="display: none">
    <input type="hidden" name="key" value="<?php echo MERCHANT_KEY ?>" />
     <input type="hidden" name="hash" value="<?php echo $hash ?>"/>
    <input type="hidden" name="txnid" value="<?php echo $txnid ?>" />
    <input name="amount" type="number" value="<?php echo $totalCost; ?>" />
    <input type="text" name="firstname" id="firstname" value="<?php echo $firstName; ?>" />
    <input type="email" name="email" id="email" value="<?php echo $email; ?>" />
    <input type="text" name="phone" value="<?php echo $mobile; ?>" />
    <textarea name="productinfo"><?php echo "productinfo"; ?></textarea>
    <input type="text" name="surl" value="<?php echo SUCCESS_URL; ?>" />
    <input type="text" name="furl" value="<?php echo  FAIL_URL?>"/>
    <input type="text" name="service_provider" value="payu_paisa"/>
    <input type="text" name="lastname" id="lastname" value="<?php echo $lastName ?>" />
     <input type="text" name="orderid" id="orderid" value="<?php echo $order_id ?>" />


 </form>
<script type="text/javascript">
    function submitForm(){
        var payuForm = document.forms.payuForm;
     payuForm.submit();
   }

</script>

Payment-success.php

   <?php

   $status = $_POST["status"];
$firstname = $_POST["firstname"];
  $amount = $_POST["amount"];
  $txnid = $_POST["txnid"];
 $posted_hash = $_POST["hash"];
  $key = $_POST["key"];
  $productinfo = $_POST["productinfo"];
 $email = $_POST["email"];
 $salt = "IYdC2b1qIb";
  $order_id = $_POST["orderid"];

  If (isset($_POST["additionalCharges"])) {
   $additionalCharges = $_POST["additionalCharges"];
   $retHashSeq = $additionalCharges . '|' . $salt . '|' . $status . '|||||||||||' . $email . '|' . $firstname . '|' . $productinfo . '|' . $amount . '|' . $txnid . '|' . $key;
} else {

    $retHashSeq = $salt . '|' . $status . '|||||||||||' . $email . '|' . $firstname . '|' . $productinfo . '|' . $amount . '|' . $txnid . '|' . $key;
  }
  $hash = hash("sha512", $retHashSeq);

  if ($hash != $posted_hash) {
     echo "Invalid Transaction. Please try again";
  } 

Мне нужно получить идентификатор заказа на payment-success.php.Там в любом случае?Заранее спасибо

1 Ответ

0 голосов
/ 25 апреля 2019

Я прочитал документ API Payu Money и нашел это. Вы можете передать order_id в поле udf1 или udf2, это было пользовательское поле, поэтому вы можете установить в нем order_id и получить его в Response.

Payumoney APi Doc

...