承接 gamsh/php-tinkoff-payment 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

gamsh/php-tinkoff-payment

最新稳定版本:2.1.3

Composer 安装命令:

composer require gamsh/php-tinkoff-payment

包简介

Tinkoff payment client for PHP 8.3+

README 文档

README

Клиент для проведения платежей API Тинькофф Платежи.

Установка

composer require gamsh/php-tinkoff-payment

Реализованные API

Платежи

Автоплатежи

Примеры

Создание клиента

/** @var PaymentClientInterface $paymentClient */
$paymentClient = PaymentClient::create('<terminal_key>', '<password>');

Создание платежа

API создания платежа

Полный пример

$payment = newPayment()
    ->amount(1000)
    ->orderId('1234')
    ->oneStep()
->build();

/** @var NewPaymentResultInterface $result */
$result = $paymentClient->init($payment);

if ($result->isSuccess()) {
    print 'PaymentId: ' . $result->getPaymentId() . "\n";
    print 'PaymentURL: ' . $result->getPaymentURL() . "\n";
} else {
    print 'Error: ' . $result->getMessage() . "\n";
}

Создание платежа с чеком

Полный пример

$payment = newPayment()
    ->orderId('33101')
    ->oneStep()
    ->receipt(newReceipt()
        ->email('fake@fake.org')
        ->taxationOSN()
        ->addItem(newReceiptItem()
            ->name('Кружка')
            ->price(1000)
            ->quantity(1)
            ->taxNone()
            ->build())
        ->build())
    ->build();

/** @var NewPaymentResultInterface $result */
$result = $paymentClient->init($payment);

if ($result->isSuccess()) {
    print 'PaymentId: ' . $result->getPaymentId() . "\n";
    print 'PaymentURL: ' . $result->getPaymentURL() . "\n";
} else {
    print 'Error: ' . $result->getMessage() . "\n";
}

Отмена платежа

API отмена платежа

Полный пример

/** @var CancelResultInterface $result */
$result = $paymentClient->cancel(1647427416);

if ($result->isSuccess()) {
    print 'PaymentId: ' . $result->getPaymentId() . ' [' . $result->getStatus() . "]\n";
} else {
    print 'Error: ' . $result->getMessage() . "\n";
}

Получение текущего статуса платежа

API получение текущего статуса платежа

Полный пример

/** @var GetStateResultInterface $result */
$result = $paymentClient->getState(1645861116);

if ($result->isSuccess()) {
    print 'PaymentId: ' . $result->getPaymentId() . ' [' . $result->getStatus() . "]\n";
} else {
    print 'Error: ' . $result->getMessage() . "\n";
}

Получение статуса заказа

API получение статуса заказа

Полный пример

/** @var CheckOrderResultInterface $result */
$result = $paymentClient->checkOrder('34532135669');

if ($result->isSuccess()) {
    print 'OrderID: ' . $result->getOrderId() . "\n";
    print '-----' . "\n";
    foreach ($result->getPayments() as $payment) {
        print 'PaymentID: ' . $payment->getPaymentId() . "\n";
        print 'Status: ' . $payment->getStatus() . "\n";
        print 'Success: ' . $payment->getSuccess() . "\n";
        print 'RRN: ' . $payment->getRRN() . "\n";
        print '=====' . "\n";
    }
} else {
    print 'Error: ' . $result->getMessage() . "\n";
}

Повторить неуспешные нотификации

API повторной отправки неуспешных нотификаций

Полный пример

/** @var ResendResultInterface $result */
$result = $paymentClient->resendNotifications();

if ($result->isSuccess()) {
    print 'Count: ' . $result->getCount() . "\n";
} else {
    print 'Error: ' . $result->getMessage() . "\n";
}

Автоплатежи

Родительский платеж

Вызовите метод Init с параметрами Recurrent и CustomerKey Переадресуйте покупателя на страницу оплаты и дождитесь совершения платежа В нотификации AUTHORIZED или CONFIRMED получите и сохраните идентификатор RebillID

API проведения автоплатежа

$charge = new Charge();
$charge->setPaymentId(10942);
$charge->setRebillId(4567);
$result = $paymentClient->charge($charge);

if ($result->isSuccess()) {
    // Успех
} else {
    // Ошибка
}

Запуск тестов

composer test

统计信息

  • 总下载量: 240
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-10-22