FrameAppWS

<back to all web services

AMDCPagoDeudaRQ

Requires Authentication
The following routes are available for this service:
All Verbs/pago/PagoArticulo
<?php namespace dtos;

use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};


class DatosBanco implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $Banco=null,
        /** @var string|null */
        public ?string $Sucursal=null,
        /** @var string|null */
        public ?string $Usuario=null,
        /** @var string|null */
        public ?string $Terminal=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Banco'])) $this->Banco = $o['Banco'];
        if (isset($o['Sucursal'])) $this->Sucursal = $o['Sucursal'];
        if (isset($o['Usuario'])) $this->Usuario = $o['Usuario'];
        if (isset($o['Terminal'])) $this->Terminal = $o['Terminal'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Banco)) $o['Banco'] = $this->Banco;
        if (isset($this->Sucursal)) $o['Sucursal'] = $this->Sucursal;
        if (isset($this->Usuario)) $o['Usuario'] = $this->Usuario;
        if (isset($this->Terminal)) $o['Terminal'] = $this->Terminal;
        return empty($o) ? new class(){} : $o;
    }
}

class CoreRes implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $TranId=null,
        /** @var string|null */
        public ?string $Code=null,
        /** @var string|null */
        public ?string $InfoMsg=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['TranId'])) $this->TranId = $o['TranId'];
        if (isset($o['Code'])) $this->Code = $o['Code'];
        if (isset($o['InfoMsg'])) $this->InfoMsg = $o['InfoMsg'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->TranId)) $o['TranId'] = $this->TranId;
        if (isset($this->Code)) $o['Code'] = $this->Code;
        if (isset($this->InfoMsg)) $o['InfoMsg'] = $this->InfoMsg;
        return empty($o) ? new class(){} : $o;
    }
}

class ResultadoTransaccion implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $Resultado=null,
        // @DataMember(Name="Mensaje")
        /** @var string|null */
        public ?string $Mensaje=null,

        /** @var string|null */
        public ?string $FechaTransaccion=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Resultado'])) $this->Resultado = $o['Resultado'];
        if (isset($o['Mensaje'])) $this->Mensaje = $o['Mensaje'];
        if (isset($o['FechaTransaccion'])) $this->FechaTransaccion = $o['FechaTransaccion'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Resultado)) $o['Resultado'] = $this->Resultado;
        if (isset($this->Mensaje)) $o['Mensaje'] = $this->Mensaje;
        if (isset($this->FechaTransaccion)) $o['FechaTransaccion'] = $this->FechaTransaccion;
        return empty($o) ? new class(){} : $o;
    }
}

class ResultadoPago extends ResultadoTransaccion implements JsonSerializable
{
    /**
     * @param string|null $Resultado
     * @param string|null $Mensaje
     * @param string|null $FechaTransaccion
     */
    public function __construct(
        ?string $Resultado=null,
        ?string $Mensaje=null,
        ?string $FechaTransaccion=null,
        /** @var int */
        public int $IdPago=0,
        /** @var string|null */
        public ?string $CheckSum=null
    ) {
        parent::__construct($Resultado,$Mensaje,$FechaTransaccion);
    }

    /** @throws Exception */
    public function fromMap($o): void {
        parent::fromMap($o);
        if (isset($o['IdPago'])) $this->IdPago = $o['IdPago'];
        if (isset($o['CheckSum'])) $this->CheckSum = $o['CheckSum'];
        if (isset($o['Resultado'])) $this->Resultado = $o['Resultado'];
        if (isset($o['Mensaje'])) $this->Mensaje = $o['Mensaje'];
        if (isset($o['FechaTransaccion'])) $this->FechaTransaccion = $o['FechaTransaccion'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = parent::jsonSerialize();
        if (isset($this->IdPago)) $o['IdPago'] = $this->IdPago;
        if (isset($this->CheckSum)) $o['CheckSum'] = $this->CheckSum;
        if (isset($this->Resultado)) $o['Resultado'] = $this->Resultado;
        if (isset($this->Mensaje)) $o['Mensaje'] = $this->Mensaje;
        if (isset($this->FechaTransaccion)) $o['FechaTransaccion'] = $this->FechaTransaccion;
        return empty($o) ? new class(){} : $o;
    }
}

class AMDCPagoDeudaRS extends CoreRes implements JsonSerializable
{
    /**
     * @param string|null $TranId
     * @param string|null $Code
     * @param string|null $InfoMsg
     */
    public function __construct(
        ?string $TranId=null,
        ?string $Code=null,
        ?string $InfoMsg=null,
        /** @var ResultadoPago|null */
        public ?ResultadoPago $PagoRespuesta=null
    ) {
        parent::__construct($TranId,$Code,$InfoMsg);
    }

    /** @throws Exception */
    public function fromMap($o): void {
        parent::fromMap($o);
        if (isset($o['PagoRespuesta'])) $this->PagoRespuesta = JsonConverters::from('ResultadoPago', $o['PagoRespuesta']);
        if (isset($o['TranId'])) $this->TranId = $o['TranId'];
        if (isset($o['Code'])) $this->Code = $o['Code'];
        if (isset($o['InfoMsg'])) $this->InfoMsg = $o['InfoMsg'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = parent::jsonSerialize();
        if (isset($this->PagoRespuesta)) $o['PagoRespuesta'] = JsonConverters::to('ResultadoPago', $this->PagoRespuesta);
        if (isset($this->TranId)) $o['TranId'] = $this->TranId;
        if (isset($this->Code)) $o['Code'] = $this->Code;
        if (isset($this->InfoMsg)) $o['InfoMsg'] = $this->InfoMsg;
        return empty($o) ? new class(){} : $o;
    }
}

class PagoArticulo implements JsonSerializable
{
    public function __construct(
        /** @var int */
        public int $IdObligacion=0,
        /** @var float */
        public float $Monto=0.0
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['IdObligacion'])) $this->IdObligacion = $o['IdObligacion'];
        if (isset($o['Monto'])) $this->Monto = $o['Monto'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->IdObligacion)) $o['IdObligacion'] = $this->IdObligacion;
        if (isset($this->Monto)) $o['Monto'] = $this->Monto;
        return empty($o) ? new class(){} : $o;
    }
}

