Skip to Content
docs

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()Проверка подписи обратного вызова

Ссылки