首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Jquery & ajax autorize.net提交

Jquery & ajax autorize.net提交
EN

Stack Overflow用户
提问于 2012-01-28 05:45:56
回答 1查看 1.2K关注 0票数 1

嘿,我只想弄清楚为什么我总是犯这个错误

这里的提交表单时出错。请再试一次。parsererror

当试图将我的表单提交给authorize.net时

我的authsubmit php代码如下:

代码语言:javascript
运行
复制
  <?PHP
require_once 'anet_php_sdk/AuthorizeNet.php'; // Make sure this path is correct.
$transaction = new AuthorizeNetAIM('xxxxxxx', 'xxxxxxx');

$post_url = "https://secure.authorize.net/gateway/transact.dll";

$transaction->amount        = $_POST['amount'];
$transaction->card_num      = $_POST['card_num'];
$transaction->exp_date      = $_POST['exp_date'];
$transaction->first_name    = $_POST['first_name'];
$transaction->last_name     = $_POST['last_name'];
$transaction->card_code     = $_POST['cvv'];
$transaction->address       = $_POST['address'];
$transaction->city          = $_POST['city'];
$transaction->state         = $_POST['state'];
$transaction->zip           = $_POST['zip'];
$transaction->invoice_num   = $_POST['invoice_num'];
//$transaction->currency_code   = $_POST['currency'];

$response = $transaction->authorizeAndCapture();

if ($response->approved) 
{
    echo "<h1>Success! The test credit card has been charged!</h1>";  
    echo "Transaction ID: " . $response->transaction_id;
} else 
{  
    echo "here is the error: " . $response->error_message;
}
 ?>

我的创作提交了 php代码:

代码语言:javascript
运行
复制
 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
 <script type="text/javascript">
$(document).ready(function(){

    $("#frm1").submit(function(){

        $.ajax({
            type: "POST",
            url: "authsubmit.php",
            data: $("#frm1").serialize(),
            dataType: "json",

            success: function(msg){
                alert("DONE! " + msg);

            },
            error: function(obj, status, e){
                alert("There was an error submitting the form. Please try again. " + status);
            }
        });

        return false;

    });

});
 </script>

 <html>
 <head>
 </head>
 <body>

 <form id="frm1" method="post">
 <fieldset>
    <div>
        <label>Invoice Amount</label>
        <input type="text" value="3.33" name="amount" size="15" class="text">
    </div>
    <div>
        <label>Invoice Number</label>
        <input type="text" value="23111" name="invoice_num" size="15" class="text">
    </div>
    <div>
        <label>Credit Card Number</label>
        <input type="text" value="4500000000009000" name="card_num" size="15" class="text">
    </div>
    <div>
        <label>Exp.</label>
        <input type="text" value="1212" name="exp_date" size="4" class="text">
    </div>
    <div>
        <label>CCV</label>
        <input type="text" value="782" name="cvv" size="4" class="text">
    </div>
    </fieldset>
    <fieldset>
    <div>
        <label>First Name</label>
        <input type="text" value="bob" name="first_name" size="15" class="text">
    </div>
    <div>
        <label>Last Name</label>
        <input type="text" value="barker" name="last_name" size="14" class="text">
    </div>
    </fieldset>
    <fieldset>
    <div>
        <label>Address</label>
        <input type="text" value="123 street" name="address" size="26" class="text">
    </div>
    <div>
        <label>City</label>
        <input type="text" value="hyyon" name="city" size="15" class="text">
    </div>
    </fieldset>
    <fieldset>
    <div>
        <label>State</label>
        <input type="text" value="ca" name="state" size="4" class="text">
    </div>
    <div>
       <label>Zip Code</label>
       <input type="text" value="45098" name="zip" size="9" class="text">
    </div>
    <div>
        <label>Country</label>
        <input type="text" value="US" name="currency" size="22" class="text">
    </div>
    </fieldset>
    <input type="submit" value="Submit form" />
    <div class="form_result"> </div>
    </form>
   </body>
   </html>

我在这里错过了什么?

大卫

EN

回答 1

Stack Overflow用户

发布于 2012-05-11 00:07:56

您目前正在使用活动服务器进行测试。这意味着除非您已将帐户设置为使用测试模式,否则所有事务都处于活动状态。如果您使用的是测试信用卡,或任何其他无效的信用卡号码,它将导致您正在收到的错误消息。

您需要做两件事来有效地测试Authorize.Net集成:

  1. 注册一个开发商帐户。这允许您测试您的代码,而无需支付任何费用。
  2. 使用开发人员服务器进行测试。

所以:

代码语言:javascript
运行
复制
$post_url = "https://secure.authorize.net/gateway/transact.dll";

变成:

代码语言:javascript
运行
复制
$post_url = "https://test.authorize.net/gateway/transact.dll";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9043252

复制
相关文章

相似问题

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