class SolicitudPago implements JsonSerializable
{
    public function __construct(
        /** @var string|null */
        public ?string $IdTransaccionBanco=null,
        /** @var int */
        public int $FechaTransaccionBanco=0,
        /** @var int */
        public int $HoraMinSeg=0,
        /** @var string|null */
        public ?string $NumeroDocumento=null,
        /** @var int */
        public int $IdTipoImpuesto=0,
        /** @var int */
        public int $PagoParcial=0,
        /** @var int */
        public int $Anio=0,
        /** @var array<PagoArticulo>|null */
        public ?array $PagoArticulos=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['IdTransaccionBanco'])) $this->IdTransaccionBanco = $o['IdTransaccionBanco'];
        if (isset($o['FechaTransaccionBanco'])) $this->FechaTransaccionBanco = $o['FechaTransaccionBanco'];
        if (isset($o['HoraMinSeg'])) $this->HoraMinSeg = $o['HoraMinSeg'];
        if (isset($o['NumeroDocumento'])) $this->NumeroDocumento = $o['NumeroDocumento'];
        if (isset($o['IdTipoImpuesto'])) $this->IdTipoImpuesto = $o['IdTipoImpuesto'];
        if (isset($o['PagoParcial'])) $this->PagoParcial = $o['PagoParcial'];
        if (isset($o['Anio'])) $this->Anio = $o['Anio'];
        if (isset($o['PagoArticulos'])) $this->PagoArticulos = JsonConverters::fromArray('PagoArticulo', $o['PagoArticulos']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->IdTransaccionBanco)) $o['IdTransaccionBanco'] = $this->IdTransaccionBanco;
        if (isset($this->FechaTransaccionBanco)) $o['FechaTransaccionBanco'] = $this->FechaTransaccionBanco;
        if (isset($this->HoraMinSeg)) $o['HoraMinSeg'] = $this->HoraMinSeg;
        if (isset($this->NumeroDocumento)) $o['NumeroDocumento'] = $this->NumeroDocumento;
        if (isset($this->IdTipoImpuesto)) $o['IdTipoImpuesto'] = $this->IdTipoImpuesto;
        if (isset($this->PagoParcial)) $o['PagoParcial'] = $this->PagoParcial;
        if (isset($this->Anio)) $o['Anio'] = $this->Anio;
        if (isset($this->PagoArticulos)) $o['PagoArticulos'] = JsonConverters::toArray('PagoArticulo', $this->PagoArticulos);
        return empty($o) ? new class(){} : $o;
    }
}

class AMDCPagoDeudaRQ extends DatosBanco implements JsonSerializable
{
    /**
     * @param string|null $Banco
     * @param string|null $Sucursal
     * @param string|null $Usuario
     * @param string|null $Terminal
     */
    public function __construct(
        ?string $Banco=null,
        ?string $Sucursal=null,
        ?string $Usuario=null,
        ?string $Terminal=null,
        /** @var SolicitudPago|null */
        public ?SolicitudPago $SolicitudPago=null
    ) {
        parent::__construct($Banco,$Sucursal,$Usuario,$Terminal);
    }

    /** @throws Exception */
    public function fromMap($o): void {
        parent::fromMap($o);
        if (isset($o['SolicitudPago'])) $this->SolicitudPago = JsonConverters::from('SolicitudPago', $o['SolicitudPago']);
        if (isset($o['Banco'])) $this->Banco = $o['Banco'];
        if (isset($o['Sucursal'])) $this->Sucursal = $o['Sucursal'];
        if (isset($o['Usuario'])) $this->Usuario = $o['Usuario'];
        if (isset($o['Terminal'])) $this->Terminal = $o['Terminal'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = parent::jsonSerialize();
        if (isset($this->SolicitudPago)) $o['SolicitudPago'] = JsonConverters::to('SolicitudPago', $this->SolicitudPago);
        if (isset($this->Banco)) $o['Banco'] = $this->Banco;
        if (isset($this->Sucursal)) $o['Sucursal'] = $this->Sucursal;
        if (isset($this->Usuario)) $o['Usuario'] = $this->Usuario;
        if (isset($this->Terminal)) $o['Terminal'] = $this->Terminal;
        return empty($o) ? new class(){} : $o;
    }
}

PHP AMDCPagoDeudaRQ DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /pago/PagoArticulo HTTP/1.1 
Host: soluser-recaudo.sgsas.co 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"SolicitudPago":{"IdTransaccionBanco":"String","FechaTransaccionBanco":0,"HoraMinSeg":0,"NumeroDocumento":"String","IdTipoImpuesto":0,"PagoParcial":0,"Anio":0,"PagoArticulos":[{"IdObligacion":0,"Monto":0}]},"Banco":"String","Sucursal":"String","Usuario":"String","Terminal":"String"}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"PagoRespuesta":{"IdPago":0,"CheckSum":"String","Resultado":"String","Mensaje":"String","FechaTransaccion":"String"},"TranId":"String","Code":"String","InfoMsg":"String"}