JetonGo

Обзор

JetonGo — платёжный метод, поддерживающий проведение оплат и выплат через электронные кошельки. Оплаты осуществляются через Payment Page и Gate, выплаты — через Gate.

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

Тип платёжного метода платежи через электронные кошельки
Регионы использования IN, JP, TR
Валюты платежей EUR, GBP, JPY, INR, NOK, PLN, RUB, TRY, USD
Конвертация валют на стороне JetonGo
Оплаты +
Выплаты +
Оплаты по сохранённым данным
Полные возвраты
Частичные возвраты
Опротестования
Особенности
Валюты расчётов с мерчантами по запросу
Скорость расчётов с мерчантами без задержек
Организация и стоимость подключения по согласованию с курирующим менеджером ECommPay

Схема работы

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



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

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

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

Оплата с использованием метода JetonGo совершается пользователями по QR-коду с помощью мобильного приложения, проведение выплат выполняется с уведомлением пользователей через веб-сервис мерчанта.

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



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



Рис.: Выплата через Gate



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

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

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

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



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

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

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

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

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

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

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

EPayWidget.run(
    { payment_id: 'X03936', 
      payment_amount: 10000, 
      payment_currency: 'EUR', 
      project_id: 1236,
      customer_id: 'customer1',
      signature: "kUi2x9dKHAVNU0FYldJrxh4yo+52Kt8KURLCvhtT4DqtOcZzUCwX6R\/ekpZhkIQg=="
    }
)

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

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

В следующем примере оповещение свидетельствует о том, что в рамках проекта 1236 от пользователя 1780597 была успешно проведена оплата в размере 100,00 EUR со счёта № 24954373.

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

    {
        "project_id": 1236,
        "payment": {
            "id": "ac17805971555",
            "type": "purchase",
            "status": "success",
            "date": "2019-04-15T16:31:44+0000",
            "method": "JetonGo",
            "sum": {
                "amount": 10000,
                "currency": "EUR"
            },
            "description": "deposit"
        },
        "account": {
            "number": "24954373"
        },
        "customer": {
            "id": "1780597"
        },
        "operation": {
            "id": 26516000001352,
            "type": "sale",
            "status": "success",
            "date": "2019-04-15T16:31:44+0000",
            "created_date": "2019-04-15T16:31:13+0000",
            "request_id": "ea8d37edbe06c6ccdbd47fe899e4fb",
            "sum_initial": {
                "amount": 10000,
                "currency": "EUR"
            },
            "sum_converted": {
                "amount": 10000,
                "currency": "EUR"
            },
            "provider": {
                "id": 1079,
                "payment_id": "3573001",
                "auth_code": ""
            },
            "code": "0",
            "message": "Success"
        },
        "signature": "4xSp9GkRnFLNFnGjvz1V1njeE0c+VLZqnpMJe6iSiOi+bSvLtiTV7kFTQYJsQ=="
    }

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

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

    {
        "customer": {
            "id": "1780597"
        },
        "payment": {
            "date": "2019-05-13T17:47:49+0000",
            "id": "980d0031ad2ac8cb2e3de4061d4bf955",
            "method": "JetonGo",
            "status": "decline",
            "sum": {
                "amount": 50000,
                "currency": "EUR"
            },
            "type": "purchase",
            "description": "deposit"
        },
        "project_id": 382,
        "operation": {
            "id": 29469000002026,
            "type": "sale",
            "status": "decline",
            "date": "2019-05-13T17:47:49+0000",
            "created_date": "2019-05-13T17:32:47+0000",
            "request_id": "cb10fd9119976eddd9360720130b98f60676c",
            "sum_initial": {
                "amount": 50000,
                "currency": "EUR"
            },
            "sum_converted": {
                "amount": 50000,
                "currency": "EUR"
            },
            "provider": {
                "id": 1079,
                "payment_id": "3785266",
                "auth_code": ""
            },
            "code": "20106",
            "message": "Customer account is no longer available"
        },
        "signature": "vVaazCs++R+PXqAWMa7HqjIowpUEZzDBPERxp9SkEQ0L6No+UcEQwtDlpOpeA=="
    }

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

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

Оплаты через Gate

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

Для оплаты через Gate с использованием метода JetonGo со стороны веб-сервиса необходимо:

  1. Отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ECommPay.
  2. Получить и отобразить пользователю QR-код для оплаты в сервисе JetonGo.
  3. Принять оповещение о результате оплаты.

Полная схема проведения оплаты представлена далее.



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

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

Информация о формате запросов и параметрах инициализации оплат методом JetonGo через Gate, а также о формате оповещений о результатах оплат приведена далее, общая информация о работе с API см. в разделе Работа с API.

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

