forked from payuru/php-payu4
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpayoutCreate.php
81 lines (70 loc) · 3.64 KB
/
payoutCreate.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
<?php declare(strict_types=1);
use Ypmn\Amount;
use Ypmn\ApiRequest;
use Ypmn\Billing;
use Ypmn\Payout;
use Ypmn\PayoutDestination;
use Ypmn\PayoutSource;
// Подключим файл, в котором заданы параметры мерчанта
include_once 'start.php';
/**
* Это файл с примером для создания выплат на карту физ. лицам
**/
// Созданим выплату
$payout = new Payout();
// Назначим ей уникальный номер выплаты
// (повторно этот номер использовать нельзя,
// даже если выплата неудачная
$payout->setMerchantPayoutReference('payout__' . time());
// Назначим сумму (здесь пример передачи данных из формы + стандартное значение)
$payout->setAmount(
new Amount((float) @$_POST['summ'] ?: 150.00, 'RUB')
);
// Назначим Описание
$payout->setDescription(@$_POST['description'] ?: 'Тестовое Описание Платежа');
// Опишем и назначим Направление и Получателя платежа
$destination = new PayoutDestination();
// Назначим номер карты (здесь пример передачи данных из формы + стандартное значение)
$destination->setCardNumber(@$_POST['cc-number'] ?: "4149605380309302");
// Опишем получателя
$recipient = new Billing();
// E-mail получателя
$recipient->setEmail('[email protected]');
// Город получателя
$recipient->setCity('Москва');
// Адрес получателя
$recipient->setAddressLine1('Арбат, 10');
// Почтовый индекс получателя
$recipient->setZipCode('121000');
// Код страны получателя (2 буквы, на английском)
$recipient->setCountryCode('RU');
// Имя получателя из GET-запроса
$postRecipientName = explode(' ', @$_POST['reciever-name'] ?: '');
// Установим Имя получателя для платежа (здесь пример передачи данных из формы + стандартное значение)
$recipient->setFirstName(@$postRecipientName[0] ?: 'Иван');
// Фамилия получателя (здесь пример передачи данных из формы + стандартное значение)
$recipient->setLastName(@$postRecipientName[1] ?: @$postRecipientName[0] ?: 'Иванович');
$destination->setRecipient($recipient);
$payout->setDestination($destination);
// Опишем и назначим Источник платежа
$source = new PayoutSource();
// Опишем отправителя
$sender = new Billing();
// Имя отправителя
$sender->setFirstName('Василий');
// Фамилия отправителя
$sender->setLastName('Петрович');
// Телефон отправителя
$sender->setPhone('0764111111');
// Email отправителя
$sender->setEmail('[email protected]');;
$source->setSender($sender);
$payout->setSource($source);
// Создадим HTTP-запрос к API
$apiRequest = new ApiRequest($merchant);
// Включить режим отладки (закомментируйте или удалите в рабочей программе!)
$apiRequest->setDebugMode();
// Переключиться на тестовый сервер (закомментируйте или удалите в рабочей программе!)
$apiRequest->setSandboxMode();
// Отправим запрос
$responseData = $apiRequest->sendPayoutCreateRequest($payout);