Редакція від OneB
- php >=7.4
https://www.liqpay.ua/documentation/en
composer require oneb-pub/liqpay-php-sdk
$client = new \LiqPay\Client('<YOUR_PUBLIC_KEY>','<YOUR_PRIVATE_KEY>');
$url = $client->createPaymentLink()
->setAmount(100.12)
->setCurrency('USD')
->setDescription('Оплата рахунку №1251-2')
->setLanguage('uk')
->setReferenceId('12345_lkm347sd') //Ваш унікальний ідентифікатор даного платежу
->setReturnUrl('https://oneb.app')
->setWebhookUrl('https://example.com/liqpay-webhook') // Викликаєте, якщо хочете отримати веб-хук із даними про платіж
->setExpirationDate(\Carbon\Carbon::now()->addHours(12))
->createToken() // Викликаєте, якщо потрібно токенізувати картку
->generate();
print_r(PHP_EOL.$url.PHP_EOL);
$client = new \LiqPay\Client('<YOUR_PUBLIC_KEY>','<YOUR_PRIVATE_KEY>');
$charge = $client->createPaymentByToken()
->setCardToken('sandbox_token')
->setAmount(100.12)
->setCurrency('USD')
->setDescription('Оплата рахунку №1251-2')
->setLanguage('uk')
->setReferenceId('12345_lkm347sd') //Ваш унікальний ідентифікатор даного платежу
->setWebhookUrl('https://example.com/liqpay-webhook');
$result = $charge->prepare()->charge(); // Підготовка платежу - необовʼязковий крок
if(in_array($result['status'],['error','failure'])){
$errorDescription = $client->tryDescribeError($result['err_code'])??$result['err_description']??'Невідома помилка';
print "Помилка підготовки платежу: {$errorDescription}";
exit(1);
}
$result = $charge->prepare(false)->charge();
print_r(PHP_EOL.$result.PHP_EOL);
$client = new \LiqPay\Client('<YOUR_PUBLIC_KEY>','<YOUR_PRIVATE_KEY>');
$paymentInfo = $client->getPaymentStatus('12345_823gf3');
print_r(PHP_EOL.$paymentInfo.PHP_EOL);
API LiqPay містить також і інші фукнції та можливості, тут було релізовано те, що потребувалось. Можливе розширення бібліотеки за потреби, або за допомогою ваших pull-реквестів