Указанная транзакция не соответствует критериям для выдачи кредита. - PullRequest
6 голосов
/ 19 мая 2011

Я пытаюсь совершить транзакцию возврата через мое приложение django, используя код:

class Handler():

    def __init__(self):
        self.initial_values = {
            'x_login': settings.API_LOGIN,
            'x_tran_key': settings.TRANS_KEY,
            'x_delim_data': 'TRUE',
            'x_relay_response': 'FALSE',
            'x_version': '3.1',
        }

    def send_AIM_credit(self, amount):
        self.amount = amount
        self.additional_values = {
            'x_type': 'CREDIT',
            'x_card_num': '370000000000002',
            'x_amount': '123',
            'x_description': "Refund",
            'x_trans_id': 'someid'
        }
        result = self.__send_AIM_request() 
        if result[0] in ['3', '2']:
            raise Exception("ERROR %s" % result[2], result[3])
        return result 

    def __send_AIM_request(self):
        self.initial_values.update(self.additional_values)
        logging.info(self.initial_values)
        params_string = urllib.urlencode(self.initial_values)
        response = urllib2.urlopen(settings.AIM_URL, params_string).read()
        response_list = response.split(',')
        logging.info(response_list)
        return response_list

Я уверен, что транзакция, которую я хочу вернуть, разрешена, потому что у меня есть опция возврата в authorize.net.сайт для этого.Почему я не могу сделать это в моем приложении?может быть, чего-то не хватает?

AIM_URL = 'https://test.authorize.net/gateway/transact.dll'

Более того, в документации я прочитал, что мне не нужен полный номер карты для кредитной операции, только последние 4 цифры.Но когда я использую только последние 4 цифры, я получаю ответ, что транзакция не может быть найдена

Ответы [ 5 ]

4 голосов
/ 19 мая 2011

Возврат может быть осуществлен только через Authorize.Net, если исходная транзакция менее 6 месяцев и сумма равна или меньше первоначальной суммы покупки. Если он не соответствует этим критериям, вы не можете произвести возврат.

редактировать

К вашему сведению, установка x_test_request = TRUE означает, что транзакция была только тестовой и фактически не обрабатывалась.

2 голосов
/ 15 сентября 2016

У меня такая же проблема с моим тестовым аккаунтом.Я не могу вернуть сделку, созданную несколько минут назад.Вы должны войти в свою учетную запись песочницы и перейти к настройкам учетной записи -> тестовый режим -> набор обработки транзакций «Тест», в моем случае это был «Live».Чем транзакция вернула успех.

2 голосов
/ 31 октября 2012

Это также может быть, если транзакция очень новая и не была урегулирована.В этом случае вы захотите аннулировать транзакцию.

2 голосов
/ 10 июня 2011

Проблема была с ключами безопасности, которые я использую для связи с authorize.net. Мне удалось совершать транзакции, но не возвращать их.Когда я сгенерировал новые ключи, проблема исчезла.

1 голос
/ 25 июня 2015

от

https://support.authorize.net/authkb/index?page=content&id=A567

Я обнаружил, что:

  • Возврат не может быть обработан по транзакциям старше 120 дней.

так что я думаю, что 6 месяцев были изменены и в настоящее время неверны. Я попытался выдать ВОЗВРАТ за транзакцию 122 дня, и я получил сообщение об ошибке, указанное выше.

...