0

早上好(俄勒冈州的早晨)。我正在经历 Intuit 开发人员测试过程,并在尝试使用上一步中提供给我的票证和 opid 字符串呈现 PayPage 时继续出错。为了防止此消息中的链接,我将 https:// 与 URL 的其余部分分开。

使用: Firefox 浏览器(intuit 的 Internet Explorer 正在建设中?) Windows XP Professional 2002 服务包 3


来自上一步的原始数据和渲染付款步骤的可变 URL:

票证=JiRr77+9RA7vv73vv70JdVcrYWnvv71b77+977+977+9Cu+/vW7vv70a13061215442877+9DhprATIXA++/ve+/vXfvv73vv73vv73doO+/vXDvv70nHWTvv73v

OpId=77-977-9VO--vX130612154428Dvv73vv70ZHyo7

带变量的 PTC 网址:(https://) paymentservices.ptcfe.intuit.com/checkout/terminal?Ticket=(X)&OpId=(Y)&action=checkout


当我不对 url 进行编码时,我会收到带有以下消息的安全支付处理窗口: 交易未处理 - 我们的系统目前面临一些间歇性问题。请在几分钟后重试。

使用的未编码网址:

(https://) paymentservices.ptcfe.intuit.com/checkout/terminal?Ticket=JiRr77+9RA7vv73vv70JdVcrYWnvv71b77+977+977+9Cu+/vW7vv70a13061215442877+9DhprATIXA++/ve+/vXfvv73vv73vv73doO+/vXDvv70nHWTvv73v&OpId=77-977-9VO--vX130612154428Dvv73vv70ZHyo7&action=checkout

当我只对 url 的票证部分进行编码,然后将结果粘贴到 url 中时,我再次得到未处理的交易屏幕。

结果 url 仅带票编码:

(https://) paymentservices.ptcfe.intuit.com/checkout/terminal?Ticket=JiRr77%2B9RA7vv73vv70JdVcrYWnvv71b77%2B977%2B977%2B9Cu%2B%2FvW7vv70a13061215442877%2B9DhprATIXA%2B%2B%2Fve%2B%2FvXfvv73vv73vv73doO%2B%2FvXDvv70nHWTvv73v&OpId= 77-977-9VO--vX130612154428Dvv73vv70ZHyo7&action=checkout

当我对整个原始 url 进行编码时,我得到 QBMS 错误页面和 [Intuit Logo] - Not Found - Error Code 404

编码的 url 整个生成的 url 编码:

(https://) paymentservices.ptcfe.intuit.com/checkout/terminal%3FTicket%3DJiRr77%2B9RA7vv73vv70JdVcrYWnvv71b77%2B977%2B977%2B9Cu%2B%2FvW7vv70a13061215442877%2B9DhprATIXA%2B%2B%2Fve%2B%2FvXfvv73vv73vv73doO%2B%2FvXDvv70nHWTvv73v% 26OpId%3D77-977-9VO--vX130612154428Dvv73vv70ZHyo7%26action%3Dcheckout

我觉得我已经尝试了一切,我不知道还能尝试什么。我在最后期限内完成这项工作。我尝试了在讨论此问题的一个线程中建议的所有内容。但我注意到那个线程从来没有真正的答案。我希望你能帮助我。:)

4

1 回答 1

0

我刚遇到这个问题,找到了原因。他们希望对 Ticket 和 OpId url 的值进行编码。在像 PHP 这样的大多数脚本语言中,这会将空格变成“+”符号。然后,他们期望这些加号也被 url 编码。因此,在 PHP 中,如果您对 Ticket 和 OpId 以及您传递的任何其他参数执行类似操作,它将解决问题(假设 $ticket 和 $op_id 已设置):

$ticket = str_replace('+','%2B',urlencode($ticket)); $op_id = str_replace('+','%2B',urlencode($op_id));

于 2014-03-21T13:32:50.140 回答