Bitcoin

Обзор

Bitcoin — платежный метод сервиса Digital Asset Clearing House (DACH), который позволяет пользователям проводить платежи, используя кошельки для криптовалют. Проведение оплат реализовано через Payment Page.

Характеристика

Тип платёжного метода Платежи через электронный кошелёк
Регионы использования все страны, кроме BO, DZ, EC, IR, KH, KP, NP, PK *
Валюты платежей EUR, GBP, USD
Конвертация валют
Оплаты +
Выплаты
Оплаты по сохранённым данным
Полные возвраты
Частичные возвраты
Опротестования
Особенности
Организация и стоимость подключения По согласованию с курирующим менеджером ECommPay

* Точный список стран уточняйте у вашего курирующего менеджера.

Схема работы

В проведении отдельного платежа с использованием Bitcoin задействуются веб-сервис мерчанта, Payment Page и платёжная платформа ECommPay, а также технические средства сервиса DACH, поддерживающего проведение платежей методом Bitcoin.



Основные операции

Интерфейсы Суммы, USD
Payment Page CMS Plug-ins Gate Dashboard (Old Dashboard) минимум максимум
Оплаты + 1,00 10 000,00

Сценарий использования

Проведение оплат с использованием метода Bitcoin выполняется с перенаправлением пользователей к сервису DACH, поддерживающему проведение платежей методом Bitcoin.

Рис.: Оплата через Payment Page



Детальные сведения о том, что необходимо делать со стороны мерчанта для проведения оплат, а также о том, что можно использовать для анализа информации о проведённых платежах и операциях, представлены далее.

Оплаты через Payment Page

Общая информация

Для оплаты через Payment Page с использованием метода Bitcoin со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ECommPay и принять оповещение о результате оплаты. Полная схема проведения оплаты представлена далее.



Рис.: Проведение оплаты через Payment Page

  1. Пользователь на стороне веб-сервиса инициирует оплату.
  2. От веб-сервиса на заданный URL ECommPay передаётся запрос на открытие Payment Page.
  3. Запрос на открытие Payment Page поступает в платёжную платформу.
  4. Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
  5. Осуществляется генерация Payment Page согласно настройкам проекта и параметрам вызова.
  6. Пользователю отображается сгенерированная платёжная форма.
  7. Пользователь выбирает для оплаты метод Bitcoin
  8. С Payment Page пользователь перенаправляется в сервис DACH.
  9. Пользователь совершает необходимые для оплаты шаги.
  10. На стороне сервиса DACH выполняется обработка платежа.
  11. Результат оплаты отображается пользователю в сервисе DACH.
  12. Пользователь перенаправляется к Payment Page.
  13. От сервиса DACH к платёжной платформе направляется результат оплаты.
  14. От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
  15. От платёжной платформы к Payment Page направляется результат проведения оплаты.
  16. Результат оплаты отображается пользователю на Payment Page.

Информация о формате запросов и параметрах вызова Payment Page при работе с Bitcoin, а также о формате оповещений о результатах оплат приведена далее; общая информация о работе с API см. в разделе Описание Payment Page API.

Формат запросов

При формировании запросов на открытие платёжной формы с применением метода Bitcoin необходимо учитывать следующее:

  1. Должен использоваться базовый минимум параметров — параметры, обязательные для любого платёжного метода:
    • project_id — идентификатор проекта, полученный от ECommPay при интеграции;
    • payment_id — идентификатор платежа, уникальный в рамках проекта;
    • payment_currency — валюта платежа в формате ISO-4217 alpha-3;
    • payment_amount — сумма платежа в минорных единицах,
    • customer_id — идентификатор пользователя в рамках проекта.
  2. Валютой платежа может быть только EUR, GBP или USD.
  3. Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page. Детальная информация обо всех параметрах приведена в разделе Параметры открытия платежной формы Payment Page.
  4. После определения всех параметров необходимо составить подпись. Подробную информацию см. в Работа с подписью к данным.

Таким образом, корректный запрос на открытие платёжной формы с применением метода Bitcoin должен содержать идентификаторы проекта, платежа и пользователя, а также валюту и сумму платежа и подпись:

EPayWidget.run(
    { payment_id: 'X03936', 
      payment_amount: 10000, 
      payment_currency: 'USD', 
      project_id: 35, 
      customer_id: '121',
      signature: "kUi2x9dKHAVNU0FYldJrxh4yo+52Kt8KU+Y1Y4HASCQ9vySO\/RLCvhtT4DqtVUkDJrOcZzUCwX6R\/ekpZhkIQg=="
    }
)

Формат оповещений

Для оповещений о результатах оплат с применением метода Bitcoin используется стандартный формат, описание которого представлено в разделе Оповещения.

