Esempio n. 1
0
def test_defaults():
    orden_kwargs = ORDEN_KWARGS.copy()
    orden_kwargs.pop('claveRastreo')
    orden_kwargs.pop('referenciaNumerica')
    orden = Orden(**orden_kwargs)
    assert orden.claveRastreo
    assert orden.referenciaNumerica
Esempio n. 2
0
def get_order():
    return Orden(conceptoPago='Prueba',
                 institucionOperante=Institucion.STP.value,
                 cuentaBeneficiario='072691004495711499',
                 institucionContraparte=Institucion.BANORTE.value,
                 monto=1.2,
                 nombreBeneficiario='Ricardo Sanchez')
Esempio n. 3
0
def orden():
    return Orden(conceptoPago='Prueba',
                 institucionOperante='90646',
                 cuentaBeneficiario='072691004495711499',
                 institucionContraparte=BANKS['072'],
                 monto=1.2,
                 nombreBeneficiario='Ricardo Sanchez')
Esempio n. 4
0
def test_create_order_leading_trailing_spaces(initialize_stpmex):
    order = Orden(conceptoPago='    Prueba    ',
                  institucionOperante=Institucion.STP.value,
                  cuentaBeneficiario='    072691004495711499    ',
                  institucionContraparte=Institucion.BANORTE.value,
                  monto=1.2,
                  nombreBeneficiario='    Ricardo Sanchez    ')
    assert order.conceptoPago == 'Prueba'
    assert order.institucionOperante == Institucion.STP.value
    assert order.cuentaBeneficiario == '072691004495711499'
    assert order.institucionContraparte == Institucion.BANORTE.value
    assert order.monto == 1.2
    assert order.nombreBeneficiario == 'Ricardo Sanchez'
Esempio n. 5
0
def orden():
    yield Orden(
        institucionContraparte='40072',
        claveRastreo='CR1564969083',
        monto=1.2,
        tipoPago=1,
        nombreOrdenante=None,
        cuentaOrdenante=None,
        tipoCuentaOrdenante=None,
        rfcCurpOrdenante=None,
        tipoCuentaBeneficiario=40,
        nombreBeneficiario='Ricardo Sanchez',
        cuentaBeneficiario='072691004495711499',
        rfcCurpBeneficiario='ND',
        conceptoPago='Prueba',
        referenciaNumerica=5273144,
        topologia='T',
        medioEntrega=3,
        prioridad=1,
        iva=None,
    )
Esempio n. 6
0
def test_join_fields(initialize_stpmex):
    orden = Orden(institucionContraparte='684',
                  fechaOperacion='20160810',
                  folioOrigen='1q2w33e',
                  claveRastreo='1q2w33e',
                  monto='121.00',
                  tipoPago='1',
                  tipoCuentaOrdenante='40',
                  tipoCuentaBeneficiario='40',
                  nombreBeneficiario='eduardo',
                  cuentaBeneficiario='684180000300000004',
                  rfcCurpBeneficiario='ND',
                  emailBeneficiario='*****@*****.**',
                  conceptoPago='pago prueba',
                  referenciaNumerica='123123',
                  topologia='T',
                  medioEntrega='3',
                  prioridad='0')
    joined = ('||684|TAMIZI|20160810|1q2w33e|1q2w33e||121.00|1|40||||40|'
              'eduardo|684180000300000004|ND|[email protected]|||||'
              'pago prueba||||||123123||T||3|0|||').encode('utf-8')

    assert orden._joined_fields == joined
Esempio n. 7
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
Esempio n. 8
0
def create_orden(**kwargs) -> Orden:
    return Orden(**{**ORDEN_KWARGS, **kwargs})
Esempio n. 9
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")