En | Ru

Api People Pay

					# Пример отправки запроса

# Параметры запроса
$params= [
  "cmd"=> "get_balance"
  "currencies"=> ["BTC", "ETH"],
  "key"=> public_key,
];

# Необходимо сгенерировать URL-кодированную строку запроса
$request= http_build_query($req); // currencies%5B0%5D=BTC¤cies%5B1%5D=ETH&cmd=get_balance&key=public_key

# Подпись в шестнадцатеричном формате
$hmac= hash_hmac('sha512', $request, $secret_key); // f866485cf6ffd25b8c615bb198669af695bad46d5106b4287b8e559f88c7380d937cfff124dfbec73eb5fa2aae519c3030d065f7a719cbf8576bcb9f3f1ae324

curl -X POST --header "HMAC: $hmac" --data-binary $request "https://peoplepay.org/api"
					
				

Для использования Peoplepay API,требуются ключи API

Постоянные ключи API можно закрепить за диапазоном IP-адресов и в любой момент аннулировать без ущерба для ваших основных учетных данных. Кроме того, наши ключи не требуют обновления.

Чтобы использовать аутентификацию с помощью ключа API, необходимо создать магазин

Рабочий пример использования на PHP Скачать
$api= new PeoplePayApi('api_key', 'api_secret');

You can also write your own Api implementation if for reason ours is not suitable for you
Для того, чтобы использовать Api, необходимо аутентифицировать запрос, для этого нужно отправить подпись HMAC. Это нужно для того, чтобы никто не мог подделать Ваши запросы и средста были в безопасности

Errors

					
# Result example:
{
  "status":false,
  "code":401,
  "msg":"key_or_secret_invalid"
}
					
				

Отправленные данные не прошли аутентификацию

					
# Result example:
{
  "status": false,
  "code": 400,
  "msg": "Wallet not found"
}
					
				

Получение данных по несуществующей валюте

					
# Error:
{
  "status": false,
  "code": 402,
  "msg": "Request failed!"
}
					
				

Запрос не был успешно выполнен

Получение баланса по магазину

					
# Получение данных по всем валютам
$params= [
  "cmd"=> "get_balance"
  "currencies"=> null,
  "key"=> public_key
];

# Api PHP функция
get_balance($currencies = null)
# Пример использования
$api->get_balance(['BTC', 'ETH'])

# Result example:
{
  "status": true,
  "code": 200,
  "data": {
    "BTC": "0.01090325",
    "ETH": "0.00000000",
    "XRP": "0.00000000",
    "PAX": "0.07600000",
    "BCH": "0.00000000",
    "OMG": "0.00000000",
    "USDT": "2.00000000",
    "TUSD": "3.00000000",
    "LTC": "0.00000000",
    "BNB": "0.00000000",
    "LINK": "0.00000000",
    "TURAN": "0.00000000",
    "LRC": "0.00000000",
    "KNC": "0.00000000",
    "MANA": "0.00000000",
    "BAT": "0.00000000",
    "WBTC": "0.00000000",
    "DAI": "0.00000000",
    "MKR": "0.00000000"
  },
  "hash": "23bcd05c48bf00498eea55b2fc8a741064709a38587ae5cfaff572c18ca26824678f9bd3d264c9367f3beb6af66eb04639eaa85250dd1917aa56ca3d52c6d850"
}

# Получение данных по конкретной валюте
$params= [
  "cmd"=> "get_balance"
  "currencies"=> "BTC",
  "key"=> public_key,
];

# Result example:
{
  "status": true,
  "code": 200,
  "data": {
    "BTC": "0.01090325"
  },
  "hash": "558b0d52348d54adcc4bf9641711345e86f797ebd0991f4cdbc020d25c5c13e7ccb9fdfcaae94497137c7bb6673dd39928636f3aae64d60fd85c54b0170de9ae"
}

# Получение данных по нескольким валютам
$params= [
  "cmd"=> "get_balance"
  "currencies"=> ["BTC", "ETH"],
  "key"=> public_key,
];

# Result example:
{
  "status": true,
  "code": 200,
  "data": {
    "BTC": "0.01090325",
    "ETH": "9.94242132"
  },
  "hash": "f008250654a36df7fcf0047aa84ba43898889a23d01a75ec78fd23d24c5b58fe624934e04a34aad"
}
					
				

Параметры запроса

