【问题标题】:[PHP]: How to save transaction details into database after successful payment in Authorize.net[PHP]:Authorize.net支付成功后如何将交易明细存入数据库
【发布时间】:2016-05-01 11:36:36
【问题描述】:

我正在使用 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提交了正确的信用卡和个人信息后,我收到了如下的交易成功信息

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

【问题讨论】:

    标签: php authorize.net


    【解决方案1】:

    您可以在 x_receipt_link_url 的返回 URL 处处理这些内容。您可以查看How to configure页面。

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

    您还必须在控制面板中配置 URL,然后才能成功地将其指定为值。这是控制面板中的文本(设置 -> 交易格式设置 -> 交易响应设置 -> 响应/收据 URL

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-13
      • 2011-03-29
      • 2016-03-17
      • 1970-01-01
      • 2019-05-05
      • 2013-11-02
      • 2016-08-29
      • 2014-08-20
      相关资源
      最近更新 更多