При работе с запросами на оплаты с применением метода JetonGo необходимо учитывать следующее:

  1. Должен использоваться запрос /v2/payment/wallet/jetgo/sale, отправляемый методом POST. Этот запрос относится к группе запросов для платежей с использованием электронных кошельков /v2/payment/wallet/{payment_method}/sale.
  2. В запросе должны использоваться следующие объекты и параметры:
    • general — основные сведения:
      • project_id — идентификатор проекта,
      • payment_id — идентификатор платежа,
      • signature — подпись запроса, составленная после указания целевых параметров (подробнее — в разделе Использование подписи к данным);
    • customer — сведения о пользователе:
      • id — идентификатор, уникальный в рамках проекта,
      • ip_address — используемый IP-адрес;
    • payment — сведения о платеже:
      • amount — сумма,
      • currency — валюта платежа в формате ISO-4217 alpha-3.
    • return_url — URL для перенаправления пользователя из сервиса:
      • success — URL для перенаправления пользователя при проведенной оплате,
      • decline — URL для перенаправления пользователя при отклоненной оплате.
  3. Валютой платежа могут быть: EUR, GBP, INR, JPY, NOK, PLN, RUB, TRY, USD.
  4. Дополнительно могут использоваться все параметры, указанные в спецификации.

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

Рис.: Пример запроса на оплату

{
    "general": {
      "project_id": 1236,
      "payment_id": payment_id,
      "signature": "PJkV8ejrtyUG0Di8hTng6JvC7vQsaC6tajQVVfBaNIipTv+AWoXW\/9MTO8yJA=="
    },
    "payment": {
      "amount": 10000,
      "currency": "EUR"
      },
    "customer": {
      "ip_address": "248.121.176",
      "id": "123"
    },
    "return_url":{
      "decline" : "http://return.url",
      "success" : "http://return.url"
    }
}

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

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

В следующем примере оповещение свидетельствует о том, что в рамках проекта 1236 от пользователя 1780597 была успешно проведена оплата в размере 100,00 EUR со счёта № 24954373.

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

    {
        "project_id": 1236,
        "payment": {
            "id": "ac17805971555",
            "type": "purchase",
            "status": "success",
            "date": "2019-04-15T16:31:44+0000",
            "method": "JetonGo",
            "sum": {
                "amount": 10000,
                "currency": "EUR"
            },
            "description": "deposit"
        },
        "account": {
            "number": "24954373"
        },
        "customer": {
            "id": "1780597"
        },
        "operation": {
            "id": 26516000001352,
            "type": "sale",
            "status": "success",
            "date": "2019-04-15T16:31:44+0000",
            "created_date": "2019-04-15T16:31:13+0000",
            "request_id": "ea8d37edbe06c6ccdbd47fe899e4fb",
            "sum_initial": {
                "amount": 10000,
                "currency": "EUR"
            },
            "sum_converted": {
                "amount": 10000,
                "currency": "EUR"
            },
            "provider": {
                "id": 1079,
                "payment_id": "3573001",
                "auth_code": ""
            },
            "code": "0",
            "message": "Success"
        },
        "signature": "4xSp9GkRnFLNFnGjvz1V1njeE0c+VLZqnpMJe6iSiOi+bSvLtiTV7kFTQYJsQ=="
    }

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

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

    {
        "customer": {
            "id": "1780597"
        },
        "payment": {
            "date": "2019-05-13T17:47:49+0000",
            "id": "980d0031ad2ac8cb2e3de4061d4bf955",
            "method": "JetonGo",
            "status": "decline",
            "sum": {
                "amount": 50000,
                "currency": "EUR"
            },
            "type": "purchase",
            "description": "deposit"
        },
        "project_id": 382,
        "operation": {
            "id": 29469000002026,
            "type": "sale",
            "status": "decline",
            "date": "2019-05-13T17:47:49+0000",
            "created_date": "2019-05-13T17:32:47+0000",
            "request_id": "cb10fd9119976eddd9360720130b98f60676c",
            "sum_initial": {
                "amount": 50000,
                "currency": "EUR"
            },
            "sum_converted": {
                "amount": 50000,
                "currency": "EUR"
            },
            "provider": {
                "id": 1079,
                "payment_id": "3785266",
                "auth_code": ""
            },
            "code": "20106",
            "message": "Customer account is no longer available"
        },
        "signature": "vVaazCs++R+PXqAWMa7HqjIowpUEZzDBPERxp9SkEQ0L6No+UcEQwtDlpOpeA=="
    }

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

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

Выплаты через Gate

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

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



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

  1. Пользователь на стороне веб-сервиса инициирует выплату через JetonGo.
  2. От веб-сервиса на заданный URL ECommPay передаётся запрос на проведение выплаты через Gate.
  3. Запрос на проведение выплаты поступает в платёжную платформу.
  4. Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
  5. От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности. Подробнее см. в разделе Формат ответа.
  6. В платёжной платформе выполняются дальнейшая обработка запроса и его отправка в сервис JetonGo.
  7. На стороне JetonGo выполняется обработка платежа.
  8. От JetonGo к платёжной платформе направляется оповещение о результате.
  9. От платёжной платформы к веб-сервису направляется оповещение о результате.
  10. От веб-сервиса пользователю направляется результат выплаты.

