Esempio n. 1
0
def order():
    """
    Crea una nueva orden para enviar a STP
    :return:
    """
    try:
        with open(DEFAULT_FILE_NAME, 'r') as f:
            config = json.load(f)
    except IOError:
        print("No configuration file found, use first: stpmex config")
        return

    stpmex.configure(
        wsdl_path=config['wsdl'],
        empresa=config['empresa'],
        priv_key=config['private_key'],
        priv_key_passphrase=config['pkey_passphrase'],
        prefijo=config['prefijo'],
        proxy=None if 'proxy' not in config else config['proxy'],
        proxy_user=None if 'user' not in config else config['user'],
        proxy_password=None
        if 'password' not in config else config['password'],
    )

    print("Connection established")

    order = Orden()
    order.institucionOperante = Institucion.STP.value
    order.nombreBeneficiario = input('Nombre del beneficiario: ')
    order.cuentaBeneficiario = input('CLABE del beneficiario: ')
    order.institucionContraparte = input('Institución de contraparte: ')
    order.conceptoPago = input('Concepto de pago: ')
    order.monto = float(input('Monto: '))  # I assume you won't put a str here
    rfc = input('RFC o CURP de beneficiario (opcional): ')
    if rfc:
        order.rfcCurpBeneficiario = rfc
    num_reference = input('Referencia númerica (opcional): ')
    if num_reference:
        order.referenciaNumerica = num_reference
    track_code = input('Clave de rastreo (opcional): ')
    if track_code:
        order.claveRastreo = track_code

    print("Sending order....")
    r = order.registra()

    print(r)
    print("Finished")
Esempio n. 2
0
    def get_order(self):
        trx_dict = self.to_dict()
        order_dict = {
            snake_to_camel(k): v
            for k, v in trx_dict.items()
            if snake_to_camel(k) in ORDEN_FIELDNAMES and (
                trx_dict[k] is not None)
        }
        order = Orden(**order_dict)
        order.fechaOperacion = None
        order.institucionOperante = self.institucion_ordenante
        order.institucionContraparte = self.institucion_beneficiaria
        order.nombreBeneficiario = self.nombre_beneficiario[:38].strip()
        order.nombreOrdenante = self.nombre_ordenante[:38].strip()
        self.clave_rastreo = self.clave_rastreo or order.claveRastreo
        self.tipo_cuenta_beneficiario = self.tipo_cuenta_beneficiario or (
            order.tipoCuentaBeneficiario)
        self.rfc_curp_beneficiario = self.rfc_curp_beneficiario or (
            order.rfcCurpBeneficiario)
        self.referencia_numerica = self.referencia_numerica or (
            order.referenciaNumerica)
        self.empresa = self.empresa or order.empresa

        return order