raiffeisen-ecom/payment-sdk 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

raiffeisen-ecom/payment-sdk

最新稳定版本:v1.1.55

Composer 安装命令:

composer require raiffeisen-ecom/payment-sdk

包简介

Ecommerce payment API SDK

README 文档

README

Build Status Latest Stable Version Total Downloads

SDK модуль для внедрения эквайринга Райффайзенбанка.

Установка и подключение

Установка с помощью composer:

$ composer require raiffeisen-ecom/payment-sdk

Документация

**Raiffeisenbank e-commerce API: https://pay.raif.ru/doc/ecom.html

Генерация авто-документации composer run docs.

Клиент API

Для использования SDK требуется секретный ключ $secretKey и идентификатор мерчанта $publicId, подробности в документации и на сайте банка.

<?php $secretKey = '***'; $publicId = '***'; $ecomClient = new \Raiffeisen\Ecom\Client($secretKey, $publicId); ?>

Параметры конструктора и свойства клиента:

  • $secretKey - секретный ключ, обязательный, доступ только на запись;
  • $publicId - идентификатор мерчанта, обязательный, доступ на чтение и запись;
  • $host - хост api, по умолчанию https://e-commerce.raiffeisen.ru, доступ на чтение и запись;
  • $options - дополнительные параметры запроса, доступ только на чтение.

Примеры

Пользователь совершает следующие действия в процессе платежа:

  • Выбирает товары/услуги в корзину магазина и нажимает кнопку “Оплатить”;
  • Партнер открывает платежную форму;
  • Клиент вводит реквизиты на платежной форме и подтверждает платеж.

Настройка URL для приема событий

Метод postCallbackUrl устанавливает адресс приема событий. В параметрах нужно указать:

  • $callbackUrl - невый URL.
<?php $callbackUrl = 'http://test.ru/'; /** @var \Raiffeisen\Ecom\Client $client */ $client->postCallbackUrl($callbackUrl); ?>

Платежная форма

Метод getPayUrl возвращает ссылку на платежную форму. В параметрах нужно указать:

  • $amount - сумма заказа;
  • $orderId - идентификатор заказа;
  • $query - дополнительные параметры запроса.
<?php $amount = 10; $orderId = 'testOrder'; $query = [ 'successUrl' => 'http://test.ru/', ]; /** @var \Raiffeisen\Ecom\Client $client */ $link = $client->getPayUrl($amount, $orderId, $query); echo $link; ?>

Вывод:

https://e-commerce.raiffeisen.ru/pay/?publicId=***&amount=10&orderId=testOrder&successUrl=http%3A%2F%2Ftest.ru%2F 

Получение информации о статусе транзакции

Метод getOrderTransaction возвращает информацию о статусе транзакции. В параметрах нужно указать:

  • $orderId - идентификатор заказа.
<?php $orderId = 'testOrder'; /** @var \Raiffeisen\Ecom\Client $client */ $response = $client->getOrderTransaction($orderId); print_r($response); ?>

Вывод:

Array ( [code] => SUCCESS [transaction] => Array ( [id] => 120059 [orderId] => testOrder [status] => Array ( [value] => SUCCESS [date] => 2019-07-11T17:45:13+03:00 ) [paymentMethod] => acquiring [paymentParams] => Array ( [rrn] => 935014591810 [authCode] => 25984 ) [amount] => 12500.5 [comment] => Покупка шоколадного торта [extra] => Array ( [additionalInfo] => Sweet Cake ) ) ) 

Оформление возврата по платежу

Метод postOrderRefund создает возврат по заказу. В параметрах нужно указать:

  • $orderId - идентификатор заказа;
  • $refundId - идентификатор заказа;
  • $amount - сумма возврата.
<?php $orderId = 'testOrder'; $refundId = 'testRefund'; $amount = 150; /** @var \Raiffeisen\Ecom\Client $client */ $response = $client->postOrderRefund($orderId, $refundId, $amount); print_r($response); ?>

Вывод:

Array ( [code] => SUCCESS [amount] => 150 [refundStatus] => IN_PROGRESS ) 

Статус возврата

Метод getOrderRefund возвращает статус возврата. В параметрах нужно указать:

  • $orderId - идентификатор заказа;
  • $refundId - идентификатор заказа.
<?php $orderId = 'testOrder'; $refundId = 'testRefund'; /** @var \Raiffeisen\Ecom\Client $client */ $response = $client->getOrderRefund($orderId, $refundId); print_r($response); ?>

Вывод:

Array ( [code] => SUCCESS [amount] => 150 [refundStatus] => COMPLETED ) 

Получение информации о заказе

