[PHP]:如何在Authorize.net中成功付款后将交易详情保存到数据库中

时间:2016-01-25 08:15:39

标签: php authorize.net

我正在使用Authorize.Net集成在线信用卡处理。我使用的表单会在点击提交按钮后重定向到Authorize.net hosted form。我的示例代码如下

        <?PHP

            $loginID        = "My_LOGIN_ID";// login id
            $transactionKey = "MY_TRANS_KEY";//transaction key
            $amount         = "19.99";
            $description     = "SAMPLE TRANSACTION";
            $label             = "Submit Payment";//label for submit button
            $testMode        = "false";
            $url            = "https://test.authorize.net/gateway/transact.dll";
            $invoice    = date(YmdHis);
            $sequence    = rand(1, 1000);
            $timeStamp    = time ();
            if( phpversion() >= '5.1.2' )
            {    $fingerprint = hash_hmac("md5", $loginID . "^" . $sequence . "^" . $timeStamp . "^" . $amount . "^", $transactionKey); }
            else 
            { $fingerprint = bin2hex(mhash(MHASH_MD5, $loginID . "^" . $sequence . "^" . $timeStamp . "^" . $amount . "^", $transactionKey)); }
            ?>
            <form method='post' action='<?php echo $url; ?>' >
                <input type='hidden' name='x_login' value='<?php echo $loginID; ?>' />
                <input type='hidden' name='x_amount' value='<?php echo $amount; ?>' />
                <input type='hidden' name='x_description' value='<?php echo $description; ?>' />
                <input type='hidden' name='x_invoice_num' value='<?php echo $invoice; ?>' />
                <input type='hidden' name='x_fp_sequence' value='<?php echo $sequence; ?>' />
                <input type='hidden' name='x_fp_timestamp' value='<?php echo $timeStamp; ?>' />
                <input type='hidden' name='x_fp_hash' value='<?php echo $fingerprint; ?>' />
                <input type='hidden' name='x_test_request' value='<?php echo $testMode; ?>' />
                <input type='hidden' name='x_show_form' value='<?php echo PAYMENT_FORM; ?>' />
                <input type='submit' value='<?php echo $label; ?>' />
            </form>

在使用正确的信用卡和个人详细信息提交Authorize.net hosted form后,我收到了以下交易成功消息

enter image description here

我还收到了包含交易详情的电子邮件。现在,我希望在交易成功后将交易ID,发票编号,信用卡类型和客户详细信息等交易详细信息保存在我的数据库中。是否有任何后台进程将信息保存到数据库中?提前谢谢。

1 个答案:

答案 0 :(得分:1)

您可以在 x_receipt_link_url 的返回网址处理此内容。您可以查看How to configure页面。

如果您使用收据链接(并将 x_relay_response 设置为false),则表示您希望Authorize.Net只显示我们自己的收据页面并将定义的收据链接放在底部页面。

您必须先在控制面板中配置URL,然后才能成功将其指定为值。以下是控制面板中的文字(设置 - &gt;交易格式设置 - &gt;交易响应设置 - &gt;响应/收据网址