Source code for pagseguro.api.base_payment

# -*- coding: utf-8 -*-
from abc import ABCMeta, abstractmethod


[docs]class BasePaymentResponse: ''' Classe abstrata que define a interface para o objeto que trata a resposta à requisição enviada ao PagSeguro. As classes que a implementarem devem processar a resposta e gerar as exceções adequadas em caso de erro ou popular um dicionario com os dados em caso de sucesso ''' __metaclass__ = ABCMeta @abstractmethod def __init__(self, payment_response): ''' O construtor da classe receberá o texto retornado pelo metodo''' raise NotImplementedError() @abstractmethod
[docs] def response_data(self): ''' Retorna um dicionario com os dados extraidos da resposta ao pedido de pagamento ''' raise NotImplementedError()
[docs]class BasePaymentRequest: ''' Classe abstrata que define a interface para o objeto que faz a requisição ao PagSeguro. Esta definição precisa ser ampla o bastante para ser utilizada por todas as versões já existentes ou que venham a surgir da API. ''' __metaclass__ = ABCMeta @abstractmethod
[docs] def api_version(self): ''' A versão da API que esta classe implementa ''' raise NotImplementedError()
@abstractmethod
[docs] def add_item(self, *args, **kwargs): ''' Adiciona item ao pedido de pagamento ''' raise NotImplementedError()
@abstractmethod
[docs] def set_client(self, *args, **kwargs): ''' Permite definir os atributos do comprador ''' raise NotImplementedError()
@abstractmethod
[docs] def set_shipping(self, *args, **kwargs): ''' Define os atributos do frete ''' raise NotImplementedError()
@abstractmethod
[docs] def request(self): ''' A implementação deste método deve: 1 - Fazer a validação dos dados do pedido 2 - Construir a requisição HTTP ao servidor do PagSeguro 3 - Retornar um objeto PaymentRequest ''' raise NotImplementedError()