PHP code example of omnipay / ym

1. Go to this page and download the library: Download omnipay/ym library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

omnipay / ym example snippets


$gateway = Omnipay::create('YM_External');

$gateway->setInstanceId($instanceId);

$instanceId = $gateway->obtainInstanceId($clientId);

// сохранить где-нибудь для последующего использования

$response = $gateway->requestPayment(array(
    'walletId' => '12345678910', // ID кошелька, на который поступят средства
    'amount' => 256.0, // Сумма в рублях
    'description' => 'Оплата услуг',
    
))->send();

if ( ! $response->isSuccessful())
{
    // Произошла ошибка
}

// Получаем идентификатор транзакции, его нужно где-нибудь сохранить, т.к. он нам понадобится
$transaction = $response->getTransactionReference();

$response = $gateway->processPayment(array(
    'transactionReference' => $transaction,
    'returnUrl' => 'http://example.com/success',
    'cancelUrl' => 'http://example.com/fail',
    
)->send();

if ($response->isRedirect()) $response->redirect();

// Произошла ошибка

$response = $gateway->processPayment(array(
    'transactionReference' => $transaction,
    'returnUrl' => '...',
    'cancelUrl' => '...',
    
)->send();

if ($response->isSuccessful())
{
    // Платеж совершен!
}
elseif ($response->isPaymentRefused())
{
    // Платеж отклонен!
}
else
{
    // Произошла ошибка при запросе
}

$response = $gateway->createCard(array(
    'transactionReference' => $transaction,
    'returnUrl' => '...',
    'cancelUrl' => '...',
    
))->send();

if ($cardRef = $response->getCardReference())
{
    // Токен карты успешно получен, нужно его сохранить куда-нибудь
    
    // Другие данные:
    $response->getCardType(); // VISA, MasterCard
    $response->getCardNumber(); // Маскированный номер карты
}

$response = $gateway->processPayment(array(
    'transactionReference' => $transaction,
    'returnUrl' => '...',
    'cancelUrl' => '...',
    'cardReference' => $cardRef,
    'cvv' => $cvv,
    
))->send();

if ($response->isSuccessful())
{
    // Платеж прошел!
}
elseif ($response->isRedirect())
{
    // Дополнительная авторизация
    $response->redirect();
}
else
{
    // Произошла ошибка
}