Field Type Description
currencies Array, String (optional) Если не передавать данный параметр, будут запрошены все валюты.
cmd String Команда, которую необходимо выполнить
key String Ваш public_key

Валидация адреса

					# Валидация адреса
$params= [
  "cmd"=> "validate_address"
  "address"=> "1GhbFHimmVWRxubz15V9sUKAT7bygXHjHP",
  "currency"=> "btc",
  "key"=> public_key,
];

# Api PHP функция
validate_address($address, $currency)
# Пример использования
$api->validate_address('1GhbFHimmVWRxubz15V9sUKAT7bygXHjHP', 'btc')

# Result example:
{
  "status": true,
  "code": 200,
  "data": {
    "isvalid": true
  },
  "hash": "2964b7d66fb5938c52b90ac04582702607f344563291f4e5b34b087b45e319f8642d989c6cdce4aef202c6781f6c80f71d3982ba57bc8091c02c1822497f65ac"
}

# Result invalid address
{
  "status": true,
  "code": 200,
  "data": {
    "isvalid": false
  },
  "hash": "77f1f771ae308f178f27f6e8e4170c0ccc8f0762c20563d31e5d9b72f6b640c4b88cd75533f84fd6d360c559f543cda0f5c88d348434cbc1015eb85d8535983e"
}
					
				

Параметры запроса

Field Type Description
address String Адресс для валидации
currencies String Любая доступная валюта, которая соответствует адресу
cmd String Команда, которую необходимо выполнить
key String Ваш public_key

Вывод средств

Создание новой транзакции на вывод

					# Вывод средств
$params= [
  "cmd"=> "create_withdrawal"
  "address"=> "0x17054b057663820a9ddb00ee20b742c45c4a9fa5",
  "label"=> "label",
  "amount"=> "1",
  "currency"=> "usdt",
  "fee"=> 1,
  "key"=> public_key,
];

# Api PHP функция
create_withdrawal($address, $amount, $currency, $fee= 1, $label= null)
# Пример использования
$api->create_withdrawal('0x17054b057663820a9ddb00ee20b742c45c4a9fa5', 1, 'usdt', 'label')

# Result example:
{
  "status": true,
  "code": 200,
  "data": {
    "info": {
      "ID": "irizuqetkCGU0GaLR94cZUnQG",
      "txid": "In line for sending ...",
      "amount": "1.00000000",
      "label": "label",
    }
  },
  "hash": "72ebf0a5ad3d64729b4283b78c65ddbe44a5b32253f34c616aa56ffc0ea48e2cbfffd6b1d84c30fb0fe517c4ff57e5b57baf94294e4e0d83e9e50ef15a2639dc"
}

# Result error address
{
  "status": false,
  "code": 400,
  "msg": "no valid address"
}

# Result error balance
{
  "status": false,
  "code": 400,
  "msg": "insufficient funds"
}
# Error Api output disabled
{
  "status": false,
  "code": 400,
  "msg": "Output disabled in API settings"
}
					
				

Request parameters

Field Type Description
address String Адрес на которую будут отправлены средства
amount Numeric Сумма, которую нужно отправить
currency String Любая доступная валюта
fee Numeric Приоритет, чем выше значение, тем выше комиссия для отправки
label String (optional) label for a transaction
cmd String Команда, которую необходимо выполнить
key String Ваш public_key

Получения информации по выводу

Проверка статуса отправки

					
$params= [
  "cmd"=> "withdrawal_info"
  "id"=> "irizuqetkCGU0GaLR94cZUnQG",
];

# Api PHP функция
withdrawal_info($id)
# Пример использования
$api->withdrawal_info('irizuqetkCGU0GaLR94cZUnQG')

# Result example:
{
  "status": true,
  "code": 200,
  "data": {
    "info": {
      "ID": "irizuqetkCGU0GaLR94cZUnQG",
      "time_created": 1605447820,
      "address": "0x17054b057663820a9ddb00ee20b742c45c4a9fa5",
      "txid": "In line for sending ...",
      "hex": null,
      "status": "pending",
      "commission": "0.50000000",
      "status_code": 1,
      "label": null,
    }
  },
  "hash": "6b5e7a7f7a9b08edf9639760b403d40c56f5567c6d21062e4c4eaf047c87edb840bd13056637ae1552352e57174b5bfb0677b993d2bf24792414723c41777f57"
}

# Result error id
{
  "status": false,
  "code": 400,
  "msg": "Transaction not found"
}
					
				

