引用的交易不符合发放信用的标准

时间:2011-05-19 09:50:38

标签: django authorize.net

我尝试使用代码

通过我的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 个答案:

答案 0 :(得分:4)

如果原始交易少于6个月且金额等于或小于原始购买金额,则只能通过Authorize.Net进行退款。如果不符合此标准,则无法退款。

修改

仅供参考,设置x_test_request = TRUE表示交易只是一项测试而未实际处理。

答案 1 :(得分:2)

问题在于我用来与authorize.net通信的安全密钥我能够进行交易而不是退款。当我生成新密钥时,问题就消失了。

答案 2 :(得分:2)

如果交易非常新并且尚未结算,则可能也是如此。在这种情况下,您需要改为对该事务进行VOID。

答案 3 :(得分:2)

我的测试帐户存在同样的问题。我不能退还几分钟前创建的交易。您应该登录沙盒帐户并转到帐户设置 - >测试模式 - >事务处理集“测试”在我的案例中是“实时”。交易退还成功。

答案 4 :(得分:1)

从:

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

我发现:

  • 超过120天的交易无法处理退款。

所以我认为6个月已被修改,目前不正确。我尝试为122天的交易发放退款,我收到了上面列出的错误消息。