Trato de hacer una transacción de reembolso a través de mi aplicación Django mediante código:La transacción que se hace referencia no cumple con los criterios para la emisión de un crédito
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
Estoy seguro de que se le permite hacer esa transacción que quiero reembolsar eso porque tengo la opción de reembolso en el sitio web authorize.net. ¿Por qué no puedo hacer eso en mi aplicación? tal vez algo falta?
AIM_URL = 'https://test.authorize.net/gateway/transact.dll'
Además en la documentación, leí que no necesito el número de tarjeta completo para la transacción de crédito, solo los últimos 4 dígitos. Pero cuando uso solo los últimos 4 dígitos recibo una respuesta que no se puede encontrar transacción
Agregué x_test_reques = TRUE para solicitar y luego se aprobó la operación. Pero es una buena manera? Pensé que cuando realizo una solicitud para probar la transacción del servidor debería aprobarse sin ningún indicador adicional. ¿Qué pasa con este número de tarjeta? – szaman