我有几年前使用Anuthorize.net AIM直接发布的车。该网站在ReturnedValues上运行,效果很好。
客户希望开始为未来的交易保存信用卡数据。
我想继续使用相同的帖子页面,只需按如下方式添加CIM脚本: - 在AIM中运行事务 - 如果tranaction成功,请运行CIM脚本以保存信用卡并返回卡的密钥。 - 要使用保存的卡,请使用CIM与保存的信用卡数据一起运行交易。 - 如果事务失败,请调用信用卡输入页面,以便客户端可以更新信息并在更新客户端模式下运行AIM,然后运行CIM。
这是我的AIM直接发布页面以及我如何使用ReturnedValues的示例。
<cflock timeout="30" throwontimeout="No" name="12345">
<cfhttp url="https://secure2.authorize.net/gateway/transact.dll" method="post">
<cfoutput>
<cfhttpparam type="Formfield" name="x_login" value="mylogin">
<cfhttpparam type="Formfield" name="x_tran_key" value="mytranskey">
<cfhttpparam type="Formfield" name="x_version" value="3.1">
<cfhttpparam type="Formfield" name="x_test_request" value="FALSE">
<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_invoice_num" value="#short_name#- #order_number#">
<cfhttpparam type="Formfield" name="auth_code" value="#orderID#">
<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="#ccNumber#">
<cfhttpparam type="Formfield" name="x_exp_date" value="#ccMonth#/#ccYearr#">
<cfhttpparam type="Formfield" name="x_card_code" value="#ccCode#">
<cfhttpparam type="Formfield" name="x_amount" value="#NumberFormat(ORDER_TOTAL2, "9999.99")#">
<cfhttpparam type="Formfield" name="x_description" value="Internet and Network Service Order">
<cfhttpparam type="Formfield" name="x_first_name" value="#ccName#">
<cfhttpparam type="Formfield" name="x_last_name" value="#ccLastName#">
</cfoutput>
</cfhttp>
</cflock>
<cfoutput>
<cfset ReturnedValues = #CFHTTP.FileContent#>
<cfset rcode = #ListGetAt(ReturnedValues, 1, "|")#>
<cfset reason_code = #ListGetAt(ReturnedValues, 2, "|")#>
<cfset reason_text = #ListGetAt(ReturnedValues, 4, "|")#>
<cfset auth_code = "#ListGetAt(ReturnedValues, 5, "|")#">
</cfoutput>