【问题标题】:Need help getting DPM to work需要帮助让 DPM 工作
【发布时间】:2017-09-22 10:26:29
【问题描述】:

首先,我使用 DPM 是因为我的理解是 Accept.js 不支持电子支票,而我参与进行此更新的全部原因是添加电子支票支持。

我正在尝试使用剃刀语法在 VB.Net 中为 DPM 重写一个经典的 ASP 页面。我多次收到错误响应:

发生了以下错误。 (13) 商户登录ID或密码无效或帐号无效。

我知道默认响应。我使用了错误的登录或发布到错误的 URL。我使用与当前 ASP 页面发布到的相同 URL 发布,并且使用相同的 x_login 值。

另外,如果我去这个网址:

https://secure.authorize.net/gateway/transact.dll?x_version=3.1&x_type=AUTH_ONLY&x_amount=1.99&x_car... 返回信用卡已过期。如果我在该 url 上输入无效的 x_login,它会返回“商家登录 ID 或密码无效或帐户处于非活动状态”。如果我输入有效的 x_login 和无效的 x_tran_key,我会收到“无法接受此交易”。

所以,我知道我的 x_login 是正确的,并且我正在发布到正确的 URL。

为了消除任何编码问题,我整理了一个简单的表格,只是为了将静态信息发布到 URL:

<html>
<body>
<form method="POST" action="https://secure.authorize.net/gateway/transact.dll"> 

<input type=hidden id="x_login" name="x_login" value='MY_LOGIN'/>
<input type=hidden id="x_cust_id" name="x_cust_id" value='106400289'/>
<input type=hidden id="x_card_num" name="x_card_num" value='5424000000000015'/>
<input type=hidden id="x_exp_date" name="x_exp_date" value='12-17'/>
<input type=hidden id="x_card_code" name="x_card_code" value='123'/>
<input type=hidden id="x_fp_hash" name="x_fp_hash" value='84EFB49E5F4A8F7CB3EEB3C6A1B2B305'/>
<input type=hidden id="x_amount" name="x_amount" value='123.60'/>
<input type=hidden id="x_fp_timestamp" name="x_fp_timestamp" value='1493038728'/>
<input type=hidden id="x_fp_sequence" name="x_fp_sequence" value='531'/>
<input type=hidden id="x_relay_url" name="x_relay_url" value='https://www.my.com/CCPayment2.vbhtml'/>
<input type=hidden id="x_relay_response" name="x_relay_response" value='Y'/>
<input type=hidden id="x_type" name="x_type" value='AUTH_CAPTURE'/>
<input type=hidden id="x_currency_code" name="x_currency_code" value='USD'/>
<input type=hidden id="x_version" name="x_version" value='3.1'/>
<input type=hidden id="x_invoice_num" name="x_invoice_num" value='2'/>

<input type="submit"/>
</form>
</body>
</html>

我使用以下链接验证了我的哈希值是正确的: http://developer.authorize.net/api/reference/responseCode99.html

这将返回错误消息: (13) 商户登录ID或密码无效或帐号无效。

在研究中,我确实找到了一位开发人员收到该消息的位置,因为他使用了相同的测试卡和金额,显然该消息是作为重复的结果返回的。所以我更改了金额、卡、时间戳和哈希值,然后再次尝试,结果相同。我还在隐藏字段中使用了“name”和“id”,因为我看到了对这两个字段的引用。

如果有人能提供任何帮助,我将不胜感激。

【问题讨论】:

  • 您是否在生产环境中进行测试?还是在沙盒中?
  • 仅供参考,问一个问题然后走开不是一个好主意。然后,您将无法回复 cmets,并且获得帮助的窗口会变小,从而危及您获得帮助的机会。随时待命,随时准备回答用户可能提出的任何问题,以便他们尝试为您提供帮助。
  • 这个测试正在进行中,因为我知道我在那里有运营账户。
  • 仅供参考,DPM is going away。您需要在不久的将来重新实现它,并且可能需要考虑使用替代实现方法。
  • 您确定您使用的是 API 登录而不是控制面板登录吗?

标签: authorize.net


【解决方案1】:

如果其他人在未来寻找这个问题的答案,消息:

(13) 商户登录ID或密码无效或帐号无效。

至少就 DPM 而言,显然出现的原因不仅仅是提供错误的登录 ID 或连接到错误的 URL。

在我的例子中,我的链接“https://www.my.com/CCPayment2.vbhtml”的刷新包含无效的 URL。一旦我发现并解决了这个问题,一切正常。

【讨论】: