在测试模式下集成PayUMoney支付网关时,"抱歉发生了一些错误"

Ash*_*osh 18 php integration payment-gateway payu payumoney

我正在尝试将PayUMoney支付网关集成到我的客户端站点中.我的客户向我提供了PayUMoney的登录详细信息.我找到了商家钥匙但找不到两者中的任何一个:

  1. 商人盐
  2. 开发人员站点,我可以在其中创建测试帐户并在沙箱上进行测试

PayUMoney为我提供了一个默认值的表单,但是当我测试时,它会给出消息:抱歉发生了一些错误.

这是表格:

<?php
// Merchant key here as provided by Payu
$MERCHANT_KEY = "JBZaLc";

// Merchant Salt as provided by Payu
$SALT = "GQs7yium";

// End point - change to https://secure.payu.in for LIVE mode
$PAYU_BASE_URL = "https://test.payu.in";

$action = '';

$posted = array();
if(!empty($_POST)) {
//print_r($_POST);
foreach($_POST as $key => $value) {    
$posted[$key] = $value; 

}
}

$formError = 0;

if(empty($posted['txnid'])) {
// Generate random transaction id
$txnid = substr(hash('sha256', mt_rand() . microtime()), 0, 20);
} else {
$txnid = $posted['txnid'];
}
$hash = '';
// Hash Sequence
$hashSequence =     "key|txnid|amount|productinfo|firstname|email|udf1|udf2|udf3|udf4|udf5|udf6|udf7|udf8|udf9|udf10";
if(empty($posted['hash']) && sizeof($posted) > 0) {
if(
      empty($posted['key'])
      || empty($posted['txnid'])
      || empty($posted['amount'])
      || empty($posted['firstname'])
      || empty($posted['email'])
      || empty($posted['phone'])
      || empty($posted['productinfo'])
      || empty($posted['surl'])
      || empty($posted['furl'])
      || empty($posted['service_provider'])
) {
$formError = 1;
} else {
//$posted['productinfo'] = json_encode(json_decode('[{"name":"tutionfee","description":"","value":"500","isRequired":"false"},{"name":"developmentfee","description":"monthly tution     fee","value":"1500","isRequired":"false"}]'));
$hashVarsSeq = explode('|', $hashSequence);
$hash_string = '';  
foreach($hashVarsSeq as $hash_var) {
  $hash_string .= isset($posted[$hash_var]) ? $posted[$hash_var] : '';
  $hash_string .= '|';
}

$hash_string .= $SALT;


$hash = strtolower(hash('sha512', $hash_string));
$action = $PAYU_BASE_URL . '/_payment';
}
} elseif(!empty($posted['hash'])) {
$hash = $posted['hash'];
$action = $PAYU_BASE_URL . '/_payment';
}
?>
<html>
<head>
<script>
var hash = '<?php echo $hash ?>';
function submitPayuForm() {
  if(hash == '') {
    return;
  }
  var payuForm = document.forms.payuForm;
  payuForm.submit();
}
</script>
</head>
<body onLoad="submitPayuForm()">
<h2>PayU Form</h2>
<br/>
<?php if($formError) { ?>
  <span style="color:red">Please fill all mandatory fields.</span>
  <br/>
  <br/>
<?php } ?>
<form action="<?php echo $action; ?>" method="post" name="payuForm">
  <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 ?>" />
  <table>
    <tr>
      <td><b>Mandatory Parameters</b></td>
    </tr>
    <tr>
      <td>Amount: </td>
      <td><input name="amount" value="<?php echo (empty($posted['amount'])) ? '' : $posted['amount'] ?>" /></td>
      <td>First Name: </td>
      <td><input name="firstname" id="firstname" value="<?php echo (empty($posted['firstname'])) ? '' : $posted['firstname']; ?>" /></td>
    </tr>
    <tr>
      <td>Email: </td>
      <td><input name="email" id="email" value="<?php echo (empty($posted['email'])) ? '' : $posted['email']; ?>" /></td>
      <td>Phone: </td>
      <td><input name="phone" value="<?php echo (empty($posted['phone'])) ? '' : $posted['phone']; ?>" /></td>
    </tr>
    <tr>
      <td>Product Info: </td>
      <td colspan="3"><textarea name="productinfo"><?php echo (empty($posted['productinfo'])) ? '' : $posted['productinfo'] ?></textarea></td>
    </tr>
    <tr>
      <td>Success URI: </td>
      <td colspan="3"><input name="surl" value="<?php echo (empty($posted['surl'])) ? '' : $posted['surl'] ?>" size="64" /></td>
    </tr>
    <tr>
      <td>Failure URI: </td>
      <td colspan="3"><input name="furl" value="<?php echo (empty($posted['furl'])) ?     '' : $posted['furl'] ?>" size="64" /></td>
    </tr>

    <tr>
      <td>Service Provider: </td>
      <td colspan="3"><input name="service_provider" value="<?php echo (empty($posted['service_provider'])) ? '' : $posted['service_provider'] ?>" size="64" /></td>
    </tr>

    <tr>
      <td><b>Optional Parameters</b></td>
    </tr>
    <tr>
      <td>Last Name: </td>
      <td><input name="lastname" id="lastname" value="<?php echo (empty($posted['lastname'])) ? '' : $posted['lastname']; ?>" /></td>
      <td>Cancel URI: </td>
      <td><input name="curl" value="" /></td>
    </tr>
    <tr>
      <td>Address1: </td>
      <td><input name="address1" value="<?php echo (empty($posted['address1'])) ? '' : $posted['address1']; ?>" /></td>
      <td>Address2: </td>
      <td><input name="address2" value="<?php echo (empty($posted['address2'])) ? '' : $posted['address2']; ?>" /></td>
    </tr>
    <tr>
      <td>City: </td>
      <td><input name="city" value="<?php echo (empty($posted['city'])) ? '' : $posted['city']; ?>" /></td>
      <td>State: </td>
      <td><input name="state" value="<?php echo (empty($posted['state'])) ? '' : $posted['state']; ?>" /></td>
    </tr>
    <tr>
      <td>Country: </td>
      <td><input name="country" value="<?php echo (empty($posted['country'])) ? '' : $posted['country']; ?>" /></td>
      <td>Zipcode: </td>
      <td><input name="zipcode" value="<?php echo (empty($posted['zipcode'])) ? '' : $posted['zipcode']; ?>" /></td>
    </tr>
    <tr>
      <td>UDF1: </td>
      <td><input name="udf1" value="<?php echo (empty($posted['udf1'])) ? '' : $posted['udf1']; ?>" /></td>
      <td>UDF2: </td>
      <td><input name="udf2" value="<?php echo (empty($posted['udf2'])) ? '' : $posted['udf2']; ?>" /></td>
    </tr>
    <tr>
      <td>UDF3: </td>
      <td><input name="udf3" value="<?php echo (empty($posted['udf3'])) ? '' : $posted['udf3']; ?>" /></td>
      <td>UDF4: </td>
      <td><input name="udf4" value="<?php echo (empty($posted['udf4'])) ? '' : $posted['udf4']; ?>" /></td>
    </tr>
    <tr>
      <td>UDF5: </td>
      <td><input name="udf5" value="<?php echo (empty($posted['udf5'])) ? '' : $posted['udf5']; ?>" /></td>
      <td>PG: </td>
      <td><input name="pg" value="<?php echo (empty($posted['pg'])) ? '' : $posted['pg']; ?>" /></td>
    </tr>
    <tr>
      <?php if(!$hash) { ?>
        <td colspan="4"><input type="submit" value="Submit" /></td>
      <?php } ?>
    </tr>
  </table>
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