Параметры запроса

Field Type Description
id String ID полученный с ответа create_withdrawal
cmd String Команда, которую необходимо выполнить
key String Ваш public_key

Создание мерчанта

					

$params= [
  "cmd"=> "create_invoice"
  "amount"=> "1",
  "currency"=> "usdt",
  "key"=> public_key,
  "label"=> label,
];

# Api PHP функция
create_invoice($amount, $currency, $label= null)
# Пример использования
$api->create_invoice(1, 'usdt', 'label')

# Result example:
{
  "status": true,
  "code": 200,
  "data": {
    "currency": "btc",
    "address": "1DjscrFJJ5JppwxHW1XARZVfcEVGVSAHwv",
    "id": "Lq3qH5mOrAsC4oNJwLo1cFmaJ",
    "label": "label",
    "url": "https://peoplepay.org/invoice/merchant/W8e0AM2t4kVDNvfZpuIrgWTZr/4hEyHPQDcO6wBy37M0YMukRBnWkY0M",
  },
  "hash": "f6dcf9d538128d44a689f18f1ecb68b9739a90aaf473202a22dfdc4314ad51f0072b96e5e440322b68584322eb9a6c2912bdba2ea997a06dea4b60d8079d4238"
}

# Result error amount
{
  "status": false,
  "code": 400,
  "msg": "The amount must be a number."
}
					
				

Будет создан мерчант на указанную сумму, и Вам будет выдан адрес, который будет ожидать пополнение
Адрес привязывается к магазину на сутки!

Параметры запроса

Field Type Description
amount String Сумма, на которую создать пополнение
currency String Любая доступная валюта
label String (optional) label for a address
cmd String Команда, которую необходимо выполнить
key String Ваш public_key

Создание адреса

					
$params= [
  "cmd"=> "new_address"
  "currency"=> "btc",
  "key"=> public_key,
  "label"=> 'label',
];

# Api PHP функция
new_address($currency, $label= null)
# Пример использования
$api->new_address('btc', 'label')

# Result example:
{
  "status": true,
  "code": 200,
  "data": {
    "currency": "btc",
    "address": "14nrVNMM1eofHZpH9uTF5VxQTFie5LdeYn",
    "id": "1CPBHaxXjoQiAQkYKqwV2uypC",
    "label": "label",
  },
  "hash": "a6b680e1c98dc46fe93387c1b1a98207b75edae892febc08ace1f15dbefe764e9b4fa3aed02d2cd4419429be5dd856d4acf9a7e91012e000e37830773478ed7b"
}
					
				

Будет выдан адрес который будет ожидать пополнение
Адрес привязывается к магазину на сутки!

Api PHP функция new_address($currency)

Пример использования
$api->new_address('btc')

Параметры запроса

Field Type Description
currency String Любая доступная валюта
label String (optional) label for a address
cmd String Команда, которую необходимо выполнить
key String Ваш public_key

Получения транзакций по адресу

					
$params= [
  "cmd"=> "get_reception_info"
  "api_id"=> "9SnSmoep65MLNOEUohXaXABuC",
  "currency"=> "ltc",
  "key"=> public_key,
];

# Result example:
{
  "status": true,
  "code": 200,
  "data": {
    "id": "9SnSmoep65MLNOEUohXaXABuC",
    "info": [
      {
        "category": "received",
        "received": "26.97300000",
        "commission": "0.00000000",
        "amount": "26.97300000",
        "txid": "bf6c7150417fb93015c5d33f2fe096de63ce36e5c9f53b91a56ecc5e7da68f4d",
        "hash": "bf6c7150417fb93015c5d33f2fe096de63ce36e5c9f53b91a56ecc5e7da68f4d",
        "confirm": 63139,
        "label": null,
      }
    ],
    "address": "MQFWtFAwbDV6hZAyWvtJMtpB7idouvQfhd"
  },
  "hash": "ca45bf91866ac240510eb05376be00dbf1099bb6635b2011060a4cd65a7905a6a28787af71ce452cf8c74d360b444d32ee298092f5c9aa9525678a8212fb7e06"
}

