Example #1
0
 def register_payment(self,
     redirect_url=None,
     amount=None,
     currencycode=None,
     ordernumber=None,
     description=None):
     
     client = get_client()
     request = get_basic_registerrequest(client, redirect_url, None)
 
     order = get_netaxept_object(client, 'Order')
     order.Amount = amount # store
     order.CurrencyCode = currencycode # store
     order.OrderNumber = ordernumber# store
     order.UpdateStoredPaymentInfo = None
     
     request.Order = order
     request.Description = description # Store
         
     payment = self.model(
          amount=amount,
          currencycode=currencycode,
          ordernumber=ordernumber,
          description=description
     )
     
     try:
         response = register(client, request)
         payment.transaction_id = response.TransactionId
     except suds.WebFault, e:
         handle_response_exception(e, payment)
Example #2
0
 def credit_payment(self, payment, amount):
     
     self.require_auth(payment)
     
     if not self.get_query_set().filter(payment=payment, operation='CAPTURE').exists():
         raise NoAmountCaptured        
         
     client = get_client()
     operation = 'CREDIT'
     
     request = get_netaxept_object(client, 'ProcessRequest')
     request.Operation = operation
     request.TransactionId = payment.transaction_id
     request.TransactionAmount = amount
     
     transaction = self.model(
         payment=payment,
         transaction_id=payment.transaction_id,
         amount=amount,
         operation=operation
     )
     
     try:
         response = process(client, request)
     except suds.WebFault, e:
         handle_response_exception(e, transaction)
Example #3
0
 def sale_payment(self, payment):
     
     if not payment.completed():
         logger.error("Payment registration not completed")
         raise PaymentRegistrationNotCompleted
              
     client = get_client()
     operation = 'SALE'
     
     request = get_netaxept_object(client, 'ProcessRequest')
     request.Operation = operation
     request.TransactionId = payment.transaction_id
     
     transaction = self.model(
         payment=payment,
         transaction_id=payment.transaction_id,
         operation=operation
     )
     
     try:
         response = process(client, request)
     except suds.WebFault as e:
         logger.error("Sale on payment failed")
         handle_response_exception(e, transaction)
     finally:
         transaction.save()
         
     return transaction
Example #4
0
 def annul_payment(self, payment):
     
     self.require_auth(payment)
     
     if self.get_query_set().filter(Q(operation='CAPTURE') | Q(operation='SALE'), payment=payment).exists():
         logger.error("Amount allready captured, cannot annul")
         raise AmountAllreadyCaptured
                
     client = get_client()
     operation = 'ANNUL'
     
     request = get_netaxept_object(client, 'ProcessRequest')
     request.Operation = operation
     request.TransactionId = payment.transaction_id
     
     transaction = self.model(
         payment=payment,
         transaction_id=payment.transaction_id,
         operation=operation
     )
             
     try:
         response = process(client, request)
     except suds.WebFault as e:
         logger.error("Annul on payment failed")
         handle_response_exception(e, transaction)
     finally:
         transaction.save()
         
     return transaction
Example #5
0
 def credit_payment(self, payment, amount):
     
     if not self.get_query_set().filter(Q(operation='CAPTURE') | Q(operation='SALE'), payment=payment).exists():
         logger.error("No amount captured, cannot credit")
         raise NoAmountCaptured        
         
     client = get_client()
     operation = 'CREDIT'
     
     request = get_netaxept_object(client, 'ProcessRequest')
     request.Operation = operation
     request.TransactionId = payment.transaction_id
     request.TransactionAmount = amount
     
     transaction = self.model(
         payment=payment,
         transaction_id=payment.transaction_id,
         amount=amount,
         operation=operation
     )
     
     try:
         response = process(client, request)
     except suds.WebFault as e:
         logger.error("Credit on payment failed")
         handle_response_exception(e, transaction)
     finally:
         transaction.save()
         
     return transaction
Example #6
0
 def capture_payment(self, payment, amount):
     
     self.require_auth(payment)
                 
     client = get_client()
     operation = 'CAPTURE'
     
     request = get_netaxept_object(client, 'ProcessRequest')
     request.Operation = operation
     request.TransactionId = payment.transaction_id
     request.TransactionAmount = amount
     
     transaction = self.model(
         payment=payment,
         transaction_id=payment.transaction_id,
         amount=amount,
         operation=operation
     )
     
     try:
         response = process(client, request)
     except suds.WebFault as e:
         logger.error("Capture on payment not failed")
         handle_response_exception(e, transaction)
     finally:
         transaction.save()
         
     return transaction
Example #7
0
 def auth_payment(self, payment):
     
     if not payment.completed():
         raise PaymentRegistrationNotCompleted
              
     client = get_client()
     operation = 'AUTH'
     
     request = get_netaxept_object(client, 'ProcessRequest')
     request.Operation = operation
     request.TransactionId = payment.transaction_id
     
     transaction = self.model(
         payment=payment,
         transaction_id=payment.transaction_id,
         operation=operation
     )
     try:
         response = process(client, request)
     except suds.WebFault, e:
         handle_response_exception(e, transaction)
Example #8
0
 def capture_payment(self, payment, amount):
     
     self.require_auth(payment)
                 
     client = get_client()
     operation = 'CAPTURE'
     
     request = get_netaxept_object(client, 'ProcessRequest')
     request.Operation = operation
     request.TransactionId = payment.transaction_id
     request.TransactionAmount = amount
     
     transaction = self.model(
         payment=payment,
         transaction_id=payment.transaction_id,
         amount=amount,
         operation=operation
     )
     
     try:
         response = process(client, request)
     except suds.WebFault, e:
         handle_response_exception(e, transaction)
Example #9
0
 def annul_payment(self, payment):
     
     self.require_auth(payment)
     
     if self.get_query_set().filter(payment=payment, operation='CAPTURE').exists():
         raise AmountAllreadyCaptured
                
     client = get_client()
     operation = 'ANNUL'
     
     request = get_netaxept_object(client, 'ProcessRequest')
     request.Operation = operation
     request.TransactionId = payment.transaction_id
     
     transaction = self.model(
         payment=payment,
         transaction_id=payment.transaction_id,
         operation=operation
     )
             
     try:
         response = process(client, request)
     except suds.WebFault, e:
         handle_response_exception(e, transaction)