Информация о формате запросов и параметрах инициализации выплат методом JetonGo через Gate, а также о формате оповещений о результатах выплат приведена далее, общая информация о работе с API см. в разделе Работа с API.

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

При работе с запросами на выплаты с применением метода JetonGo необходимо учитывать следующее:

  1. Должен использоваться запрос /v2/payment/wallet/jetgo/payout, отправляемый методом POST. Этот запрос относится к группе запросов для платежей с использованием электронных кошельков /v2/payment/wallet/{payment_method}/payout.
  2. В запросе должны использоваться следующие объекты и параметры:
    • general — основные сведения:
      • project_id — идентификатор проекта,
      • payment_id — идентификатор платежа,
      • signature — подпись запроса, составленная после указания целевых параметров (подробнее — в разделе Использование подписи к данным);
    • customer — сведения о пользователе:
      • ip_address — используемый IP-адрес;
    • account — сведения о счёте пользователя:
      • number — номер счёта;
    • payment — сведения о платеже:
      • amount — сумма,
      • currency — валюта платежа в формате ISO-4217 alpha-3.
  3. Валютой платежа могут быть: EUR, GBP, INR, JPY, NOK, PLN, RUB, TRY, USD.
  4. Дополнительно могут использоваться все параметры, указанные в спецификации.

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

Рис.: Пример запроса на выплату

{
  "general": {
    "project_id": 239,
    "payment_id": "63bc5d64b5a869cb5bf2",
    "signature": "PJkV8ej\/UG0Di8hTncV+VHq3LwY3T\/pOMeSaRfBaNIipTv+AWoXW\/9MTO8yJA=="
  },
 "account":{
    "number": "93017949",
 },
 "customer": {
    "ip_address": "248.121.176.220"
  },
  "payment": {
    "amount": 30000,
    "currency": "EUR"
  }
}

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

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

В следующем примере оповещение свидетельствует о том, что в рамках проекта 239 для пользователя 543085 была успешно проведена выплата в размере 300,00 EUR на счёт № 93017949.

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

  
    {
        "project_id": 239,
        "payment": {
            "id": "63bc5d64b5a869cb5bf2",
            "type": "payout",
            "status": "success",
            "date": "2019-01-15T09:36:37+0000",
            "method": "JetonGo",
            "sum": {
                "amount": 30000,
                "currency": "EUR"
            },
            "description": "withdrawal"
        },
        "account": {
            "number": "93017949"
        },
        "customer": {
            "id": "543085"
        },
        "operation": {
            "id": 631000002690,
            "type": "payout",
            "status": "success",
            "date": "2019-01-15T09:36:37+0000",
            "created_date": "2019-01-15T09:36:35+0000",
            "request_id": "dad57124547",
            "sum_initial": {
                "amount": 30000,
                "currency": "EUR"
            },
            "sum_converted": {
                "amount": 30000,
                "currency": "EUR"
            },
            "provider": {
                "id": 1079,
                "payment_id": "",
                "auth_code": ""
            },
            "code": "0",
            "message": "Success"
        },
        "signature": "nCLpal3AzJTJrXtG2/TA8toaV5EQoMslNzAmBNFWIouA6SGOsDrlZhH9cTQ=="
    }

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

Рис.: Example of a declined payout callback

   
     {
        "project_id": 239,
        "payment": {
            "id": "59212aab8827751ee5865514c6670c86",
            "type": "payout",
            "status": "decline",
            "date": "2018-11-23T01:00:27+0000",
            "method": "JetonGo",
            "sum": {
                "amount": 30000,
                "currency": "EUR"
            },
            "description": "withdrawal"
        },
        "account": {
            "number": "94082236"
        },
        "customer": {
            "id": "429166"
        },
        "errors": [
            {
                "code": "3028",
                "message": "Insufficient funds on merchant balance",
                "description": "public: BALANCE_INSUFFICIENT_FUNDS"
            }
        ],
        "operation": {
            "id": 14479000001965,
            "type": "payout",
            "status": "decline",
            "date": "2018-11-23T01:00:27+0000",
            "created_date": "2018-11-23T01:00:27+0000",
            "request_id": "c3dbddac",
            "sum_initial": {
                "amount": 30000,
                "currency": "EUR"
            },
            "sum_converted": {
                "amount": 30000,
                "currency": "EUR"
            },
            "provider": {
                "id": 1079,
                "payment_id": ""
            },
            "code": "3028",
            "message": "Insufficient funds on merchant balance"
        },
        "signature": "MwjSnpJdMzrallOtnkvTZKB5+x3LmqtECi7IhBjAIYDHPSY9/Mg/wCaUOlw=="
    }

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

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

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

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

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

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

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

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