需要ColdFusion SessionToken的帮助并瞄准Authorize.net

需要ColdFusion SessionToken的帮助并瞄准Authorize.net,coldfusion,payment-gateway,authorize.net,authorize.net-aim,Coldfusion,Payment Gateway,Authorize.net,Authorize.net Aim,我正在尝试解决Authorize.net出现的问题。SessionToken是在测试模式下通过测试帐户生成的。现在,每次通过测试帐户或实际帐户预览表单时,都会生成一个新的SessionToken 每次以预览模式访问表单时,都会显示一个隐藏的输入字段。我使用x\u登录和x\u传输键组合而成的toBase64()字符串在表单上生成了一个隐藏的输入字段。输出如下: <INPUT TYPE="HIDDEN" NAME="SessionToken" ID="SessionToken" VALUE="

我正在尝试解决Authorize.net出现的问题。
SessionToken
是在测试模式下通过测试帐户生成的。现在,每次通过测试帐户或实际帐户预览表单时,都会生成一个新的
SessionToken

每次以预览模式访问表单时,都会显示一个隐藏的输入字段。我使用
x\u登录
x\u传输键
组合而成的
toBase64()
字符串在表单上生成了一个隐藏的输入字段。输出如下:

<INPUT TYPE="HIDDEN" NAME="SessionToken" ID="SessionToken" VALUE="TXpOSFRUWXpXbk40VjNSeg==TlRsU2JqaHFOM2RLZFd0RU5VdzJadz09">
最后,如果我使用该值:

jMsCez2DId$VvgF4s4Hbjbe$UV6WNJH8CEKBD5HQTUEQLHOBKZ07BP4RZDPWOPNGABB3PBCWPPJCPH7DG6HJQEROJKZPQ44UT4NQEG2ZWHX13B7BLP$qN7ZDzQ5HF1abfukJTQAA

作为
SessionToken
作为:

<cfset SessionToken = 'jMsCez2DId$VvgF4s4Hbjbe$Uv6WnJh8cEKBD5HqTUEqlHoRBebKZ07bp4RZdpwOPnGabB3pbcWFppJCph7dg6HjQeroJvlay6mQm5ocjkZPq44uT4nqeg2zWhX13b7Blp$qN7ZDzQ5HF1abfukJTQAA'>

并处理它的工作形式。但是如果登录到测试帐户,它只在当前会话中工作一次

当然感谢您的帮助。这是我需要的代码的最后一部分,只是不知道如何使它工作。我需要获取SessionToken的响应,以填充表单上的SessionToken隐藏字段输入


我没有使用CFHTTP方法,因为表单在网站上,当支付表单加载时,需要SessionToken。这意味着提交/发送。。。提交表单上的按钮,然后处理付款并显示收据。

如果从Authorize.net下载Coldfusion示例代码,您将注意到不需要SessionToken。见下文:

资料来源:



希望这有帮助。

开发者文档中是否有您试图实现的功能的在线示例?我快速查看了一下,在这里的CF示例中没有看到任何关于SessionToken的内容:。您是对的,开发人员文档中没有关于SessionToken的内容,也没有我能找到的任何其他内容。有点奇怪,因为SessionToken在Authorize.net的表单上。为了解决这个错误,我改变了页面处理方式。我确实创建了一个32位字符串的SessionToken,因为SessionToken是Authorize.net表单上的32位字符串。我组合了x_登录和x_tran_密钥,并将其转换为SE64()。将页面进程从一个页面更改为两个页面后,transact.dll文件在单独的页面上使用CFHTTP进行处理。不需要代币,很有趣。不知道为什么单独的页面会有不同。无论如何,您可能希望发布最终代码作为答案。帮助下一个遇到同样问题的人。
<cfset SessionToken = 'jMsCez2DId$VvgF4s4Hbjbe$Uv6WnJh8cEKBD5HqTUEqlHoRBebKZ07bp4RZdpwOPnGabB3pbcWFppJCph7dg6HjQeroJvlay6mQm5ocjkZPq44uT4nqeg2zWhX13b7Blp$qN7ZDzQ5HF1abfukJTQAA'>
<cfhttp method="Post" url="https://test.authorize.net/gateway/transact.dll">
<!--- the API Login ID and Transaction Key must be replaced with valid values --->
<cfhttpparam type="Formfield" name="x_login" value="API_LOGIN_ID">
<cfhttpparam type="Formfield" name="x_tran_key" value="TRANSACTION_KEY">

<cfhttpparam type="Formfield" name="x_delim_data" value="TRUE">
<cfhttpparam type="Formfield" name="x_delim_char" value="|">
<cfhttpparam type="Formfield" name="x_relay_response" value="FALSE">

<cfhttpparam type="Formfield" name="x_type" value="AUTH_CAPTURE">
<cfhttpparam type="Formfield" name="x_method" value="CC">
<cfhttpparam type="Formfield" name="x_card_num" value="4111111111111111">
<cfhttpparam type="Formfield" name="x_exp_date" value="0115">

<cfhttpparam type="Formfield" name="x_amount" value="19.99">
<cfhttpparam type="Formfield" name="x_description" value="Sample Transaction">

<cfhttpparam type="Formfield" name="x_first_name" value="John">
<cfhttpparam type="Formfield" name="x_last_name" value="Doe">
<cfhttpparam type="Formfield" name="x_address" value="1234 Street">
<cfhttpparam type="Formfield" name="x_state" value="WA">
<cfhttpparam type="Formfield" name="x_zip" value="98004">
<!--- Additional fields can be added here as outlined in the AIM integration
guide at: http://developer.authorize.net --->   
<!--- The following fields show an example of how to include line item details, they are commented out by default.
<cfhttpparam type="Formfield" name="x_line_item" value="item1<|>golf balls<|><|>2<|>18.95<|>Y">
<cfhttpparam type="Formfield" name="x_line_item" value="item2<|>golf bag<|>Wilson golf carry bag, red<|>1<|>39.99<|>Y">
<cfhttpparam type="Formfield" name="x_line_item" value="item3<|>book<|>Golf for Dummies<|>1<|>21.99<|>Y">
--->
</cfhttp>