2016-03-16 41 views
0

我對使用網關突然出現的付款過程有疑問。我必須向網關提供所有變量,並在收取費用時得到答案。如果所有數據都是正確的,我可以收取費用,但我不知道如何從網關接收答案,手冊給了我一個線索,答案將在變量「urlBack」中提供。你知道如何從這個網關獲取數據嗎?錯誤網關響應

首先我在javascript中處理所有日期,然後使用以下代碼發送信息,但我將在另一頁(https://acmax.mx/popup_2)中收到答案。所有的作品都很好,但是我對網關的回答有問題。

感謝這麼多

<form name="myPayTC" id="myPayTC" method="post" action="https://www.procom.prosa.com.mx/eMerchant/7727222_acmaxdemexico.jsp" onload='javascript:MyFrmOnLoad();'> 

    <input type="hidden" id="total" name="total" value='total'> 
    <input type="hidden" id="currency" name="currency" value="484"> 
    <input type="hidden" id="address" name="address" value="ACMAX"> 
    <input type="hidden" id="order_id" name="order_id" value='order_id'> 
    <input type="hidden" id="merchant" name="merchant" value="7727222"> 
    <input type="hidden" id="store" name="store" value="1234"> 
    <input type="hidden" id="term" name="term" value="001"> 
    <input type="hidden" id="digest" name="digest" value='valDigest'> 
    <input type="hidden" id="return_target" name="return_target" value="N/A"> 
    <!--<input type="hidden" id="urlBack" name="urlBack" value="https://acmax.mx/index.php?controller=ComercioResp">--> 
    <!--<input type="hidden" id="urlBack" name="urlBack" value="https://acmax.mx/es/checkout/confirm">--> 
    <input type="hidden" id="urlBack" name="urlBack" value="https://acmax.mx/popup_2"> 
    <!--<input type="hidden" id="urlBack" name="urlBack" value="http://acmax.mx/es/checkout/paymentmethod">--> 

    <p><img src="https://acmax.mx/themes/theme674/img//bankwire.jpg" alt="Pago por tarjeta de cr&eacute;dito/d&eacute;bito" width="86" height="54" />&nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" name="pButton" value="Pago con Tarjeta de Cr&eacute;dito/D&eacute;bito" class="exclusive" style="font-size:14px; height:28px;"></p> 

    </form> 

具有服務器的代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
    <HTML version="-//W3C//DTD HTML 4.01 Transitional//EN"> 
    <HEAD> 
    <TITLE>Verificacion de Compra</TITLE> 
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"> 
    </HEAD> 
    <BODY> 
    <form id="formars" name="formars" action="https://acmax.mx/popup_2" method="post"> 
    <input type="Hidden" name="EM_Response" value="denied"> 
    <input type="Hidden" name="EM_Total" value="102"> 
    <input type="Hidden" name="EM_OrderID" value="625"> 
    <input type="Hidden" name="EM_Merchant" value="7727222"> 
    <input type="Hidden" name="EM_Store" value="1234"> 
    <input type="Hidden" name="EM_Term" value="001"> 
    <input type="Hidden" name="EM_RefNum" value="initialrefnum"> 
    <input type="Hidden" name="EM_Auth" value="000000"> 
    <input type="Hidden" name="EM_Digest" value="initialdigest"> 

    <input type="Hidden" name="cc_number" value="0565"> 
    <input type="Hidden" name="total" value="102"> 
    <input type="Hidden" name="order_id" value="625"> 
    <input type="Hidden" name="merchant" value="7727222"> 
    <input type="Hidden" name="tx_id" value="322307f91ef2b5318e5d720f49fb30dace2ca474"> 


      <input name="pButton" value="Pago con Tarjeta de Crédito/Débito" type="Hidden" /> 

      <input name="address" value="ACMAX" type="Hidden" /> 

    </form> 
    <script type="text/javascript"> 
    var formars = document.getElementById('formars'); 
    formars.submit(); 

    </script> 
    </BODY> 

    </HTML> 

我不能改變這個代碼,所以我需要從表格中獲取數據「 formars「

+0

他們將最有可能發出一個'POST'請求​​到您提供的'urlBack'參數,任何人的網關是URL,他們應該有對數據字段他們回來後的指令。然後你可以用你可用的任何語言,.NET,PHP等解析數據。 – mikeyq6

+0

謝謝「mikeyq6」我有參數表示網關返回,但我不知道如何獲取這個數據, –

回答

0

好吧,例如,如果您已將urlBack參數設置爲某個PHP頁面,我們將其稱爲returnCall.php。現在

,如果支付網關發回如下 '後' 的數據:

name1=cat&name2=dog&name3=echidna

在你的PHP頁面

然後,您可以按如下讀取數據:

<?php 
    $value1 = $_POST["name1"]; 
    $value2 = $_POST["name2"]; 
    $value3 = $_POST["name3"]; 
?> 

<p> 
    <ul> 
     <li>Value1 = <?=$value1?></li> 
     <li>Value2 = <?=$value2?></li> 
     <li>Value3 = <?=$value3?></li> 
    </ul> 
</p> 

然後頁面上的輸出將轉化爲:

<p> 
    <ul> 
     <li>Value1 = cat</li> 
     <li>Value2 = dog</li> 
     <li>Value3 = echidna</li> 
    </ul> 
</p> 

你可以同樣有一個aspx頁面,可以做同樣的事情。

string Value1; 
string Value2; 
string Value3; 

protected void Page_Load(object sender, EventArgs e) 
{ 
    Value1 = Request.Form["name1"]; 
    Value2 = Request.Form["name2"]; 
    Value3 = Request.Form["name3"]; 
} 
+0

謝謝Mikeyq6 ,我有下面的代碼,這是你的建議,但它的代碼只適用於服務器與PHP,在我的情況下,我沒有PHP,只有asp.net,JavaScript的jQuery和HTML。 「EM_Response =
EM_Total =
EM_OrderID =

+0

支付網關的地址是https://www.procom.prosa.com.mx/eMerchant/7727222_acmaxdemexico.jsp所以我想我可以使用javascript獲取數據,有可能嗎? –

+0

您可以使用ajax調用這樣做,但你會遇到困難與跨域限制。請參閱[這裏的更多信息](http://stackoverflow.com/questions/3506208/jquery-ajax-cross-domain)。 – mikeyq6