PHPackages                             pagos360/sdk - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. pagos360/sdk

ActiveLibrary[API Development](/categories/api)

pagos360/sdk
============

SDK for integrating to Pagos360.com

v1.0.7(4y ago)2215[3 issues](https://github.com/pagos360/sdk-php-v1/issues)MITPHPPHP &gt;=7.1CI failing

Since Jul 30Pushed 4y ago6 watchersCompare

[ Source](https://github.com/pagos360/sdk-php-v1)[ Packagist](https://packagist.org/packages/pagos360/sdk)[ RSS](/packages/pagos360-sdk/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (5)Dependencies (10)Versions (18)Used By (0)

Pagos360 SDK PHP
================

[](#pagos360-sdk-php)

SDK para realizar transacciones por medio de Pagos360

- [Instalación](#instalaci%C3%B3n)
- [Introducción](#introducci%C3%B3n)

    - [Inicialización](#inicializaci%C3%B3n)
- [Modelos](#modelos)

    - [Solicitud de Pago](#solicitud-de-pago) (`PaymentRequest`)

        - [Crear](#crear)
        - [Buscar por id](#buscar-por-id)
        - [Resultados](#resultados)
        - [Funciones de utilidad](#funciones-de-utilidad)
    - [Solicitud de Débito en CBU](#solicitud-de-d%C3%A9bito-en-cbu) (`DebitRequest`)

        - [Crear](#crear-1)
        - [Buscar por id](#buscar-por-id-1)
        - [Resultados](#resultados-1)
        - [Cancelar](#cancelar)
    - [Adhesion en CBU](#adhesion-en-cbu) (`Adhesion`)

        - [Crear](#crear-2)
        - [Buscar por id](#buscar-por-id-2)
        - [Cancelar](#cancelar-1)
    - [Solicitud de Débito en Tarjeta](#solicitud-de-d%C3%A9bito-en-tarjeta) (`CardDebitRequest`)

        - [Crear](#crear-3)
        - [Buscar por id](#buscar-por-id-3)
        - [Resultados](#resultados-2)
    - [Adhesion en Tarjeta](#adhesion-en-tarjeta) (`CardAdhesion`)

        - [Crear](#crear-4)
        - [Buscar por id](#buscar-por-id-4)
        - [Cancelar](#cancelar-2)
    - [Reporte de Cobranza](#reporte-de-cobranza) (`CollectionReport`)

        - [Buscar por fecha](#buscar-por-fecha)
        - [Datos](#datos)
    - [Reporte de Reversiones](#reporte-de-reversiones) (`ChargebackReport`)

        - [Buscar por fecha](#buscar-por-fecha-1)
        - [Datos](#datos-1)
    - [Reporte de Rendicion](#reporte-de-rendicion) (`SettlementReport`)

        - [Buscar por fecha](#buscar-por-fecha-2)
        - [Datos](#datos-2)
    - [Cuenta](#cuenta) (`Account`)
- [Otros](#otros)

    - [Logs](#logs)

Instalación
===========

[](#instalación)

La instalación se debe hacer mediante [Composer](http://getcomposer.org/) con el siguiente comando:

```
composer require pagos360/sdk-php
```

Introducción
============

[](#introducción)

Este SDK actúa de forma similar a un ORM, usando un diseño similar a los repositorios para generar objetos nativos en base de las respuestas JSON de la API.

Si bien el objetivo del SDK es simplificar el proceso de integración, no es un reemplazo de la [Documentación para Desarrolladores](https://developers.pagos360.com/).

Inicialización
--------------

[](#inicialización)

Para empezar a utilizar el SDK desde su código, se provee una clase `\Pagos360\Sdk`, la cual toma como único parámetro una *API KEY* generada desde el menú de *Integraciones* desde el portal web de Pagos360.

```
$sdk = new \Pagos360\Sdk('API_KEY_VALUE');
```

O si tenes una variable de entorno configurada

```
$sdk = new \Pagos360\Sdk(getenv('API_KEY_VAR_NAME'));
```

Para comprobar que la *API KEY* esté configurada correctamente, se puede utilizar el repositorio de cuenta.

```
$account = $sdk->account->get();
var_dump($account);
```

En caso que todo sea correcto, `$account` debería ser una instancia de la clase `\Pagos360\Models\Account`.

Modelos
=======

[](#modelos)

Solicitud de Pago
-----------------

[](#solicitud-de-pago)

[Conceptos generales](https://developers.pagos360.com/endpoints/payment-request/conceptos-generales)

### Crear

[](#crear)

[Documentación](https://developers.pagos360.com/endpoints/payment-request/post_payment-request)

```
$paymentRequest = new \Pagos360\Models\PaymentRequest();
$paymentRequest
    ->setFirstTotal(13.53)
    ->setFirstDueDate(new DateTimeImmutable('tomorrow'))
    ->setDescription('Creada por SDK')
    ->setPayerName('Matias Pino')
;

$paymentRequest = $sdk->paymentRequests->create($paymentRequest);
```

#### Excluir canales

[](#excluir-canales)

Para facilitar la exclusión de canales, se proveen constantes dentro de la clase `\Pagos360\Constants`. Como la plataforma de Pagos360 se encuentra en desarrollo activo, es probable que en el futuro se agreguen más tipos de canales que aun no estén soportados en el SDK. En ese caso, se puede usar una string representando el nuevo valor.

```
$paymentRequest->setExcludedChannels([
    \Pagos360\Constants::CHANNEL_CREDIT_CARD,
    'tipo_de_canal_nuevo',
]);
```

#### Excluir cuotas

[](#excluir-cuotas)

Números de las cuotas que serán omitidas de las opciones al pagador (Solo aplica para el medio de pago Tarjeta de Crédito).

```
$paymentRequest->setExcludedInstallments([1, 3, 6]);
```

#### Excluir marcas de tarjetas

[](#excluir-marcas-de-tarjetas)

Códigos de las tarjetas que serán omitdas de las opciones al pagador. Valores posibles: campo code del endpoint Obtener Planes y Cuotas (Solo aplica para el medio de pago Tarjeta de Crédito).

```
$paymentRequest->setExcludedCardBrands([1, 5, 10]);
```

### Buscar por id

[](#buscar-por-id)

[Documentación](https://developers.pagos360.com/endpoints/payment-request/get_payment-request-id)

```
$paymentRequest = $sdk->paymentRequests->get(179960);
```

#### Resultados

[](#resultados)

[Documentación](https://developers.pagos360.com/endpoints/payment-request/get_payment-request-id#atributos-del-objeto-request_result)

Los resultados de una Solicitud de Pago estan encapsulados en un objeto de tipo `\Doctrine\Common\Collections\ArrayCollection`, el cual contiene una colección de instancias del modelo `\Pagos360\Models\Result`. En caso que la solicitud no tenga ningun resultado, este metodo devolvera `null`.

```
$paymentRequest = $sdk->paymentRequests->get(234741);

$collectedResult = $sdk->paymentRequests->findCollectedResult($paymentRequest);
echo sprintf(
    'Solicitud de Pago %s pagada mediante %s. Monto: $%s.%s',
    $paymentRequest->getId(),
    $collectedResult->getChannel(),
    $collectedResult->getAmount(),
    PHP_EOL
);

$metadata = $collectedResult->getPaymentMetadata();
if (!empty($metadata)) {
    echo sprintf(
        'Pagada con tarjeta terminada en %s. Cuotas: %s ($%s).%s',
        $metadata->getCardLastFourDigits(),
        $metadata->getInstallments(),
        $metadata->getInstallmentAmount(),
        PHP_EOL
    );
}
```

### Funciones de utilidad

[](#funciones-de-utilidad)

#### Verificar que la solicitud haya sido pagada

[](#verificar-que-la-solicitud-haya-sido-pagada)

```
$paymentRequest = $sdk->paymentRequests->get(179960);
$isPaid = $sdk->paymentRequests->isPaid($paymentRequest);
```

Alternativamente, se puede usar esta funcion que tira una excepcion en caso que no haya sigo pagada.

```
$paymentRequest = $sdk->paymentRequests->get(179960);
$sdk->paymentRequests->assertIsPaid($paymentRequest);
```

Solicitud de Débito en CBU
--------------------------

[](#solicitud-de-débito-en-cbu)

[Conceptos generales](https://developers.pagos360.com/endpoints/debito-automatico/debit-request/conceptos-generales)

### Crear

[](#crear-1)

[Documentación](https://developers.pagos360.com/endpoints/debito-automatico/debit-request/post-debit-request)

```
$request = new \Pagos360\Models\DebitRequest();
$request
    ->setAdhesion($adhesion)
    ->setFirstDueDate(new DateTimeImmutable('+1 month'))
    ->setFirstTotal(13.53)
;

$sdk->debitRequests->create($request);
```

Si bien es recomendable obtener la adhesion y verificar que siga en el estado firmada, es posible generar un mock de una Adhesion de la siguiente forma:

```
$request->setAdhesion(new \Pagos360\Models\Adhesion(['id' => 25]))
```

### Buscar por id

[](#buscar-por-id-1)

[Documentación](https://developers.pagos360.com/endpoints/debito-automatico/debit-request/get-debit-request-id)

```
$debitRequest = $sdk->debitRequests->get(182760);
```

#### Resultados

[](#resultados-1)

[Documentación](https://developers.pagos360.com/endpoints/debito-automatico/debit-request/get-debit-request-id#atributos-del-objeto-request_result)

Los resultados de una Solicitud de Débito estan encapsulados en un objeto de tipo `\Doctrine\Common\Collections\ArrayCollection`, el cual contiene una colección de instancias del modelo `Result`. En caso que la solicitud no tenga ningun resultado, este metodo devolvera `null`.

```
$debitRequest = $sdk->debitRequests->get(185027);

$collectedResult = $sdk->debitRequests->findCollectedResult($debitRequest);
echo sprintf(
    'Solicitud de Debito %s pagada. Monto: $%s.%s',
    $paymentRequest->getId(),
    $collectedResult->getAmount(),
    PHP_EOL
);
```

### Cancelar

[](#cancelar)

[Documentación](https://developers.pagos360.com/endpoints/debito-automatico/debit-request/put-debit-request)

```
$originalDebitRequest = $sdk->debitRequests->get($debitRequestId);
$debitRequest = $sdk->debitRequests->cancel($originalDebitRequest);
```

Adhesion en CBU
---------------

[](#adhesion-en-cbu)

[Conceptos generales](https://developers.pagos360.com/endpoints/debito-automatico/adhesions/conceptos-generales)

### Crear

[](#crear-2)

[Documentación](https://developers.pagos360.com/endpoints/debito-automatico/adhesions/conceptos-generales)

```
$adhesion = new \Pagos360\Models\Adhesion();
$adhesion
    ->setAdhesionHolderName('Matias Pino')
    ->setExternalReference('8354')
    ->setCbuNumber('0000000000000000000000')
    ->setCbuHolderIdNumber(11111111)
    ->setCbuHolderName('Matias Pino')
    ->setEmail('pagos360@example.com')
    ->setDescription('Creada por SDK')
    ->setShortDescription('P360')
;

$adhesion = $sdk->adhesions->create($adhesion);
```

### Buscar por id

[](#buscar-por-id-2)

[Documentación](https://developers.pagos360.com/endpoints/debito-automatico/adhesions/get-adhesion-id)

```
$adhesion = $sdk->adhesions->get(25);
```

### Cancelar

[](#cancelar-1)

[Documentación](https://developers.pagos360.com/endpoints/debito-automatico/adhesions/put-adhesion)

```
$adhesion = $sdk->adhesions->get(25);
$adhesion = $sdk->adhesions->cancel($adhesion);
```

Solicitud de Débito en Tarjeta
------------------------------

[](#solicitud-de-débito-en-tarjeta)

### Crear

[](#crear-3)

[Documentación](https://developers.pagos360.com/endpoints/debito-automatico/debit-request/put-debit-request)

```
$cardAdhesion = $sdk->cardAdhesions->get(1488);

$cardDebitRequest = new \Pagos360\Models\CardDebitRequest();
$cardDebitRequest
    ->setCardAdhesion($cardAdhesion)
    ->setMonth(4)
    ->setYear(2021)
    ->setAmount(13.53)
;
$cardDebitRequest = $sdk->cardDebitRequests->create($cardDebitRequest);
```

### Buscar por id

[](#buscar-por-id-3)

[Documentación](https://developers.pagos360.com/endpoints/debito-automatico-tarjeta/card-debit-request/get_card-debit-request-id)

```
$cardDebitRequest = $sdk->cardDebitRequests->get(652641);
```

#### Resultados

[](#resultados-2)

### Cancelar

[](#cancelar-2)

[Documentación](https://developers.pagos360.com/endpoints/debito-automatico/debit-request/put-debit-request)

```
$cardDebitRequest = $sdk->cardDebitRequests->get(652641);
$cardDebitRequest = $sdk->cardDebitRequests->cancel($cardDebitRequest);
```

Adhesion en Tarjeta
-------------------

[](#adhesion-en-tarjeta)

### Crear

[](#crear-4)

[Documentación](https://developers.pagos360.com/endpoints/debito-automatico-tarjeta/card-adhesions/post_card-adhesion)

```
$cardAdhesion = new \Pagos360\Models\CardAdhesion();
$cardAdhesion
    ->setAdhesionHolderName('Matias Pino')
    ->setEmail('pagos360@example.com')
    ->setDescription('Creada por SDK')
    ->setExternalReference('210000013847')
    ->setCardNumber()
    ->setCardHolderName('Matias Pino')
;
$cardAdhesion = $sdk->cardAdhesions->create($cardAdhesion);
```

### Buscar por id

[](#buscar-por-id-4)

[Documentación](https://developers.pagos360.com/endpoints/debito-automatico-tarjeta/card-adhesions/get_card-adhesion)

```
$cardAdhesion = $sdk->cardAdhesions->get(1467);
```

### Cancelar

[](#cancelar-3)

[Documentación](https://developers.pagos360.com/endpoints/debito-automatico-tarjeta/card-adhesions/put_adhesion)

```
$cardAdhesion = $sdk->cardAdhesions->get(1467);
$sdk->cardAdhesions->cancel($ad);
```

Reporte de Cobranza
-------------------

[](#reporte-de-cobranza)

### Buscar por fecha

[](#buscar-por-fecha)

[Documentación](https://developers.pagos360.com/endpoints/reports/get_collection-report)

```
$collectionReport = $sdk->collectionReports->get(
    new DateTimeImmutable('2018-11-29')
);
```

#### Datos

[](#datos)

[Documentación](https://developers.pagos360.com/endpoints/reports/get_collection-report#data)

Los datos de un Reporte de Cobranza estan encapsulados en un objeto de tipo `\Doctrine\Common\Collections\ArrayCollection`, el cual contiene una colección de instancias del modelo `\Pagos360\Models\CollectionData`.

```
foreach ($collectionReport->getData() as $data) {
    /** @var \Pagos360\Models\CollectionData $data */
    $paymentDate = $data->getPaymentDate();
}
```

Reporte de Reversiones
----------------------

[](#reporte-de-reversiones)

### Buscar por fecha

[](#buscar-por-fecha-1)

[Documentación](https://developers.pagos360.com/endpoints/reports/get_chargeback-report)

```
$chargebackReport = $sdk->chargebackReports->get(
    new DateTimeImmutable('2018-11-29')
);
```

#### Datos

[](#datos-1)

Los datos de un Reporte de Cobranza estan encapsulados en un objeto de tipo `\Doctrine\Common\Collections\ArrayCollection`, el cual contiene una colección de instancias del modelo `\Pagos360\Models\ChargebackData`.

```
foreach ($chargebackReport->getData() as $data) {
   /** @var \Pagos360\Models\ChargebackData $data */
       $requestId = $data->getRequestId(),
   );
}
```

Reporte de Rendicion
--------------------

[](#reporte-de-rendicion)

### Buscar por fecha

[](#buscar-por-fecha-2)

[Documentación](https://developers.pagos360.com/endpoints/reports/get_settlement-report)

```
$settlementReport = $sdk->settlementReports->get(
    new DateTimeImmutable('2019-04-16')
);
```

#### Datos

[](#datos-2)

[Documentación](https://developers.pagos360.com/endpoints/reports/get_settlement-report#data)

Los datos de un Reporte de Cobranza estan encapsulados en un objeto de tipo `\Doctrine\Common\Collections\ArrayCollection`, el cual contiene una colección de instancias del modelo `\Pagos360\Models\SettlementData`.

```
foreach ($settlementReport->getData() as $data) {
   /** @var \Pagos360\Models\SettlementData $data */
       $requestId = $data->getRequestId(),
   );
}
```

Cuenta
------

[](#cuenta)

[Conceptos generales](https://developers.pagos360.com/endpoints/account/conceptos-generales)

### Obtener

[](#obtener)

[Documentación](https://developers.pagos360.com/endpoints/account/cuenta)

```
$account = $sdk->account->get();
```

Otros
=====

[](#otros)

Logs
----

[](#logs)

La clase SDK, RestClient, y los repositorios implementan la interfaz `LoggerAwareInterface` del [PSR-3](https://www.php-fig.org/psr/psr-3/).

```
$logger = new \Monolog\Logger('Pagos360 SDK');
$logger->pushHandler(new \Monolog\Handler\StreamHandler(STDOUT));

$sdk->setLogger($logger);
```

En caso de querer usar distintos loggers para las distintas partes, se puede especificar de la siguiente forma:

```
$restClientLogger = new \Monolog\Logger('Pagos360 RestClient');
$sdk->getRestClient()->setLogger($restClientLogger);

$paymentRequestLogger = new \Monolog\Logger('Pagos360 PaymentRequest');
$sdk->paymentRequests->setLogger($paymentRequestLogger);
```

Tambien existe el metodo `setLoggerAndPropagate` en el SDK que replica el logger al RestClient y todos los repositorios.

```
$logger = new \Monolog\Logger('Pagos360 SDK');
$logger->pushHandler(new \Monolog\Handler\StreamHandler(STDOUT));

$sdk->setLoggerAndPropagate($logger);
```

En estos ejemplos se usa la libreria `Monolog`, pero se puede usar cualquier libreria que implemente los metodos declarados en `LoggerInterface` de dicho PSR.

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~88 days

Recently: every ~155 days

Total

11

Last Release

1598d ago

Major Versions

v0.0.2 → v1.0.02020-04-14

### Community

Maintainers

![](https://www.gravatar.com/avatar/aec2385aa55426d48698df20184e523bda459160e89f0306147376120c736f67?d=identicon)[Pagos360.com](/maintainers/Pagos360.com)

---

Top Contributors

[![Pnoexz](https://avatars.githubusercontent.com/u/3297901?v=4)](https://github.com/Pnoexz "Pnoexz (7 commits)")[![NicolasHeinz](https://avatars.githubusercontent.com/u/58220001?v=4)](https://github.com/NicolasHeinz "NicolasHeinz (6 commits)")[![davidbosio](https://avatars.githubusercontent.com/u/44578937?v=4)](https://github.com/davidbosio "davidbosio (5 commits)")[![DiegoMax](https://avatars.githubusercontent.com/u/97486?v=4)](https://github.com/DiegoMax "DiegoMax (2 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Psalm

Code StylePHP\_CodeSniffer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/pagos360-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/pagos360-sdk/health.svg)](https://phpackages.com/packages/pagos360-sdk)
```

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[theodo-group/llphant

LLPhant is a library to help you build Generative AI applications.

1.5k311.5k5](/packages/theodo-group-llphant)[avalara/avataxclient

Client library for Avalara's AvaTax suite of business tax calculation and processing services. Uses the REST v2 API.

517.9M7](/packages/avalara-avataxclient)[alexacrm/dynamics-webapi-toolkit

Web API toolkit for Microsoft Dynamics 365 and Dynamics CRM

81324.1k1](/packages/alexacrm-dynamics-webapi-toolkit)[keboola/storage-api-client

Keboola Storage API PHP Client

10387.5k25](/packages/keboola-storage-api-client)[tamara-solution/php-sdk

Tamara PHP Client Library

10259.4k1](/packages/tamara-solution-php-sdk)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
