Authorize.net ARB信用卡问题

时间:2014-04-01 14:58:27

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

我可以成功创建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);

因此,在我从$ response获得成功回复之前,我需要对其信用卡收取费用。

我理解这个吗?这样做的最佳方式是什么?

1 个答案:

答案 0 :(得分:0)

要在创建订阅之前验证信用卡是否有效,您需要根据处理器的要求为$ 0.00或$ 0.01执行AUTH_ONLY。如果它被批准,金额为0.01美元,那么您应该使该交易无效。然后,您可以继续创建订阅。

有一些规则变化和AUTH_ONLYs为0.01美元,我不是100%达到它们的速度。但据我所知,Visa和万事达卡希望以任何金额取消AUTH_ONLY。他们希望商家使用0.00美元,因为这样就不会在用户卡上留下任何冻结的资金,并使AUTH_ONLY的目的明确。绝对联系商家帐户提供商,看看这些规则是什么以及他们对$ 0.00 AUTH的支持程度。