我使用的是asp.net,c#和网络表单(不是MVC)。
我正在关注此主题,但我不确定实施此解决方案背后的代码是什么。
https://community.developer.authorize.net/t5/Integration-and-Testing/DPM-with-EChecks/m-p/33623#M181 ...
它声明将此用于表单:
<input type='hidden' runat="server" name='x_login' id='x_login' />
<input type='text' readonly="readonly" runat="server" name='x_amount' id='x_amount' size='9' />
<input type='text' runat="server" name='x_fp_sequence' id='x_fp_sequence' />
<input type='text' runat="server" name='x_fp_timestamp' id='x_fp_timestamp' />
<input type='text' runat="server" name='x_fp_hash' id='x_fp_hash' />
<input type='hidden' name='x_method' id='x_method' value='ECHECK' />
<input type='hidden' name='x_bank_aba_code' id='x_bank_aba_code' value='?????????' />
<input type='hidden' name='x_bank_acct_num' id='x_bank_acct_num' value='123456789123' />
<input type='hidden' name='x_bank_acct_type' id='x_bank_acct_type' value='CHECKING' />
<input type='hidden' name='x_bank_name' id='x_bank_name' value='bANKnAME' />
<input type='hidden' name='x_bank_acct_name' id='x_bank_acct_name' value='aCCOUNTnAME' />
<input type='hidden' name='x_echeck_type' id='x_echeck_type' value='WEB' />
<input id="x_relay_url" name="x_relay_url" type="hidden" value="https://developer.authorize.net/tools/paramdump/index.php" />
<input type='hidden' name='x_relay_response' value='true' />
<input type='hidden' name='x_delim_data' value='false' />
<input type='submit' runat="server" id='buttonLabel' />
所以我的问题是我的C#代码中有什么必要才能使用它?我一直在搜索并找不到有关DPM方法主题的资源。我只看过AIM的资源。
答案 0 :(得分:1)
对于DPM,在代码隐藏中你可以用“x_bank_aba_code”之类的字段做任何事情,因为这会涉及回发到你自己的服务器,这将使你进入“PCI合规性”的土地,这首先否定了使用DPM。
我所做的是:
1)在前一页上要求所有非CC或ECHECK数据
2)存储此数据并生成记录的GUID
3)从代码隐藏中加载付款页面上的所有数据(在PageLoad()上 - 传递URL上的guid,以便您可以提取相应的记录并显示已输入的数据)
4)要么 将实际输入字段命名为“x_bank_aba_code”等(我不建议这样做) -要么- 将OnClientClick()事件附加到提交按钮(允许验证。)然后......
5)使用验证加载隐藏变量。
// Routing Number
var routingNumber = $("#<%=txtBankRoutingNumber.ClientID%>").val();
var routingNumber2 = $("#<%=txtBankRoutingNumberConfirm.ClientID%>").val();
routingNumber = routingNumber.trim();
routingNumber2 = routingNumber2.trim();
if (routingNumber == '') {
alert('Please provide your Routing Number.');
return false;
}
if (routingNumber2 == '') {
alert('Please confirm Routing Number.');
return false;
}
if (routingNumber != routingNumber2) {
alert('Routing Numbers don\'t match.');
return false;
}
// THIS LINE WILL SET THE HIDDEN VARIABLE
document.getElementsByName('x_bank_aba_code')[0].value = routingNumber;
我稍后会尝试发布更多细节。
希望这会有所帮助 - 但重点是无法将银行/ CC / ECHECK信息发布到您的服务器 - 这是javascript / jquery通过验证输入和加载隐藏变量来实现的。