В следующем примере оповещение свидетельствует о том, что в рамках проекта 1124 от пользователя steave123 была успешно проведена оплата в размере 100,00 USD.

Рис.: Пример оповещения о проведенной оплате

{
    {
        "project_id": 1124,
        "payment": {
            "id": "TEST_155558565670178672",
            "type": "purchase",
            "status": "success",
            "date": "2019-04-19T09:33:11+0000",
            "method": "bitcoin",
            "sum": {
                "amount": 10000,
                "currency": "USD"
            },
            "description": "TEST_1555585656701"
        },
        "customer": {
            "id": "steave123"
        },
        "operation": {
            "id": 36219000001440,
            "type": "sale",
            "status": "success",
            "date": "2019-04-19T09:33:11+0000",
            "created_date": "2019-04-19T09:28:06+0000",
            "request_id": "0a18069c",
            "sum_initial": {
                "amount": 10000,
                "currency": "USD"
            },
            "sum_converted": {
                "amount": 10000,
                "currency": "USD"
            },
            "provider": {
                "id": 1190,
                "payment_id": "CPSe9de88191e984d22a9e7a10e391db982",
                "date": "2019-04-19T09:33:10+0000",
                "auth_code": ""
            },
            "code": "0",
            "message": "Success"
        },
        "signature": "Dn0mFMViSBxcpHTg3KFq7dtK9TP6216dzVezsHSzLKB8ANc3TXJ/D5iBqotcZhnsTA=="
    }
}

В следующем примере оплата была отклонена из-за недостатка средств на счёте пользователя.

Рис.: Пример оповещения об отказе в проведении оплаты

{
     {
        "project_id": 1124,
        "payment": {
            "id": "TEST_15555856567017867",
            "type": "purchase",
            "status": "decline",
            "date": "2019-04-19T09:15:41+0000",
            "method": "bitcoin",
            "sum": {
                "amount": 500,
                "currency": "USD"
            },
            "description": "TEST_1555585656701"
        },
        "customer": {
            "id": "steave123"
        },
        "provider_extra_fields": {
            "wallet": "3LsvQ7LKeaZRsEL2zh61UhspoS3WrR18ci",
            "total": {
                "currency": "BTC",
                "amount": "97292",
                "display": "0.00097292"
            },
            "rate": {
                "from": {
                    "currency": "BTC",
                    "amount": "100000000",
                    "display": "1.00000000"
                },
                "to": {
                    "currency": "USD",
                    "amount": "513916",
                    "display": "5139.16"
                }
            },
            "input": {
                "currency": "BTC",
                "amount": "97292",
                "display": "0.00097292"
            }
        },
        "operation": {
            "id": 20667000001406,
            "type": "sale",
            "status": "decline",
            "date": "2019-04-19T09:15:41+0000",
            "created_date": "2019-04-19T08:35:27+0000",
            "request_id": "501c91495338b81969",
            "sum_initial": {
                "amount": 500,
                "currency": "USD"
            },
            "sum_converted": {
                "amount": 500,
                "currency": "USD"
            },
            "provider": {
                "id": 1190,
                "payment_id": "CPS303f6b1e2f2f471780fe8a4ab7613025",
                "date": "2019-04-19T08:37:10+0000",
                "auth_code": ""
            },
           "code": "20105",
            "message": "Insufficient funds on customer account"
        },
        "signature": "C1Tal4Oxmxa1LSuB+kjSg9F4iVxZR7LXJLgyypoxs9xqh4jAShRQ+omlxgu7/ggcg=="
    }
}

Дополнительные материалы

Для организации работы с оплатами через Payment Page также могут быть полезны следующие материалы:

Анализ результатов проведения платежей

Как и при работе с другими платёжными методами, которые предоставляет ECommPay, при использовании метода Bitcoin доступны разные способы анализа информации о платежах и операциях с применением этого метода — как в отдельности, так и в совокупности с другими методами.

Всю необходимую информацию можно получать и анализировать средствами Dashboard (Old Dashboard), в том числе с помощью аналитических панелей на вкладке Analytics.

Также можно выгружать нужную информацию для последующего анализа с помощью специализированных аналитических средств сторонних разработчиков:

  • Dashboard (Old Dashboard) позволяет выгружать данные в форматах CSV и XLS с помощью инструментов на вкладке Платежи. При этом можно выполнять разовые выгрузки информации на локальный компьютер и задействовать периодическую выгрузку и отправку информации на заданные адреса электронной почты.
  • Data API позволяет получать информацию в формате JSON и отправлять ее на заданный URL — для этого применяются запросы /operations/get.

С любыми вопросами о возможностях анализа можно обращаться в службу технической поддержки ECommPay.