【问题标题】:Authorize.net AIM TransactionAuthorize.net AIM 交易
【发布时间】:2014-04-28 15:40:34
【问题描述】:
require_once 'anet_php_sdk/AuthorizeNet.php'; 
    define("AUTHORIZENET_API_LOGIN_ID", $authLogin);
    define("AUTHORIZENET_TRANSACTION_KEY", $authKey);
    //Set to true for test account, set to false for real account
    define("AUTHORIZENET_SANDBOX", true);
    $sale = new AuthorizeNetAIM;
    $sale->amount = $contractorRate;
    $sale->card_num = $ccnumber;
    $sale->exp_date = $ccexpire;
    $sale->card_code = $cccvv;
    $response = $sale->authorizeAndCapture();
    //If approved, use this for getting the transaction ID.
    if ($response->approved) {
        $transaction_id = $response->transaction_id;

    //ARB creates the subscription and sets the start date 30 days from the time of submission.
    require_once 'anet_php_sdk/AuthorizeNet.php';
    define("AUTHORIZENET_API_LOGIN_ID", $authLogin);
    define("AUTHORIZENET_TRANSACTION_KEY", $authKey);
    $subscription                          = new AuthorizeNet_Subscription;
    $subscription->name                    = "PumpSpy Monitoring";
    $subscription->intervalLength          = "1";
    $subscription->intervalUnit            = "months";
    $subscription->startDate               = $subStartDate;
    $subscription->totalOccurrences        = "9999";
    $subscription->amount                  = $contractorRate;
    $subscription->creditCardCardNumber    = $ccnumber;
    $subscription->creditCardExpirationDate= $ccexpire;
    $subscription->creditCardCardCode      = $cccvv;
    $subscription->billToFirstName         = $firstname;
    $subscription->billToLastName          = $lastname;

    // Create the subscription.
    $request = new AuthorizeNetARB;
    $response = $request->createSubscription($subscription);

以上是我验证信用卡(使用 AIM)并在 30 天后创建订阅(使用 ARB)的代码。我遇到的问题是尝试使用 0.00 作为 AIM 销售金额。它不接受任何东西,即使我将销售更改为 AUTH_ONLY。

我认为 Visa 需要地址和邮政编码?我是否缺少 AIM 所需的值来收取 0.00 的费用?

注意:只要 $contractorRate 的值大于 0,此代码就可以工作 - 这很好,但如果承包商想等待 30 天向客户收费,我不想一开始就向他们收取 AIM 费用。

【问题讨论】:

    标签: php authorize.net authorize.net-arb


    【解决方案1】:

    商家帐户提供商可能不支持 0.00 美元的金额。您应该满足他们以验证他们是否这样做。如果他们不这样做,您可以以 0.01 美元的价格进行授权,然后使交易无效。

    处理交易不需要地址和邮政编码,但执行 AVS 需要。未能执行 AVS 可能会导致交易被收取适用的最高费率。

    【讨论】:

      猜你喜欢
      • 2013-03-07
      • 2012-11-19
      • 1970-01-01
      • 1970-01-01
      • 2016-08-06
      • 2011-03-29
      • 2012-04-14
      • 1970-01-01
      • 2013-01-13
      相关资源
      最近更新 更多