2017-02-17 3 views
0

Я пытаюсь реализовать NAB передаст (transact.nab.com.au), в настоящее время тестирования егоPhp: Прямое сообщение NAB Ошибка транзакции: Недопустимый параметр EPS_EXPIRYMONTH

 <?php 
     $timestamp = date('YmdHis'); 
     $referenceid = isset($_SESSION['user'])? $timestamp.$_SESSION['user'].rand(1, 1000000000000000) : $timestamp.rand(1, 1000000000000000); 
     $referenceid = sha1($referenceid); 
     $transaction_type =0; 
     $amount = "53.00"; 

     $merchantid = "XYZ0010"; 
     $transaction_password = "abcd1234"; 

     $sha1 = $merchantid."|".$transaction_password."|".$transaction_type."|".$referenceid."|".$amount."|".$timestamp; 
     $fingerprint = sha1($sha1); 
     isset($_POST)? print_r($_POST) : ''; 
    ?> 
    <form method="post" action="https://transact.nab.com.au/test/directpostv2/authorise"> 

     <input type="hidden" name="EPS_MERCHANT" value="<?= $merchantid ?>"> 
     <input type="hidden" name="EPS_TXNTYPE" value="<?= $transaction_type ?>"> 
     <input type="hidden" name="EPS_REFERENCEID" value="<?= $referenceid ?>"> 
     <input type="hidden" name="EPS_AMOUNT" value="<?= $amount ?>"> 
     <input type="hidden" name="EPS_TIMESTAMP" value="<?= $timestamp ?>"> 
     <input type="hidden" name="EPS_FINGERPRINT" value="<?= $fingerprint ?>"> 
     <input type="hidden" name="EPS_RESULTURL" value="http://www.myserver.com.au/result.asp"> 

     Card Number <input type="text" name="EPS_CARDNUMBER"> 
     Expiry Month<input type="text" name="EPS_EXPIRYMONTH" value="06"> 
     Expiry Year<input type="text" name="EPS_EXPIRY YEAR" value="16"> 
     Carc CCV<input type="text" name="EPS_CCV" value="999"> 
     <input type="submit" value="submit" > 

    </form>  

Но выдает следующее сообщение об ошибке: Invalid параметра EPS_EXPIRYMONTH

Пожалуйста, помогите мне решить эту проблему

ответ

0

При использовании EPS_CARDNUMBER вы должны иметь выбор, как показано ниже, если вы используете текстовые входы, то вам, возможно, потребуется удалить EPS_CARDNUMBER из формы:

<?php 
 
     $timestamp = date('YmdHis'); 
 
     $referenceid = isset($_SESSION['user'])? $timestamp.$_SESSION['user'].rand(1, 1000000000000000) : $timestamp.rand(1, 1000000000000000); 
 
     $referenceid = sha1($referenceid); 
 
     $transaction_type =0; 
 
     $amount = "53.00"; 
 

 
     $merchantid = "XYZ0010"; 
 
     $transaction_password = "abcd1234"; 
 

 
     $sha1 = $merchantid."|".$transaction_password."|".$transaction_type."|".$referenceid."|".$amount."|".$timestamp; 
 
     $fingerprint = sha1($sha1); 
 
     isset($_POST)? print_r($_POST) : ''; 
 
?> 
 
    <form method="post" action="https://demo.transact.nab.com.au/directpostv2/authorise"> 
 

 
     <input type="hidden" name="EPS_MERCHANT" value="<?= $merchantid ?>"> 
 
     <input type="hidden" name="EPS_TXNTYPE" value="<?= $transaction_type ?>"> 
 
     <input type="hidden" name="EPS_REFERENCEID" value="<?= $referenceid ?>"> 
 
     <input type="hidden" name="EPS_AMOUNT" value="<?= $amount ?>"> 
 
     <input type="hidden" name="EPS_TIMESTAMP" value="<?= $timestamp ?>"> 
 
     <input type="hidden" name="EPS_FINGERPRINT" value="<?= $fingerprint ?>"> 
 
     <input type="hidden" name="EPS_RESULTURL" value="https://xxx.xxx.xxx/nab.php"> 
 

 
     Card Number <input type="text" name="EPS_CARDNUMBER"> 
 
<select name="EPS_EXPIRYMONTH"> 
 
<option value="01">01 
 
<option value="02">02 
 
<option value="03">03 
 
<option value="04">04 
 
<option value="05">05 
 
<option value="06">06 
 
<option value="07">07 
 
<option value="08">08 
 
<option value="09">09 
 
<option value="10">10 
 
<option value="11">11 
 
<option value="12">12 
 
</select> 
 
<select name="EPS_EXPIRYYEAR"> 
 
<option value="2014">2014 
 
<option value="2015">2015 
 
<option value="2016">2016 
 
<option value="2017">2017 
 
<option value="2018">2018 
 
</select> 
 

 
     Carc CCV<input type="text" name="EPS_CCV" value="999"> 
 
     <input type="submit" value="submit" > 
 

 
    </form>

Смежные вопросы