CryptoCloud
Русский
  • Начало работы
    • Обзор документации
    • Принцип работы интеграции
    • Тестирование интеграции
    • Получение API ключей
    • SDK для работы с API
    • Интеграция иконок и кнопок
    • Инструкция по оплате криптовалютой
    • Поддержка и FAQ
  • API REFERENCE V2
    • Авторизация запросов
    • Создание счета
    • Отмена счета
    • Список счетов
    • Информация о счете
    • Баланс
    • Статистика
    • Статический кошелек
    • Автоматический POSTBACK
  • API REFERENCE V1 (OLD)
    • Авторизация запросов
    • Создание счета
    • Проверка статуса счета
    • Автоматический POSTBACK
  • Модули для CMS
    • Список CMS-модулей
      • WooCommerce
      • OpenCart
      • Shopify
      • Tilda
      • GetCourse
      • XenForo 2
      • PrestaShop
      • Drupal
      • WHMCS
  • Формы и кнопки
    • HTML-виджет
      • HTML-форма
      • HTML-кнопка
  • Сайт CryptoCloud
  • База знаний
  • Брендбук
Powered by GitBook
On this page
  • Параметры запроса
  • Пример ответа
  • Пример обработчика POSTBACK

Was this helpful?

  1. API REFERENCE V2

Автоматический POSTBACK

После успешного выполнения платежа на указанный в настройках проекта URL для уведомлений отправляется POST запрос с информацией о платеже.

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

Название параметра
Тип данных
Значения
Пример
Описание

status

string

success

success

Статус выполнения запроса

invoice_id

string

id

DZLF4212

Уникальный идентификатор платежа

amount_crypto

decimal

sum

0.4567

Сумма платежа в криптовалюте

currency

string

BTC

LTC

ETH

USDT_TRC20 USDT_ERC20 USDC_TRC20 USDC_ERC20 TUSD_TRC20 TUSD_ERC20

BTC

Код валюты

order_id

string

id

ORD99999

Идентификатор заказа магазина

token

string

token

eyJ0eXAiOiJKV1QiLCJhbGciOiJIAcI1NiJ9.eyJpZCI6MTMsImV4cCI6MTYzMTc4NjQyNn0.HQavV3z8dFnk56bX3MSY5X9lR6qVa9YhAoeTEHkaAzs

JWT токен

JWT токен — подпись ответа от сервера. Подписывается секретным ключом (SECRET KEY), который генерируется в настройках проекта. Дополнительно в токен добавлен UUID счета. Действует токен в течение 5 минут после создания уведомления. Генерируется каждый раз при отправке уведомления об оплате.

Алгоритм шифрования — HS256.

Пример ответа

{
    "status": "success",
    "invoice_id": "XXXXXXXX",
    "amount_crypto": 100,
    "currency": "USDT_TRC20",
    "order_id": "order_id",
    "token": b"token",
    "invoice_info": {
        "uuid": "INV-XXXXXXXX",
        "created": "2024-08-22 11:49:59.756692",
        "address": "address",
        "currency": {
            "id": 4,
            "code": "USDT",
            "fullcode": "USDT_TRC20",
            "network": {
                "code": "TRC20",
                "id": 4,
                "icon": "https://cdn.cryptocloud.plus/currency/crypto/TRX.svg",
                "fullname": "Tron"
            },
            "name": "Tether",
            "is_email_required": false,
            "stablecoin": true,
            "icon_base": "https://cdn.cryptocloud.plus/currency/icons/main/usdt.svg",
            "icon_network": "https://cdn.cryptocloud.plus/icons-currency/USDT-TRC20.svg",
            "icon_qr": "https://cdn.cryptocloud.plus/currency/icons/stroke/usdt.svg",
            "order": 1
        },
        "date_finished": "2024-08-22 11:51:53.753528",
        "expiry_date": "2024-08-23 11:49:59.746385",
        "side_commission": "client",
        "type_payments": "crypto",
        "amount": 100,
        "amount_": 100,
        "status": "overpaid",
        "invoice_status": "success",
        "is_email_required": false,
        "project": {
            "id": 0,
            "name": "My Project",
            "fail": "",
            "success": "",
            "logo": ""
        },
        "tx_list": [
            ""
        ],
        "amount_in_crypto": null,
        "amount_in_fiat": 0.0,
        "amount_usd": 100.0,
        "amount_to_pay": 102.0,
        "amount_to_pay_usd": 102.0,
        "amount_paid": 102.0,
        "amount_paid_usd": 102.0,
        "fee": 1.4,
        "fee_usd": 1.4,
        "service_fee": 0.8048,
        "service_fee_usd": 0.8,
        "received": 99.7952,
        "received_usd": 99.8,
        "to_surcharge": 0.0,
        "to_surcharge_usd": 0.0,
        "total_rub": 0,
        "step": 3,
        "test_mode": false,
        "type": "up",
        "aml_enabled": false,
        "aml_side": "merchant",
        "aml_checks": [],
        "links_invoice": null
    }
}

Пример обработчика POSTBACK

from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/postback', methods=['POST'])
def handle_postback():
    # Изменено на request.form для обработки данных в формате x-www-form-urlencoded
    status = request.form.get('status')
    invoice_id = request.form.get('invoice_id')
    amount_crypto = request.form.get('amount_crypto')
    currency = request.form.get('currency')
    order_id = request.form.get('order_id')
    token = request.form.get('token')
    
    # ... ваш код для обработки postback ...
    
    return jsonify({'message': 'Postback received'}), 200

if __name__ == '__main__':
    app.run(port=5000)
const express = require('express');
const app = express();

// Добавляем middleware для обработки JSON
app.use(express.json());

// Добавляем middleware для обработки данных в формате x-www-form-urlencoded
app.use(express.urlencoded({ extended: true }));

app.post('/postback', (req, res) => {
    const { status, invoice_id, amount_crypto, currency, order_id, token } = req.body;
    
    // ... ваш код для обработки postback ...
    
    res.json({ message: 'Postback received' });
});

app.listen(3000, () => {
    console.log('Server is running on port 3000');
});
<?php

$body = file_get_contents('php://input');
$data = [];
parse_str($body, $data);

$status = $data['status'] ?? null;
$invoice_id = $data['invoice_id'] ?? null;
$amount_crypto = $data['amount_crypto'] ?? null;
$currency = $data['currency'] ?? null;
$order_id = $data['order_id'] ?? null;
$token = $data['token'] ?? null;

// ... your code for processing postback ...

echo json_encode(['message' => 'Postback received']);
?>
PreviousСтатический кошелекNextАвторизация запросов

Last updated 2 months ago

Was this helpful?

Мы регулярно работаем над улучшением документации сервиса для разработчиков. Пожалуйста, оцените качество и полезность материалов .

по ссылке