pin*_*sia 30

这对于第一次定时器来说是令人困惑的.提供默认值key,salt不会立即生效.

要使用测试密钥和salt测试网关,请按照以下步骤操作:

  1. 继续test.payumoney.com
  2. 注册为商家 - 使用您的任何有效电子邮件ID - 请不要使用随机电子邮件ID.
  3. 填写"商家详情" - 您可以使用PAN号码.ABCDE1234F和DOB - 01/04/1990
  4. 完成"银行账户明细"(您可以使用IFSC- ALLA0212632)
  5. 您不必担心银行验证步骤或之后的任何其他步骤.
  6. 转到下面提到的位置以获取测试商家ID:卖方仪表板 - >设置 - >我的帐户 - >配置文件设置

  7. 之后,使用" 联系我们"表单将您的测试商家ID发送给技术团队,他们将批准.

  8. 获得批准后,您可以在以下位置找到您的测试密钥和盐:卖方仪表板 - >设置 - >我的帐户 - >商家密钥 - 盐.
  9. 替换默认值keysalt新生成的测试keysalt.在此之后你不应该看到错误,抱歉,发生了一些问题.

我希望这有帮助.

  • 印度支付网关都非常混乱和繁琐. (4认同)
  • 2017年,它现在需要一个有效的PAN编号,即使是测试帐户也是如此.PayU很好. (3认同)

小智 12

payumoney提供的Key和salt无效使用以下测试:

// Merchant key here as provided by Payu
$MERCHANT_KEY = "gtKFFx";

// Merchant Salt as provided by Payu
$SALT = "eCwWELxi";
Run Code Online (Sandbox Code Playgroud)

并确保将服务提供商字段留空.


小智 9

表单中有一个"服务提供者"字段(参数名称为 - service_provider).该字段的值应为'payu_paisa'.如果您在表单中填写此字段中的任何其他内容,则会收到错误消息.

  • 你好技术支持?你为IOS的PayU india工作了吗? (2认同)
  • 我已经添加了"payu_paisa",但测试用户仍然出错 (2认同)

小智 7

将"服务提供商"字段留空.这应该工作.


Ash*_*osh 6

最后我才知道他们还没有激活测试帐户.