placetopay / mpi
A SDK to connect with PlacetoPay 3DS MPI
Installs: 9 333
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 3
Open Issues: 1
pkg:composer/placetopay/mpi
Requires
- php: >=7.4.0
- ext-json: *
- guzzlehttp/guzzle: >=7.4.5
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- phpunit/phpunit: ^9.5
- symfony/var-dumper: ^4.1
This package is auto-updated.
Last update: 2025-10-20 01:34:09 UTC
README
Installation
This SDK can be installed easily through composer
composer require placetopay/mpi
Usage
Instantiate the object with the service, you can send 3ds version, default value is V1
$mpi = new \PlacetoPay\MPI\MPIService([
    'url' => 'THE_MPI_URL',
    'apiKey' => 'THE_API_KEY_HERE'
     // --- OPTIONAL ---
    '3dsVersion' => 'V2' 
]);
Lookup the card on the directories
$response = $mpi->lookUp([
    'card' => [
        'number' => '5476328554652171',
        'expirationYear' => '20',
        'expirationMonth' => '12',
    ],
    'amount' => 12000,
    'currency' => 'COP',
    'redirectUrl' => 'https://dnetix.co/ping/3ds',
    // --- OPTIONAL --- 
    // Only 3dsVersion V2
    'threeDSAuthenticationInd' => '',
    'recurringFrequency' => '',
    'recurringExpiry' => '',
    'recurringFrequency' => '',
    'purchaseInstalData' => '',
]);
Optional Parameters
| Field | Description | Format | Require | 
|---|---|---|---|
| threeDSAuthenticationInd | type of authentication request. | String(02): - 01: Paymen transaction - 02: Recurring transaction -03: Installment transaction | Optional, default is 01 | 
| recurringFrequency | the minimum number of days between authorizations. | String (max 32) | if threeDSAuthenticationInd is '02' o '03' | 
| recurringExpiry | Date after which no further authorizations will be made | String(8) / Format YYYYMMDD | if threeDSAuthenticationInd is '02' o '03' | 
| recurringFrequency | Minimum number of days between authorizations. | String(max 32) | if threeDSAuthenticationInd is '02' o '03' | 
| purchaseInstalData | Maximum number of authorizations allowed for installment payments. | String(max 8) major than 1 | if threeDSAuthenticationInd is '03' | 
Query validation status
$response = $mpi->query(12345678);
Update transaction status
$response = $mpi->update(12345678, new \PlacetoPay\MPI\Messages\UpdateTransactionRequest([
    'provider' => 'PlacetoPay',
    'processor' => 'CREDIBANCO',
    'authorization' => '909823',
    'iso' => '00'
]));