Я использовал API ValidateCustomerPaymentProfileRequest, как описано здесь — https:// Developer.authorize.net/api/reference/index.html#customer-profiles-validate-customer-pay-profile, и я считаю, что это только подтверждает существование платежного профиля. Не подтверждает срок действия кредитной карты.
Я пытался выполнить транзакцию только с аутентификацией, используя CreateTransactionController, как описано здесь - https://developer.authorize.net/api/ref ... index.html. #платежи-транзакции-авторизовать-кредитную-карту. Транзакция AuthOnly также разрешена для кредитной карты с истекшим сроком действия, транзакция прошла успешно.
Я также пробовал использовать GetCustomerPaymentProfileController, как описано здесь https://developer.authorize.net/api/reference/index .html#customer-profiles-get-customer-paying-profile, чтобы получить дату истечения срока действия, чтобы я мог проверить вручную, но в ответ я получаю XXXX, mmdd не отображается в ответе.
Это не должно быть так сложно. Может ли кто-нибудь указать мне правильное направление? Во время тестирования я заметил, что кредитная карта с истекшим сроком действия также прошла успешно, и именно тогда я начал тестирование с помощью ValidateCustomerPaymentProfileRequest и GetCustomerPaymentProfileController для проверки. Даже CreateTransactionController для создания транзакции только с аутентификацией завершается успешно, что меня удивляет.
Я подал заявку в службу поддержки, и меня попросили опубликовать сообщение здесь.
Здесь — это фрагмент транзакции AuthOnly, которую я использую.
Код: Выделить всё
// Step 2: Create the transaction request for authOnly
$transactionRequestType = new AnetAPI\TransactionRequestType();
$transactionRequestType->setTransactionType("authOnlyTransaction");
$transactionRequestType->setAmount("0.01"); // Small transaction amount
// Associate the payment profile
$paymentProfile = new AnetAPI\CustomerProfilePaymentType();
$paymentProfile->setCustomerProfileId($profile['customer_profile_id']);
$paymentProfile->setPaymentProfile(new AnetAPI\PaymentProfileType());
$paymentProfile->getPaymentProfile()->setPaymentProfileId($profile['customer_payment_profile_id']);
$transactionRequestType->setProfile($paymentProfile);
С помощью этого кода я ожидаю, что транзакция AuthOnly по кредитной карте с истекшим сроком действия будет неудача. Я вижу успешный ответ, а также вижу транзакцию на Authorize.net.
Подробнее здесь: https://stackoverflow.com/questions/789 ... redit-card