首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ColdFusion与Curl的PayFlowPro集成问题

ColdFusion与Curl的PayFlowPro集成问题
EN

Stack Overflow用户
提问于 2015-09-09 05:17:51
回答 2查看 321关注 0票数 2

我们有一个非常旧的ColdFusion网站,我们需要更新即将到来的PayPal SSL证书的变化。我们发现ColdFusion包含的证书与新的PayPal证书不兼容,因此我们需要使用curl来实际调用PayFlowPro。我们将使用cfexecute标记从ColdFusion调用curl。

当我从Linux命令行使用curl调用PayFlowPro时,事务正确完成。例如,下面是导致成功处理事务的脚本命令。

代码语言:javascript
复制
curl https://pilot-payflowpro.paypal.com/transaction -d "PARTNER=VeriSign&PWD=xxxxxxxx&VENDOR=xxxxxxx&USER=xxxxxx&TENDER=C&ACCT=5105105105105100&TRXTYPE=S&EXPDATE=1215&AMT=2.02"

然后,我尝试使用与脚本中完全相同的名称-值对从ColdFusion调用curl。ColdFusion代码如下:

代码语言:javascript
复制
<cfset targ = 'https://pilot-payflowpro.paypal.com/transaction -d "PARTNER=VeriSign&PWD=xxxxxxxx&VENDOR=xxxxxxx&USER=xxxxxx&TENDER=C&ACCT=5105105105105100&TRXTYPE=S&EXPDATE=1215&AMT=2.02"'>

<cfexecute name = "/usr/local/bin/curl"
       arguments = "#targ#"
       timeout = "10"
       variable = "tdata" />

<cfdump var="#tdata#">

ColdFusion返回以下内容: RESULT=4&RESPMSG=Invalid amount

因为在两个调用中使用了相同的名称/值对,并且2.02是一个有效的值,所以我猜测这与引号或在行尾传递的一些意想不到的东西有关。PayPal技术支持无法告诉我传入的确切内容是什么,我也没有找到任何有效的引用组合。

任何有关问题原因的帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2015-09-09 06:36:46

尝试将参数作为数组传递:

代码语言:javascript
复制
<cfset targ = arrayNew(1)>
<cfset arrayAppend(targ, "https://pilot-payflowpro.paypal.com/transaction")>
<cfset arrayAppend(targ, '-d "PARTNER=VeriSign&PWD=xxxxxxxx&VENDOR=xxxxxxx&USER=xxxxxx&TENDER=C&ACCT=5105105105105100&TRXTYPE=S&EXPDATE=1215&AMT=2.02"')>

该代码段与ColdFusion MX兼容。

如果这也不起作用,那么参数的总长度可能是一个问题(假设您的示例被剥离)。cfexecute可能会以静默方式截断参数字符串。不过,我们在Windows上遇到了这个问题。尝试使用较短的字符串(少于200个字符)在cfexecute上测试curl。

票数 1
EN

Stack Overflow用户

发布于 2015-09-10 00:24:59

您没有提到您使用的是哪个版本的Adobe ColdFusion。ColdFusion 8和9有一些错误,无法连接到较新的证书,也不打算修复它。

如果您使用Windows并且能够安装它,我建议您使用CFX_HTTP5。我们最近遇到了很多SSL证书的问题,用这个C++标签替换内置的functionailty是非常有益的(特别是因为ColdFusion 8、9和10似乎没有及时更新来修复这个问题)。它使用Windows中安装的证书,但也可以使用客户端证书。

我们最近遇到了第三方API的SSL证书过期的问题。CFX_HTTP5能够忽略该错误并继续工作,而CFHTTP无法连接。

http://adiabata.com/cfx_http5.cfm

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32467396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档