Отмена счета
Для того, чтобы отменить счет, необходимо отправить DELETE запрос.
DELETEjs
https://api.payp.io/&/v2/invoice/(uid счета)
Обратите внимание счет будет закрыт, а не удален
Для отмены счета отправьте запрос с указанием уникального идентификатора. Запрос будет успешным только в случае, когда счет имеет статус created
Headers
Name | Type | Description |
---|---|---|
Authorization | string | Token API KEY |
Response
json
{
"status": "success",
}
json
// Проверьте правильность api ключа
{
"status": 401,
"name": "UnauthorizedError",
"message": "shop not found",
"details": "check api key"
}
json
// Проверьте верность указания полей
{
"status": 400,
"name": "BadRequestError",
"message": "Required field is missing",
"details": "uid"
}
json
// Возможно счет уже закрыт или указан неверный uid счета
{
"status": 404,
"name": "NotFoundError",
"message": "invoice not found ",
"details": {}
}
Примеры запросов
Эти примеры показывают, как можно отправить запрос на создание счета, используя Python и JavaScript. Обратите внимание, что необходимо предоставить ваш API ключ в заголовке Authorization для успешной авторизации запроса.
php
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.payp.io/&/v2/invoice/merchant/canceled");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(array("uuid" => "INV-XXXXXXXX")));
$headers = array(
"Authorization: Token <API KEY>",
"Content-Type: application/json"
);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
if (curl_errno($ch)) {
echo 'Error:' . curl_error($ch);
} else {
$statusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($statusCode == 200) {
echo "Success: " . $response;
} else {
echo "Fail: " . $statusCode . " " . $response;
}
}
curl_close($ch);
?>
Python
import requests
import json
url = "https://api.payp.io/&/v2/invoice"
headers = {
"Authorization": "Token <API KEY>",
"Content-Type": "application/json"
}
data = {
"amount": 100.0,
"currency": "USD",
"description": "Pay"
}
response = requests.post(url, headers=headers, json=data)
# Проверяем ответ
if response.status_code == 200:
print("Success:", response.json())
else:
print("Fail:", response.status_code, response.text)
js
const url = 'https://api.payp.io/&/v2/invoice';
const headers = new Headers({
'Authorization': 'Token <API KEY>',
'Content-Type': 'application/json'
});
const data = {
amount: 100.0,
currency: 'USD',
description: 'Pay'
};
fetch(url, {
method: 'POST',
headers,
body: JSON.stringify(data)
})
.then(response => {
if (response.ok) {
return response.json();
} else {
return Promise.reject('Error');
}
})
.then(data => {
console.log('Success:', data);
})
.catch(error => {
console.error('Fail:', error);
});