1

payumoney 支払いゲートウェイの統合を試みました。私はcart.phpページを持っていて、同じものに対して次のコードを実行しました:

if(isset($_POST['image-pay']){
 $MERCHANT_KEY = "rjQUPktU";
 $SALT = "e5iIg1jwi8";
 $PAYU_BASE_URL = "https://test.payu.in";

 $action = '';
 $key = $MERCHANT_KEY;
 $txnid = substr(hash('sha256', mt_rand() . microtime()), 0, 20);

 $productinfo = 'photos';
 $firstname = $_POST['firstname'];
 $email = $_POST['email'];
 $phone = $_POST['phone'];
 $success_url = 'http://example.com/checkout/final-success.php';
 $failure_url = 'http://example.com/checkout/failure.php';
 $cancel_url = 'http://example.com/checkout/cancel.php';
 $service_provider = "payu_paisa";
 $hash = '';
 $hasTemp = $key."|".$txnid."|".$amount."|".$productinfo."|".$firstname."|".$email."|||||||||||".$SALT;
 $hash = strtolower(hash('sha512', $hasTemp));

 $action = $PAYU_BASE_URL . '/_payment';
}

<form action="<?php echo $action; ?>" method="post" name="payuForm" id="jps_payuform">
 <input type="hidden" name="key" value="<?php echo $MERCHANT_KEY; ?>" />
 <input type="hidden" name="hash" value="<?php echo $hash; ?>"/>
 <input type="hidden" name="hash_temp" value="<?php echo $hasTemp; ?>"/>
 <input type="hidden" name="txnid" value="<?php echo $txnid; ?>" />
 <input type="hidden" name="amount" value="<?php echo $amount; ?>" />
 <input type="hidden" name="surl" value="<?php echo $success_url; ?>" size="64" />
 <input type="hidden" name="furl" value="<?php echo $failure_url; ?>" size="64" />
 <input type ="hidden" name="curl" value="<?php echo $cancel_url; ?>" />
 <input type="hidden" name="service_provider" value="<?php echo $service_provider; ?>" size="64" />
 <input type="hidden" name="productinfo" value="<?php echo $productinfo; ?>" />
 <input type="hidden" name="udf1" value="<?php echo $numberPics; ?>" />
 <h3 class="att_heading" style="text-align: center;">Your Personal Details</h3>
 <label><span class="required_jps_field">*</span> Mandatory Parameters</b></label>
 <label><span class="required_jps_field">*</span> Name: </label>
 <input name="firstname" class="form-control" value="<?php echo $firstname; ?>" required />
 <label><span class="required_jps_field">*</span> Email:</label>
 <input name="email" id="email" class="form-control" value="<?php echo $email; ?>" required />
 <label><span class="required_jps_field">*</span> Phone: </label>
 <input name="phone" class="form-control" value="<?php echo $phone; ?>" required />
 <input type="submit" class="btn btn-info" name="image-pay" value="Process" />
</form>

正常に動作していますが、 isset($_POST['image-pay']) 関数を使用すると問題が発生し、送信ボタンを 2 回クリックする必要があり、payumoney ページをリダイレクトし、これを削除すると (isset($_POST['image -pay']) 関数を使用すると、送信ボタンが 1 回のクリックで機能しますが、名前、電子メール、電話番号が payumoney に渡されません。

助けて、どこが間違っているのか教えてください。

4

0 に答える 0