现在大约有10-20年的历史遗迹。 Authorize.net提供的网关API。正如我所看到的那样,它是带有如下付款API请求的Perl脚本
$trans{'x_version'}='3.1';
$trans{'x_login'}='';
$trans{'x_tran_key'}="";
$trans{'x_delim_data'}='TRUE';
$trans{'x_delim_char'}='|';
if($test_mode>0) { $trans{'x_test_request'}='TRUE'; }
....
$trans{'id'}=$row[0];
$trans{'created'}=$row[1];
$trans{'status'}=$row[2];
# Customer Data
$trans{'x_cust_id'}=$row[13];
$trans{'x_customer_ip'}=$row[14];
$trans{'x_email'}=$row[15]; # - to check AVS;
if(length($trans{'x_email'})) {
$trans{'x_email'} =~ s/@/@/g; # encode email by authorize.net spec requirement
$trans{'x_email_customer'}='TRUE';
} else {
$trans{'x_email_customer'}='FALSE';
}
$trans{'x_first_name'}=$row[18];
$trans{'x_last_name'}=$row[19];
$trans{'x_company'}=$row[20];
$trans{'x_address'}=$row[21]; # - to check AVS;
$trans{'x_city'}=$row[22]; # - to check AVS;
$trans{'x_state'}=$row[23]; # - to check AVS;
$trans{'x_zip'}=$row[24]; # - to check AVS;
$trans{'x_country'}='USA';
$trans{'x_phone'}=$row[25]; # - to check AVS;
#$trans{'x_fp_sequence'}=1;
#$trans{'x_fp_timestamp'}=time();
$trans{'x_ship_to_first_name'}=$trans{'x_first_name'};
$trans{'x_ship_to_last_name'}=$trans{'x_last_name'};
$trans{'x_ship_to_company'}=$trans{'x_company'};
$trans{'x_ship_to_address'}=$trans{'x_address'};
$trans{'x_ship_to_city'}=$trans{'x_city'};
$trans{'x_ship_to_state'}=$trans{'x_state'};
$trans{'x_ship_to_zip'}=$trans{'x_zip'};
$trans{'x_ship_to_country'}=$trans{'x_country'};
# Invoice Information
$trans{'x_invoice_num'}=$row[16];
$trans{'x_description'}=$row[17];
# Transaction Data
$trans{'x_amount'}=$row[4];
$trans{'x_currency_code'}='USD';
$trans{'x_method'}=$row[5];
$trans{'x_type'}=$row[3];
and etc.
with request to
$req = POST( "https://secure2.authorize.net/gateway/transact.dll",[ %trans ] );
这是AIM名称值对方法,在2020年4月7日之后无法正常工作,并且返回状态3信用卡要求错误。据我了解,服务器代码的最后一次更改是在半年之前。 因此,我不确定在这种情况下还有什么好处。 很高兴获得任何帮助或建议。