Я использую повторную транзакцию authorize.net. Что я пытаюсь сделать, это дать возможность проверить пожертвование, если они хотят, чтобы он повторялся в течение следующих 12 месяцев.Authorize.Net проверить кредитную карту AIM и ARB
Итак, перед ARB - я хочу проверить карту, но 0.00 не является допустимой суммой. поэтому, если я сделал сумму 0,01 - как я могу аннулировать транзакцию после проверки карты?
Также - когда подписка выполнена, я не получаю письмо от authorize.net, в котором говорится, что транзакция была совершена, как при обработке обычной транзакции.
Мой код:
$authorization = new AuthnetAIM($apilogin, $apitranskey, true);
$authorization->setTransaction($creditcard, $expiration, '0.01');
$authorization->setTransactionType('AUTH_ONLY');
$authorization->process();
if ($authorization->isApproved())
{
$subscription = new AuthnetARB($apilogin, $apitranskey, AuthnetARB::USE_DEVELOPMENT_SERVER);
// Set subscription information
$subscription->setParameter('amount', $amount);
$subscription->setParameter('cardNumber', $creditcard);
$subscription->setParameter('expirationDate', $expiration);
$subscription->setParameter('firstName', $business_firstname);
$subscription->setParameter('lastName', $business_lastname);
$subscription->setParameter('address', $business_address);
$subscription->setParameter('city', $business_city);
$subscription->setParameter('state', $business_state);
$subscription->setParameter('zip', $business_zipcode);
$subscription->setParameter('email', $email);
// Set the billing cycle for every three months
$subscription->setParameter('interval_length', 1);
$subscription->setParameter('startDate', date("Y-m-d", strtotime("+ 1 months")));
// Create the subscription
$subscription->createAccount();
// Check the results of our API call
if ($subscription->isSuccessful())
{
// Get the subscription ID
$subscription_id = $subscription->getSubscriberID();
Send_email();
}
else
{
$transError = 'your subscription was not created';
$hasError = true;
}
}
else if ($authorization->isDeclined())
{
$transError = 'This card is not valid';
$hasError = true;
}
}
catch (AuthnetARBException $e)
{
$transError = 'There was an error processing the transaction. Here is the error message:<br/> ';
echo $e->__toString();
$hasError = true;
}
}
Спасибо, человек! - im, используя ваш учебник, и когда я оставлю количество, установленное на 0.00, оно вызывает мне эту ошибку: «Требуемая информация для обработки транзакций опущена: сумма в долларах» – Mark
Интересно. Может быть, все изменилось, так как прошло какое-то время, так как я участвовал в связанных с торговцами вещах. Но если вы получаете эту ошибку, а .01 работает, то определенно возьмите этот маршрут. –
Итак, я разместил новый код сразу после авторизации? Я получил электронное письмо за квитанцию за 0,01 - означает ли это, что это аннулирует его к дню? – Mark