使用curl Request API获取Authorize.net中的ARB支付流程日志?

时间:2012-04-16 14:33:36

标签: php zend-framework authorize.net

如何使用Zend Framework获取ARB事务日志列表?

实际上我已经完成了Authorize.net的交易细节api,但没有ARB的范围。所以任何人都可以建议我哪个是这个问题的更好的替代解决方案。

提前致谢。

1 个答案:

答案 0 :(得分:1)

无法返回并获取有关过去订阅的详细信息。您可以做的最好的事情是在进行预定付款时记录当前状态。 Authorize.Net提供类似于Paypal的IPN的服务,称为Silent Post,它发送有关为帐户运行的所有交易的交易信息。这包括ARB订阅。

以下是handling Silent Post submissions with PHP的基本脚本,仅处理ARB订阅付款:

<?php
// Get the subscription ID if it is available. 
// Otherwise $subscription_id will be set to zero.
$subscription_id = (int) $_POST['x_subscription_id'];

// Check to see if we got a valid subscription ID.
// If so, do something with it.
if ($subscription_id !== 0)
{
    // Get the response code. 1 is success, 2 is decline, 3 is error
    $response_code = (int) $_POST['x_response_code'];

    // Get the reason code. 8 is expired card.
    $reason_code = (int) $_POST['x_response_reason_code'];

    if ($response_code == 1)
    {
        // Approved!

        // Some useful fields might include:
        // $authorization_code = $_POST['x_auth_code'];
        // $avs_verify_result  = $_POST['x_avs_code'];
        // $transaction_id     = $_POST['x_trans_id'];
        // $customer_id        = $_POST['x_cust_id'];
    }
    else if ($response_code == 2)
    {
        // Declined
    }
    else if ($response_code == 3 && $reason_code == 8)
    {
        // An expired card
    }
    else 
    {
        // Other error
    }
}
?>

免责声明:我写了两篇博客文章