Метод getOrder возвращает данные о заказе. В параметрах нужно указать:

  • $orderId - идентификатор заказа.
<?php $orderId = 'testOrder'; /** @var \Raiffeisen\Ecom\Client $client */ $response = $client->getOrder($orderId); print_r($response); ?>

Вывод:

Array ( [amount] => 12500.5 [comment] => Покупка шоколадного торт [extra] => Array ( [additionalInfo] => sweet cake ) [status] => Array ( [value] => NEW [date] => 2019-08-24T14:15:22+03:00 ) [expirationDate] => 2019-08-24T14:15:22+03:00 ) 

Отмена выставленного заказа

Метод deleteOrder удаляет заказ, если он не был оплачен. В параметрах нужно указать:

  • $orderId - идентификатор заказа.
<?php $orderId = 'testOrder'; /** @var \Raiffeisen\Ecom\Client $client */ $client->deleteOrder($orderId); ?>

Получение списка чеков

Метод getOrderReceipts возвращает список чеков. В параметрах нужно указать:

  • $orderId - идентификатор заказа.
  • $receiptType - необязательное, тип чека:
    • sell – чек прихода;
    • refund – чек возврата.
<?php $orderId = 'testOrder'; /** @var \Raiffeisen\Ecom\Client $client */ $response = $client->getOrderReceipts($orderId); print_r($response); ?>

Вывод:

Array ( [0] => Array ( [receiptNumber] => 3000827351831 [receiptType] => REFUND [status] => DONE [orderNumber] => testOrder [total] => 1200 [customer] => Array ( [email] => customer@test.ru [name] => Иванов Иван Иванович ) [items] => Array ( [0] => Array ( [name] => Шоколадный торт [price] => 1200 [quantity] => 1 [amount] => 1200 [paymentObject] => COMMODITY [paymentMode] => FULL_PREPAYMENT [measurementUnit] => шт [nomenclatureCode] => 00 00 00 01 00 21 FA 41 00 23 05 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 00 AB 00 [vatType] => VAT20 [agentType] => ANOTHER [supplierInfo] => Array ( [phone] => +79991234567 [name] => ООО «Ромашка» [inn] => 1234567890 ) ) ) ) ) 

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

Метод getOrderRefundReceipt возвращает чек возврата. В параметрах нужно указать:

  • $orderId - идентификатор заказа;
  • $refundId - идентификатор возврата.
<?php $orderId = 'testOrder'; $refundId = 'testRefund'; /** @var \Raiffeisen\Ecom\Client $client */ $response = $client->getOrderRefundReceipt($orderId, $refundId); print_r($response); ?>

Вывод:

Array ( [receiptNumber] => 3000827351831 [receiptType] => REFUND [status] => DONE [orderNumber] => testOrder [total] => 1200 [customer] => Array ( [email] => customer@test.ru [name] => Иванов Иван Иванович ) [items] => Array ( [0] => Array ( [name] => Шоколадный торт [price] => 1200 [quantity] => 1 [amount] => 1200 [paymentObject] => COMMODITY [paymentMode] => FULL_PREPAYMENT [measurementUnit] => шт [nomenclatureCode] => 00 00 00 01 00 21 FA 41 00 23 05 41 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 00 AB 00 [vatType] => VAT20 [agentType] => ANOTHER [supplierInfo] => Array ( [phone] => +79991234567 [name] => ООО «Ромашка» [inn] => 1234567890 ) ) ) ) 

Уведомление о платеже

Метод checkEventSignature проверяет подпись уведомления о платеже. В параметрах нужно указать:

  • $signature - содержимое заголовка x-api-signature-sha256;
  • $eventBody - разобранный JSON из тела запроса.
<?php $signature = '***'; $eventBody = [ 'event' => 'payment', 'transaction' => [ 'id' => 120059, 'orderId' => 'testOrder', 'status' => [ "value" => 'SUCCESS', "date" => '2019-07-11T17:45:13+03:00', ], 'paymentMethod' => 'acquiring', 'paymentParams' => [ 'rrn' => 935014591810, 'authCode' => 25984, ], 'amount' => 12500.5, 'comment' => 'Покупка шоколадного торта', 'extra' => [ 'additionalInfo': 'Sweet Cake', ], ], ]; /** @var \Raiffeisen\Ecom\Client $client */ $client->checkEventSignature($signature, $eventBody); // true or false ?>

Требования

  • PHP v5.6.0 или выше
  • расширение PHP json
  • расширение PHP curl

Лицензия

MIT

统计信息

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

GitHub 信息

  • Stars: 2
  • Watchers: 3
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固