2014-04-01 124 views
0

我可以成功創建ARB訂閱。但據我從文件中可以看出,信用卡只有在收費時纔會被驗證。Authorize.net ARB信用卡問題

因此,我的理解是,我需要使用AIM和VOID收取0.01。

$content = 
    "<?xml version=\"1.0\" encoding=\"utf-8\"?>" . 
    "<ARBCreateSubscriptionRequest xmlns=\"AnetApi/xml/v1/schema/AnetApiSchema.xsd\">" . 
    "<merchantAuthentication>". 
    "<name>" . $loginname . "</name>". 
    "<transactionKey>" . $transactionkey . "</transactionKey>". 
    "</merchantAuthentication>". 
    "<refId>" . $refId . "</refId>". 
    "<subscription>". 
    "<name>" . "Payment" . "</name>". 
    "<paymentSchedule>". 
    "<interval>". 
    "<length>". 1 ."</length>". 
    "<unit>". "months" ."</unit>". 
    "</interval>". 
    "<startDate>" . $today . "</startDate>". 
    "<totalOccurrences>". 9999 ."</totalOccurrences>". 
    "<trialOccurrences>". 0 . "</trialOccurrences>". 
    "</paymentSchedule>". 
    "<amount>". $contractorRate ."</amount>". 
    "<trialAmount>" . 0.00 . "</trialAmount>". 
    "<payment>". 
    "<creditCard>". 
    "<cardNumber>" . $ccnumber . "</cardNumber>". 
    "<expirationDate>" . $ccexpire . "</expirationDate>". 
    "</creditCard>". 
    "</payment>". 
    "<billTo>". 
    "<firstName>". $firstname . "</firstName>". 
    "<lastName>" . $lastname . "</lastName>". 
    "</billTo>". 
    "</subscription>". 
    "</ARBCreateSubscriptionRequest>"; 

//send the xml via curl 
$response = send_request_via_curl($host,$path,$content); 

因此,在我從$迴應中獲得成功的迴應之前,我需要對他們的信用卡收取一筆費用。

我在這個理解中正確嗎?這樣做最好的方法是什麼?

回答

0

要驗證信用卡在創建訂閱前是否有效,您需要根據處理器的要求爲$ 0.00或$ 0.01執行AUTH_ONLY。如果它被批准,並且金額爲0.01美元,那麼您應該使該交易無效。然後,您可以繼續並創建您的訂閱。

有一些規則更改和AUTH_ONLYs爲0.01美元,我不是100%的速度。但據我所知,Visa和萬事達想要以任何金額取消AUTH_ONLYs。他們希望商家使用0.00美元,因爲這樣不會在用戶的卡上留下凍結資金,並使AUTH_ONLY的目的明確。絕對聯繫商家賬戶提供商,看看這些規則是什麼,以及他們對$ 0.00 AUTHs的支持水平。

+0

我必須檢查所有卡類型,然後根據它們使用的卡類型,允許AUTH_ONLY爲0.00或0.01。我知道你在Auth.net工作很多,所以如果你在創建訂閱時可以自動包含ARB的某種信用卡授權將會很有幫助。 – ChaseC