PHP Antilopay driver for Omnipay

Receiver

leet-cheats 👑
Автор темы
Проверенный
620
889
Описание: Платёжный шлюз «Antilopay» для библиотеки обработки платежей «Omnipay»
Установка:
Bash:
composer require league/omnipay receiver/omnipay-antilopay
Использование:
PHP:
// Create a new payment gateway
$gateway = Omnipay::create('Antilopay');

// Set the secret code
$gateway->setProjectId('PROJECT ID');
$gateway->setSecretId('SECRET ID');
// Antilopay uses RSA keys, so you need to make PEM inserts so that OpenSSL can distinguish it. It will be more efficient to load the key from a file.
$gateway->setSecretKey("-----BEGIN RSA PRIVATE KEY-----\nSECRET KEY\n-----END RSA PRIVATE KEY-----");
$gateway->setCallbackKey("-----BEGIN PUBLIC KEY-----\nCALLBACK KEY\n-----END PUBLIC KEY-----");
PHP:
// Create a new payment for 100 rubles 00 kopecks
$purchaseRequest = $gateway->purchase([
  'amount' => 100,
  'orderId' => '1',
  'product_name' => 'Balance top-up',
  'product_type' => 'goods',
  'product_quantity' => 100,
  'vat' => 10,
  'description' => 'Balance top-up 1337 Cheats',
  'returnUrl' => 'https://leet-cheats.ru/payment/success',  // success_url
  'cancelUrl' => 'https://leet-cheats.ru/payment/fail',     // fail_url
  'customer' => new CustomerReference(
    email: 'customer-email@example.com', 
    phone: '1234567890', 
    address: '123 Customer Street', 
    ip: '192.168.0.1', 
    fullname: 'Customerov Customer Customerovich'
  ),
  'prefer_methods' => ['SBP', 'SBER_PAY', 'CARD_RU'],
]);
// alternative way to set data
$purchaseRequest->setAmount(100);
$purchaseRequest->setOrderId('1');
$purchaseRequest->setProductName('Balance top-up');
$purchaseRequest->setProductType('goods');
$purchaseRequest->setProductQuantity(100);
$purchaseRequest->setVat(10);
$purchaseRequest->setDescription('Balance top-up 1337 Cheats');
$purchaseRequest->setReturnUrl('https://leet-cheats.ru/payment/success');
$purchaseRequest->setCancelUrl('https://leet-cheats.ru/payment/fail');
$purchaseRequest->setCustomer(new CustomerReference(
  email: 'customer-email@example.com', 
  phone: '1234567890', 
  address: '123 Customer Street', 
  ip: '192.168.0.1', 
  fullname: 'Customerov Customer Customerovich'
));
$purchaseRequest->setPreferMethods(['SBP', 'SBER_PAY', 'CARD_RU']);

$purchaseResponse = $purchaseRequest->send();
if (!$purchaseResponse->isSuccessful()) {
  throw new Error($response->getMessage(), $response->getCode());
}

// Get the payment identifier in Antilopay
$invoiceId = $purchaseResponse->getTransactionId();
// Get the link to the Antilopay payment form
$redirectUrl = $purchaseResponse->getRedirectUrl();
PHP:
$notification = $gateway->acceptNotification($data);
if (
  $notification->isValid() && 
  $notification->getTransactionStatus() 
    === NotificationInterface::STATUS_COMPLETED
) {
  /** @var TransactionReference $transaction */
  $transaction = $notification->getTransactionReference();
  var_dump([
    $transaction->getOrderId(),
    $transaction->getAmount(),
    $transaction->getOriginalAmount(),
    $transaction->getFee(),
    $transaction->getCurrency(),
    $transaction->getProductName(),
    $transaction->getDescription(),
    $transaction->getPayMethod(),
    $transaction->getPayData(),
    $transaction->getCustomerIp(),
    $transaction->getCustomerUserAgent(),
  ]);

  $customer = $transaction->getCustomer();
  var_dump([
    $customer->getEmail(),
    $customer->getPhone(),
    $customer->getAddress(),
    $customer->getIp(),
    $customer->getFullname(),
  ]);
}
Исходный код: Пакет composer: https://packagist.org/packages/receiver/omnipay-antilopay
 

unioncms

Новичок
2
0
У тебя есть альтернативное решение?
К примеру начать использовать проверки сетапов, не используешь обработки ошибок, не проверяешь валидность openssl_sign, возвращаешь и используешь статичные заголовки (плохая практика), говно-код. Кэшируй CustomerReference? Нет, давай вызывать его постоянно таким образом убивать оптимизацию.

Ты выбрал:
Работать с чистым и оптимизированным кодом < быть говно-кодером.
 

Receiver

leet-cheats 👑
Автор темы
Проверенный
620
889
К примеру начать использовать проверки сетапов, не используешь обработки ошибок, не проверяешь валидность openssl_sign, возвращаешь и используешь статичные заголовки (плохая практика), говно-код. Кэшируй CustomerReference? Нет, давай вызывать его постоянно таким образом убивать оптимизацию.

Ты выбрал:
Работать с чистым и оптимизированным кодом < быть говно-кодером.
По-моему ты вообще не понимаешь что это за вещь и для чего она нужна, либо говоришь на непонятном языке. Какие ещё статичные заголовки? Что мне написали в документации интернет-кассы, то и использую. Кэшировать CustomerReference? Если ты про new, то это занимает малую долю миллисекунды. Проверять валидность openssl_sign? Чего блядь? Эта функция возвращает либо true, либо false.
 
  • Нравится
Реакции: angelsoempty