Skip to content

Commit 3b0623a

Browse files
author
Evgeniy Zubkov
committed
YP-317_v4 example SBP
1 parent a7a4b20 commit 3b0623a

File tree

1 file changed

+75
-0
lines changed

1 file changed

+75
-0
lines changed

src/Examples/payoutSbpCreate.php

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
use Ypmn\Amount;
6+
use Ypmn\ApiRequest;
7+
use Ypmn\Billing;
8+
use Ypmn\Payout;
9+
use Ypmn\PayoutMobileDestination;
10+
use Ypmn\PayoutSource;
11+
12+
// Подключим файл, в котором заданы параметры мерчанта
13+
include_once 'start.php';
14+
15+
/**
16+
* Это файл с примером для создания выплат по номеру телефона через СБП физ. лицам
17+
**/
18+
19+
// Созданим выплату
20+
$payout = new Payout();
21+
22+
// Назначим ей уникальный номер выплаты
23+
// (повторно этот номер использовать нельзя,
24+
// даже если выплата неудачная
25+
$payout->setMerchantPayoutReference(
26+
'payout__'
27+
. str_replace('.', '', uniqid('' . time(), true))
28+
);
29+
30+
// Назначим сумму (здесь пример передачи данных из формы + стандартное значение)
31+
$payout->setAmount(
32+
new Amount((float) @$_POST['summ'] ?: 150.00, 'RUB')
33+
);
34+
35+
// Назначим Описание
36+
$payout->setDescription(@$_POST['description'] ?: 'Тестовое Описание Платежа');
37+
38+
// Опишем и назначим Направление и Получателя платежа
39+
$destination = (new PayoutMobileDestination())
40+
->setPhoneNumber(@$_POST['ph-number'] ?: "79001112233") // Назначим номер телефона (здесь пример передачи данных из формы + стандартное значение)
41+
->setBankInformation((int)$_POST['bank'], $_POST['bankName']); // Установим id/имя банка из списка НСПК
42+
// Имя получателя из GET-запроса
43+
$postRecipientName = explode(' ', @$_POST['reciever-name'] ?: '');
44+
45+
// Опишем получателя
46+
$recipient = (new Billing())
47+
->setEmail('[email protected]') // E-mail получателя
48+
->setCity('Москва') // Город получателя
49+
->setAddressLine1('Арбат, 10') // Адрес получателя
50+
->setZipCode('121000') // Почтовый индекс получателя
51+
->setCountryCode('RU') // Код страны получателя (2 буквы, на английском)
52+
->setFirstName(@$postRecipientName[0] ?: 'Иван') // Установим Имя получателя для платежа (здесь пример передачи данных из формы + стандартное значение)
53+
->setLastName(@$postRecipientName[1] ?: @$postRecipientName[0] ?: 'Иванович'); // Фамилия получателя (здесь пример передачи данных из формы + стандартное значение)
54+
55+
$destination->setRecipient($recipient);
56+
$payout->setDestination($destination);
57+
58+
// Опишем и назначим Источник платежа
59+
$source = new PayoutSource();
60+
// Опишем отправителя
61+
$sender = (new Billing())
62+
->setFirstName('Василий') // Имя отправителя
63+
->setLastName('Петрович') // Фамилия отправителя
64+
->setPhone('0764111111') // Телефон отправителя
65+
->setEmail('[email protected]'); // Email отправителя
66+
$source->setSender($sender);
67+
$payout->setSource($source);
68+
69+
// Создадим HTTP-запрос к API
70+
$apiRequest = (new ApiRequest($merchant))
71+
->setDebugMode() // (Опционально) Включить режим отладки (закомментируйте или удалите в рабочей программе!)
72+
->setSandboxMode(); // (Опционально) Переключиться на тестовый сервер (закомментируйте или удалите в рабочей программе!)
73+
74+
// Отправим запрос
75+
$responseData = $apiRequest->sendPayoutCreateRequest($payout);

0 commit comments

Comments
 (0)