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。
我想签证需要地址和邮编吗?有什么东西是我缺少的与AIM的要求值收费0.00?
注意:只要$contractorRate的值超过0,代码就能工作--这很好,但是如果承包商想等30天才向客户收费,我不想一开始就用AIM向他们收费。
发布于 2014-04-28 15:43:21
商家帐户提供者可能不支持0.00美元的金额。你应该满足他们,以验证他们确实如此。如果他们不这样做,你可以做一个授权$0.01,然后取消交易后。
处理事务不需要地址码和邮政编码,但需要执行AVS。不执行AVS可能会导致事务按适用的最高费率收费。
https://stackoverflow.com/questions/23345376
复制相似问题