PHP SDK
Современный PHP SDK для интеграции платёжного шлюза Epoint.az в ваше приложение. Поддерживает все способы оплаты, токенизацию карт, разделённые платежи, предавторизацию, Apple Pay, Google Pay, кошельки и счета.
Возможности
- Стандартные платежи, перенаправление на оплату
- Регистрация карт и оплата сохранёнными картами
- Разделённые платежи между продавцами
- Предавторизация (блокировка и списание)
- Возвраты и отмены
- Apple Pay и Google Pay через токен-виджет
- Оплата через кошельки
- Управление счетами
- Проверка подписи для обратных вызовов
- Типобезопасность с перечислениями PHP 8.2+
Требования
- PHP 8.2 или выше
- ext-json, ext-curl
Установка
cURL
1composer require rafoabbas/epoint-phpБыстрый старт
Инициализация клиента
PHP
1use Epoint\EpointClient;2
3$client = new EpointClient(4 publicKey: 'i000000001',5 privateKey: 'your-private-key'6);Создание платежа
PHP
1use Epoint\Enums\Language;2
3$response = $client->payment()4 ->amount(100.50)5 ->orderId('ORDER-12345')6 ->description('Product purchase')7 ->language(Language::EN)8 ->successUrl('https://yoursite.com/payment/success')9 ->errorUrl('https://yoursite.com/payment/error')10 ->send();11
12if ($response->isSuccess()) {13 header('Location: ' . $response->getRedirectUrl());14}Обработка обратного вызова
PHP
1$data = $_POST['data'];2$signature = $_POST['signature'];3
4try {5 $callbackData = $client->verifyCallback($data, $signature);6
7 if ($callbackData['status'] === 'success') {8 $orderId = $callbackData['order_id'];9 $transaction = $callbackData['transaction'];10 // Обновите вашу базу данных11 }12} catch (\Epoint\Exceptions\SignatureVerificationException $e) {13 http_response_code(400);14}Проверка статуса платежа
PHP
1$status = $client->checkStatus()2 ->transaction('te001234567')3 ->get();4
5if ($status->getPaymentStatus() === \Epoint\Enums\PaymentStatus::SUCCESS) {6 echo 'Платёж успешен!';7}Регистрация карты
PHP
1$response = $client->registerCard()2 ->description('Save card for future purchases')3 ->successUrl('https://yoursite.com/cards/success')4 ->errorUrl('https://yoursite.com/cards/error')5 ->send();Оплата сохранённой картой
PHP
1$response = $client->savedCardPayment()2 ->cardId('saved-card-id')3 ->amount(25.00)4 ->orderId('ORDER-002')5 ->description('Subscription renewal')6 ->execute();Разделённый платёж
PHP
1$response = $client->splitPayment()2 ->amount(100.00)3 ->orderId('ORDER-003')4 ->splitUser('i000000002')5 ->splitAmount(30.00)6 ->description('Marketplace order')7 ->send();Предавторизация
PHP
1// Шаг 1: Блокировка средств2$response = $client->preauth()3 ->amount(100.00)4 ->orderId('ORDER-004')5 ->description('Hotel reservation')6 ->send();7
8// Шаг 2: Списание средств9$completeResponse = $client->preauth()10 ->complete($response->getTransaction(), 85.00);Возврат и отмена
PHP
1// Возврат на зарегистрированную карту2$response = $client->refund()3 ->cardId('card-id')4 ->orderId('order-id')5 ->amount(50.00)6 ->send();7
8// Отмена транзакции9$response = $client->reverse()10 ->transaction('te001234567')11 ->amount(100.00)12 ->send();Apple Pay / Google Pay
PHP
1$widget = $client->widget()2 ->amount(75.00)3 ->orderId('ORDER-005')4 ->description('Digital wallet payment')5 ->create();6
7echo '<iframe src="' . $widget->getWidgetUrl() . '"></iframe>';Счета
PHP
1$invoice = $client->invoice()->create([2 'sum' => 150.00,3 'display' => 1,4 'save_as_template' => 0,5 'name' => 'John Doe',6 'description' => 'Invoice for services',7 'period_from' => '2024-01-01',8 'period_to' => '2024-12-31',9]);10
11$client->invoice()->sendSms($invoice['id'], '+994501234567');12$client->invoice()->sendEmail($invoice['id'], '[email protected]');Справочник API
| Метод | Описание |
|---|---|
payment() | Создание стандартного платежа |
checkStatus() | Проверка статуса платежа |
registerCard() | Регистрация карты без оплаты |
registerCardWithPay() | Регистрация карты с оплатой |
savedCardPayment() | Оплата сохранённой картой |
refund() | Возврат средств |
reverse() | Отмена транзакции |
splitPayment() | Разделённый платёж |
splitCardPayment() | Разделённый платёж сохранённой картой |
preauth() | Предавторизация |
widget() | Виджет Apple Pay / Google Pay |
wallet() | Операции с кошельками |
invoice() | Управление счетами |
heartbeat() | Проверка работоспособности API |
verifyCallback() | Проверка подписи обратного вызова |