Authorize.net DPM (SIM) 表格 Post 错误

Authorize.net DPM (SIM) Form Post Error

我在实施 Authorize.net DPM(直接 Post 方法)时遇到一些问题。当我尝试提交表单时,我收到一条失败消息,响应原因代码为 92(网关不再支持所请求的集成方法)。响应确实显示了我的继电器 url 的输出(它只是吐出响应中下面列出的返回的 post 数据)。

如何将 post 直接形成为 authorize.net 并让它中继回我选择的页面而不抛出错误代码 92?

如果我改变 [x_relay_response] = FALSE ;比交易有效,当然,它没有利用我的 relay_url.

原来的REQUEST、RESPONSE和RESPONSE WITH X_RELAY_RESPONSE=FALSE都在下面:

预先感谢您的帮助!

请求

[payMethod] => creditcard
[payType] => VI
[x_card_num] => 4111111111111111
[x_first_name] => test 
[x_last_name] => test 
[x_exp_date] => 07/2015
[x_card_code] => 123
[x_po_num] => 
[x_login] => [REMOVED]
[x_version] => 3.1
[x_delim_char] => |
[x_delim_data] => TRUE
[x_encap_char] => ^
[x_type] => AUTH_ONLY
[x_method] => CC
[x_tran_key] => [REMOVED]
[x_relay_response] => TRUE
[x_relay_url] => [REMOVED - VERIFIED WHITE LISTED URL]
[x_description] => 183002153
[x_invoice_num] => 183002153
[x_amount] => 114
[x_address] => test address
[x_city] => Bethesda
[x_state] => CA
[x_zip] => 20817
[x_customer_ip] => 71.163.185.8
[x_relay_always] => TRUE

RESPONSE(正确转发给中继 URL)

[fa] => ORDER.authNetRelay
[x_response_code] => 3
[x_response_reason_code] => 92
[x_response_reason_text] => The gateway no longer supports the requested method of integration.
[x_avs_code] => P
[x_auth_code] => 
[x_trans_id] => 0
[x_method] => CC
[x_card_type] => 
[x_account_number] => 
[x_first_name] => 
[x_last_name] => 
[x_company] => 
[x_address] => 
[x_city] => 
[x_state] => 
[x_zip] => 
[x_country] => 
[x_phone] => 
[x_fax] => 
[x_email] => 
[x_invoice_num] => 
[x_description] => 
[x_type] => auth_only
[x_cust_id] => 
[x_ship_to_first_name] => 
[x_ship_to_last_name] => 
[x_ship_to_company] => 
[x_ship_to_address] => 
[x_ship_to_city] => 
[x_ship_to_state] => 
[x_ship_to_zip] => 
[x_ship_to_country] => 
[x_amount] => 114.00
[x_tax] => 0.00
[x_duty] => 0.00
[x_freight] => 0.00
[x_tax_exempt] => FALSE
[x_po_num] => 
[x_MD5_Hash] => [REMOVED]
[x_cvv2_resp_code] => 
[x_cavv_response] => 
[x_test_request] => false
[payMethod] => creditcard
[payType] => VI

RESPONSE WITH [x_relay_response] = FALSE:(注意所有其他请求数据是相同的)

^2^|^1^|^2^|^此交易已被拒绝^|^000000^|^U^|^7073317211^|^183002153^|^183002153^|^114.00^| ^CC^|^auth_only^|^^|^test^|^test^|^^|^测试地址^|^Bethesda^|^CA^|^20817^|^^|^^|^ ^|^^|^^|^^|^^|^^|^^|^^|^^|^^|^^|^^|^^|^^|^^|^[删除]^| ^P^|^^|^^|^^|^^|^^|^^|^^|^^|^^|^^|^^|^XXXX1111^|^签证^|^^|^^ |^^|^^|^^|^^|^^|^^|^^|^^|^^|^^|^^|^^|^^|^^|^信用卡^|^VI^

发现问题:我应该传递指纹数据而不是交易密钥。

删除:

  • x_trans_key

添加:

  • x_fp_hash
  • x_fp_sequence
  • x_fp_timestamp

指纹(x_fp_...)数据生成如下: http://developer.authorize.net/guides/SIM/wwhelp/wwhimpl/js/html/wwhelp.htm#href=SIM_Submitting_transactions.06.3.html

此外:当使用中继时,返回的数据在 header 非定界字符串内容中作为 POST 数据返回,因此现在也可以省略以下字段:

  • x_delim_char
  • x_delim_data
  • x_encp_char