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 |
|
opp_type |
|
address |
|
txid | hash транакции |
wallet_id | currency identifier |
amount | сумма поступления/отправки |
course_usd | курс USD на момент транзакции |
fee | комиссия |
label | if specified label |
confirmations | количество подтверждений |
created_at | дата создания |
key | public_key магазина |