# Result not have reception:
{
  "status": true,
  "code": 200,
  "data": {
    "id": "Lq3qH5mOrAsC4oNJwLo1cFmaJ",
    "info": null,
    "address": "1DjscrFJJ5JppwxHW1XARZVfcEVGVSAHwv"
  },
  "hash": "23508a199fe4b392b451902ea16a38c583798857f792bb0fea6a4b33e6ea900b2cc77055980bd4b818d3230d8bb2bae986800bc49f7c634cd7be0bb62af950ca"
}
# Result error api_id:
{
  "status": false,
  "code": 400,
  "data": {
    "id": "1CPBHaxXjoQiA1CPBHaxXjoQiAQkYKqwV2uypCQkYKqwV2uypC",
    "info": null,
  },
  "msg": "Your wallet is missing this address"
}
					
				

Возвращает все входящие транзакции по данному адресу

Api PHP функция get_reception_info($api_id, $currency)

Пример использования
$api->get_reception_info('9SnSmoep65MLNOEUohXaXABuC', 'ltc')

Параметры запроса

Field Type Description
api_id String id, полученный с ответа new_address|create_invoice
currency String Любая доступная валюта
cmd String Command to be executed
key String Ваш public_key

Receipt transactions for label

					
$params= [
  "cmd"=> "get_label_transactions"
  "label"=> "label",
  "currency"=> "ltc",
  "key"=> public_key,
];

# Result example:
{
  "status": true,
  "code": 200,
  "data": {
    "label": "label",
    "info": [
      {
        "category": "received",
        "received": "26.97300000",
        "commission": "0.00000000",
        "amount": "26.97300000",
        "txid": "bf6c7150417fb93015c5d33f2fe096de63ce36e5c9f53b91a56ecc5e7da68f4d",
        "hash": "bf6c7150417fb93015c5d33f2fe096de63ce36e5c9f53b91a56ecc5e7da68f4d",
        "confirm": 63139,
        "label": 'label',
      }
    ],
  },
  "hash": "ca45bf91866ac240510eb05376be00dbf1099bb6635b2011060a4cd65a7905a6a28787af71ce452cf8c74d360b444d32ee298092f5c9aa9525678a8212fb7e06"
}

# Result not have transactions:
{
  "status": true,
  "code": 200,
  "data": {
    "label": "label"
    "info": null,
  },
  "hash": "23508a199fe4b392b451902ea16a38c583798857f792bb0fea6a4b33e6ea900b2cc77055980bd4b818d3230d8bb2bae986800bc49f7c634cd7be0bb62af950ca"
}
					
				

Возвращает все входящие транзакции по данному адресу

Api PHP функция get_label_transactions($label, $currency)

Пример использования
$api->get_label_transactions('label', 'ltc')

Параметры запроса

Field Type Description
label String Transaction label
currency String Любая доступная валюта
cmd String Command to be executed
key String Ваш public_key

WebHook

					# Пример проверки заголовка
$post_data = http_build_query($response, '', '&');
$hmac = hash_hmac('sha512',$post_data , $app->api_secret);

if(SERVER['HTTP_HMAC']== $hmac) Подключение безопасно
					
				
					
# Result example:
{
  "data": {
    "store": "MindPlays",
    "transactions": {
      "id": "1460",
      "status": "2",
      "address": "0xc88f7666330b4b511358b7742dc2a3234710e7b1",
      "txid": "0x724d905ea77fffc5998dd55d460bcc1839c3a9ae8aa18e15df00cddbc4b9e1b5",
      "opp_type": "2",
      "wallet_id": "2",
      "amount": "0.19948751",
      "course_usd": "504",
      "fee": "0",
      "full_name": "Ether",
      "currency": "eth",
      "label": null,
      "confirmations": "1",
      "created_at": "2020-04-29 20:14:05"
    }
  },
  "key": "public_key"
}
					
				

WebHook будет приходить на указанный путь в Магазине после того, как будет успешно получена/отправлена транзакция!

Для более безопасного использование рекомендуется проверять заголовок HTTP_HMAC

Описание полученных данных

Field Description
store name of shop
Transactions
id идентификатор транзакции
status
  • 0 - in line for sending
  • 1 - broadcast
  • 2 - success
  • 3 - cancel
  • 4 -
opp_type
  • 1 - request
  • 2 - send
address
  • (request) - the address to which the funds were received
  • (send) - the address to which the funds were SENT
txid hash транакции
wallet_id currency identifier
amount сумма поступления/отправки
course_usd курс USD на момент транзакции
fee комиссия
label if specified label
confirmations количество подтверждений
created_at дата создания
key public_key магазина