PZMPay online acquiring support for Omnipay
- Payment creation
- Payment information
- Incoming notifications
- Payment cancellation
- Project balance
- Fiscalization under Federal Law 54
- Testing mode
- Error codes
composer require league/omnipay receiver1/omnipay-pzmpay
// Create a new payment gateway
$gateway = Omnipay::create('PZMPay');
// Set the secret code
$gateway->setSecretCode('secretCode');
// Create a new payment for 10 rubles 00 kopecks
$purchaseResponse = $gateway->purchase([
'amount' => 10,
'currency' => 'RUB',
'description' => 'Balance top-up 1337 Cheats',
])->send();
if (!$purchaseResponse->isSuccessful()) {
throw new Exception($response->getMessage());
}
// Get the payment identifier in PZMPay
$invoiceId = $purchaseResponse->getTransactionId();
// Get the link to the PZMPay payment form
$redirectUrl = $purchaseResponse->getRedirectUrl();
$notification = $gateway->acceptNotification($data);
if ($notification->getTransactionStatus() === NotificationInterface::STATUS_COMPLETED) {
/** @var TransactionModel $incomingTransaction */
$incomingTransaction = $notification->getTransactionReference();
$transactionResponse = $gateway->fetchTransaction([
'transactionId' => $incomingTransaction->getId(),
])->send();
/** @var TransactionModel $trustedTransaction */
$trustedTransaction = $transactionResponse->getTransactionReference();
print ($trustedTransaction->getAmount());
}