DOKU Wallet

Обзор

Введение

DOKU Wallet — метод, позволяющий проводить платежи в индонезийских рупиях с использованием электронного кошелька в Индонезии. Для этого метода в платёжной платформе ecommpay поддерживаются оплаты и выплаты.

В этой статье представлена информация о работе с методом DOKU Wallet: обзорный раздел с общими сведениями и последующие разделы с информацией о действиях, необходимых со стороны мерчанта для решения разных задач.

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

Тип платёжного метода платежи с использованием электронных кошельков
Платёжные инструменты электронные кошельки
Регионы использования ID
Валюты платежей IDR
Конвертация валют на стороне ecommpay; для подключения можно обращаться к курирующему менеджеру ecommpay
Разовые оплаты +
Повторяемые оплаты
Полные возвраты по запросу в службу технической поддержки ecommpay
Частичные возвраты по запросу в службу технической поддержки ecommpay
Выплаты +
Опротестования
Особенности
  • при использовании этого метода все платежи в валюте IDR являются целочисленными. В запросах с указанием валюты IDR следует округлять суммы до целых чисел, иначе дробная часть отсекается при обработке платежа в платёжной платформе. При указании в запросах других валют сумма платежа конвертируется на стороне ecommpay с округлением до 1 000,00 IDR
  • в браузере Safari может не поддерживаться перенаправление на сервис банка. Подробности можно уточнять у курирующего менеджера ecommpay
Организация и стоимость подключения по согласованию с курирующим менеджером ecommpay; дополнительную информацию можно получить в ecommpay shop

Схема работы

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

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

Для проведения платежей и выполнения операций с использованием метода DOKU Wallet могут применяться различные интерфейсы платёжной платформы. Так, оплаты могут проводиться через Payment Page, Gate и Dashboard (с применением платёжных ссылок), а выплаты — через Gate и Dashboard. При этом, независимо от используемых интерфейсов, для этого метода характерны следующие свойства и ограничения.

При работе с методом DOKU Wallet, независимо от используемых интерфейсов, актуальны следующие свойства и ограничения.

Суммы, IDR ¹ Время ²
Минимум Максимум Базовое Предельное
Оплаты 1,00 2 000 000,00 до KYC *

10 000 000,00 после KYC

В течение минуты Необходимо уточнять у курирующего менеджера
Выплаты 1,00 10 000 000,00 В течение 5 минут Необходимо уточнять у курирующего менеджера
Прим.:
  1. KYC (Know Your Customer) — это процедура, которая позволяет финансовым организациям проверять клиентов, чтобы обезопасить себя от мошенников.
  2. Базовое и предельное время определяются следующим образом:
    • Базовое время — среднее расчётное время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Это время определяется для условий штатной работы всех технических средств и каналов связи, а также типичных действий со стороны пользователя (там, где они необходимы). Базовое время рекомендуется использовать для реагирования на отсутствие оповещений о результате платежа и выполнения опроса состояния платежа (подробнее).
    • Предельное время — максимально допустимое время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Если платёж не был проведён или отклонён за это время, он автоматически переводится в статус decline. Для индивидуальной настройки предельного времени следует обращаться к специалистам технической поддержки ecommpay.

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

Проведение оплат с использованием метода DOKU Wallet осуществляется с перенаправлением пользователей к сервису DOKU Wallet, проведение выплат — с уведомлением пользователей через веб-сервис мерчанта.

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

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

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

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

Информация о форматах запросов и оповещений, используемых для проведения оплат методом DOKU Wallet через Payment Page, приведена далее в этом разделе; общая информация о работе с Payment Page API — в отдельной статье Организация взаимодействия.

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

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

  1. Должен использоваться базовый минимум параметров, обязательный для любого платежа:
    • project_id — идентификатор проекта, полученный от ecommpay при интеграции;
    • payment_id — идентификатор платежа, уникальный в рамках проекта;
    • payment_currency — код валюты платежа в формате ISO-4217 alpha-3;
    • payment_amount — сумма платежа в дробных единицах валюты;
    • customer_id — идентификатор пользователя в рамках проекта.
  2. Должен использоваться базовый минимум параметров: project_id, payment_id, payment_currency, payment_amount, customer_id.
  3. Дополнительно рекомендуется указывать имя и адрес электронной почты пользователя в параметрах customer_first_name и customer_email. Если какие-либо из этих параметров отсутствуют в запросе, в платёжной форме могут отображаться поля для ввода пользователем недостающих значений (подробнее — в разделе Дополнение информации о платежах).
  4. Для предварительного выбора метода DOKU Wallet необходимо указывать код этого метода в параметре force_payment_methoddoku.
  5. Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page (подробнее).
  6. После указания всех целевых параметров необходимо составлять подпись (подробнее).

Таким образом, корректный запрос на открытие платёжной формы с применением метода DOKU Wallet должен содержать идентификатор проекта, базовые сведения о платеже (идентификатор, сумму и код валюты), информацию о пользователе и подпись.

{
   "project_id": 120,
   "payment_id": "580",
   "payment_amount": 1000,
   "payment_currency": "IDR",
   "customer_id": "customer1",
   "customer_first_name": "Hasan",
   "customer_email": "prasetyo@example.com",
   "signature": "kUi2x9dKHAVNU0FYldOcZzUCwX6R\/ekpZhkIQg=="
}
Рис. 5. Пример достаточного набора данных для запроса на оплату
{
   "project_id": 120,
   "payment_id": "580",
   "payment_amount": 1000,
   "payment_currency": "IDR",
   "customer_id": "customer1",
   "customer_first_name": "Hasan",
   "customer_email": "prasetyo@example.com",
   "signature": "kUi2x9dKHAVNU0FYldOcZzUCwX6R\/ekpZhkIQg=="
}

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

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

В следующем примере оповещение свидетельствует о том, что в рамках проекта 238 была проведена оплата в размере 1 000,00 IDR.

Рис. 6. Пример данных из оповещения о проведении оплаты
{
        "project_id": 238,
        "payment": {
            "id": "Doku_eWallet_001",
            "type": "purchase",
            "status": "success",
            "date": "2018-12-14T09:21:58+0000",
            "method": "Doku",
            "sum": {
                "amount": 100000,
                "currency": "IDR"
            },
            "description": ""
        },
        "account": {
            "number": "1189632633"
        },
        "operation": {
            "id": 6085000002263,
            "type": "sale",
            "status": "success",
            "date": "2018-12-14T09:21:58+0000",
            "created_date": "2018-12-14T09:20:39+0000",
            "request_id": "026b9dbadeb438abea86c9667edc9b11eb994",
            "sum_initial": {
                "amount": 100000,
                "currency": "IDR"
            },
            "sum_converted": {
                "amount": 100000,
                "currency": "IDR"
            },
            "provider": {
                "id": 1162,
                "payment_id": "342205",
                "date": "2018-12-14T09:21:54+0000",
                "auth_code": ""
            },
            "code": "0",
            "message": "Success"
        },
        "signature": "XFyr/D1zXj84lUZVfpbWZolLFd3GxgPgUzIDg=="
    }

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

Рис. 7. Пример данных из оповещения об отклонении оплаты
{
        "project_id": 238,
        "payment": {
            "id": "ECT_TEST_1544793284604",
            "type": "purchase",
            "status": "decline",
            "date": "2018-12-14T13:23:50+0000",
            "method": "Doku",
            "sum": {
                "amount": 2000000000,
                "currency": "IDR"
            },
            "description": ""
        },
        "customer": {
            "id": "1"
        },
        "operation": {
            "id": 19078000002242,
            "type": "sale",
            "status": "decline",
            "date": "2018-12-14T13:23:50+0000",
            "created_date": "2018-12-14T13:20:47+0000",
            "request_id": "b12c7232b016305896e291c0a8ac67b74dd2bc05ac9",
            "sum_initial": {
                "amount": 2000000000,
                "currency": "IDR"
            },
            "sum_converted": {
                "amount": 2000000000,
                "currency": "IDR"
            },
            "provider": {
                "id": 1162,
                "payment_id": "",
                "auth_code": ""
            },
            "code": "20101",
            "message": "Decline due to amount or frequency limit"
        },
        "signature": "5+82BkJhEn/DG892c1vYINbEVDN9uuQTagdL6SYe5iOzSA=="
    }

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

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

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

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

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

  1. Отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay.
  2. Принять промежуточное оповещение от платёжной платформы и осуществить перенаправление пользователя к сервису DOKU Wallet.
  3. Принять итоговое оповещение от платёжной платформы.

Полная схема проведения оплаты выглядит следующим образом.

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

Информация о форматах запросов и оповещений, используемых для проведения оплат методом DOKU Wallet через Gate, приведена далее в этом разделе; общая информация о работе с Gate API — в отдельной статье Организация взаимодействия.

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

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

  1. Для инициирования каждой оплаты должен использоваться отдельный POST-запрос к конечной точке /v2/payment/wallet/doku/sale. Эта точка относится к группе /v2/payment/wallet/{payment_method}/sale.
  2. В каждом запросе должны использоваться следующие объекты и параметры:
    • general — объект, содержащий основные идентификационные сведения запроса:
      • project_id — идентификатор проекта, полученный от ecommpay при интеграции;,
      • payment_id — идентификатор платежа, уникальный в рамках проекта;,
      • signature — подпись запроса, составленная после указания всех целевых параметров (подробнее — в разделе Работа с подписью); (подробнее),
    • payment — объект, содержащий сведения о платеже:
      • amount — сумма платежа в дробных единицах валюты;,
      • currency — код валюты платежа в формате ISO-4217 alpha-3;,
    • customer — объект, содержащий сведения о пользователе:
      • id — идентификатор пользователя, уникальный в рамках проекта;,
      • ip_address — IP-адрес пользователя, актуальный для инициируемого платежа.
  3. Дополнительно рекомендуется указывать следующие объекты и параметры:
    • customer — объект, содержащий сведения о пользователе:
      • first_name — имя пользователя,
      • email — адрес электронной почты пользователя.

    Если какие-либо из этих параметров отсутствуют в запросе, список с названиями недостающих параметров может отправляться в оповещении на уточнение (подробнее — в статье Дополнение информации о платеже).

  4. Дополнительно могут использоваться любые другие параметры из числа указанных в спецификации.

Таким образом, корректный запрос на оплату с применением метода DOKU Wallet должен содержать идентификатор проекта, базовые сведения о платеже (идентификатор, сумму и код валюты), информацию о пользователе, а также подпись.

{
    "general": {
    "project_id": 125,
    "payment_id": "ID_184",
    "signature": "PJkV8ej\/UG0DiipTv+AWoXW\/9MTO8yJA=="
  },
  "customer": {
    "ip_address": "192.0.2.0",
    "first_name": "Riza",
    "email": "riza@example.com",
    "id": "123"
    },
  "payment": {
    "amount": 100,
    "currency": "IDR"
  }
}
Рис. 9. Пример достаточного набора данных для запроса на оплату
{
    "general": {
    "project_id": 125,
    "payment_id": "ID_184",
    "signature": "PJkV8ej\/UG0DiipTv+AWoXW\/9MTO8yJA=="
  },
  "customer": {
    "ip_address": "192.0.2.0",
    "first_name": "Riza",
    "email": "riza@example.com",
    "id": "123"
    },
  "payment": {
    "amount": 100,
    "currency": "IDR"
  }
}

Формат промежуточных оповещений для перенаправления пользователей

Для перенаправления пользователей от веб-сервиса мерчанта к сервису DOKU Wallet при проведении каждого платежа с использованием метода DOKU Wallet необходимо принять промежуточное оповещение от платёжной платформы и использовать информацию из него, включённую в объект redirect_data. Формат таких оповещений является типовым (подробнее), при этом в состав объекта redirect_data включаются следующие объекты и параметры:

  • body — объект с данными для отправки в теле запроса;
  • method — параметр с указанием HTTP-метода отправки запроса (GET или POST);
  • url — параметр со ссылкой для перенаправления.
Рис. 10. Пример объекта redirect_data
"redirect_data": {
            "method": "POST",
            "body": {
                "MALLID": 4038,
                "CHAINMERCHANT": "NA",
                "AMOUNT": "10000.00",
                "PURCHASEAMOUNT": "10000.00",
                "TRANSIDMERCHANT": 1447000002341,
                "PAYMENTTYPE": "SALE",
                "WORDS": "2e2d93c40d5c82f87b555502492222abcdb8c50f",
                "REQUESTDATETIME": "20181218142352",
                "CURRENCY": "360",
                "PURCHASECURRENCY": "360",
                "SESSIONID": "7d28088c",
                "NAME": "Riza",
                "EMAIL": "riza@testpay.com",
                "BASKET": "Sale,10000.00,1,10000.00",
                "PAYMENTCHANNEL": "41"
            },
            "encrypted": [],
            "url": "https://pay.doku.com/Suite/Receive"
        }

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

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

В следующем примере оповещение свидетельствует о том, что в рамках проекта 238 была проведена оплата в размере 1 000,00 IDR.

Рис. 11. Пример оповещения о проведении оплаты
{
        "project_id": 238,
        "payment": {
            "id": "Doku_eWallet_001",
            "type": "purchase",
            "status": "success",
            "date": "2018-12-14T09:21:58+0000",
            "method": "Doku",
            "sum": {
                "amount": 100000,
                "currency": "IDR"
            },
            "description": ""
        },
        "account": {
            "number": "1189632633"
        },
        "operation": {
            "id": 6085000002263,
            "type": "sale",
            "status": "success",
            "date": "2018-12-14T09:21:58+0000",
            "created_date": "2018-12-14T09:20:39+0000",
            "request_id": "026b9dbadeb438abea86c9667edc9b11eb994",
            "sum_initial": {
                "amount": 100000,
                "currency": "IDR"
            },
            "sum_converted": {
                "amount": 100000,
                "currency": "IDR"
            },
            "provider": {
                "id": 1162,
                "payment_id": "342205",
                "date": "2018-12-14T09:21:54+0000",
                "auth_code": ""
            },
            "code": "0",
            "message": "Success"
        },
        "signature": "XFyr/D1zXj84lUZVfpbWZolLFd3GxgPgUzIDg=="
    }

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

Рис. 12. Пример данных из оповещения об отклонении оплаты
{
        "project_id": 238,
        "payment": {
            "id": "ECT_TEST_1544793284604",
            "type": "purchase",
            "status": "decline",
            "date": "2018-12-14T13:23:50+0000",
            "method": "Doku",
            "sum": {
                "amount": 2000000000,
                "currency": "IDR"
            },
            "description": ""
        },
        "customer": {
            "id": "1"
        },
        "operation": {
            "id": 19078000002242,
            "type": "sale",
            "status": "decline",
            "date": "2018-12-14T13:23:50+0000",
            "created_date": "2018-12-14T13:20:47+0000",
            "request_id": "b12c7232b016305896e291c0a8ac67b74dd2bc05ac9",
            "sum_initial": {
                "amount": 2000000000,
                "currency": "IDR"
            },
            "sum_converted": {
                "amount": 2000000000,
                "currency": "IDR"
            },
            "provider": {
                "id": 1162,
                "payment_id": "",
                "auth_code": ""
            },
            "code": "20101",
            "message": "Decline due to amount or frequency limit"
        },
        "signature": "5+82BkJhEn/DG892c1vYINbEVDN9uuQTagdL6SYe5iOzSA=="
    }

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

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

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

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

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

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

Информация о форматах запросов и оповещений, используемых для проведения выплат методом DOKU Wallet через Gate, приведена далее в этом разделе; общая информация о работе с Gate API — в отдельной статье Организация взаимодействия.

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

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

  1. Для инициирования каждой выплаты должен использоваться отдельный POST-запрос к конечной точке /v2/payment/wallet/doku/payout. Эта точка относится к группе /v2/payment/wallet/{payment_method}/payout.
  2. В каждом запросе должны использоваться следующие объекты и параметры:
    • general — объект, содержащий основные идентификационные сведения запроса:
      • project_id — идентификатор проекта, полученный от ecommpay при интеграции;,
      • payment_id — идентификатор платежа, уникальный в рамках проекта;,
      • signature — подпись запроса, составленная после указания всех целевых параметров (подробнее — в разделе Работа с подписью); (подробнее),
    • payment — объект, содержащий сведения о платеже:
      • amount — сумма выплаты в дробных единицах валюты;,
      • currency — код валюты платежа в формате ISO-4217 alpha-3;,
    • customer — объект, содержащий сведения о пользователе:
      • id — идентификатор пользователя, уникальный в рамках проекта;,
      • ip_address — IP-адрес пользователя, актуальный для инициируемой выплаты;,
    • account — объект, содержащий сведения об электронном кошельке пользователя:
      • number — номер электронного кошелька;
      • customer_name — полное имя пользователя.
  3. Дополнительно могут использоваться любые другие параметры из числа указанных в спецификации.

Таким образом, корректный запрос на выплату с применением метода DOKU Wallet должен содержать идентификатор проекта, базовые сведения о платеже (его идентификатор, сумму и код валюты), информация о пользователе и электронном кошельке, а также подпись.

{
    "general": {
    "project_id": 2853,
    "payment_id": "test-002",
    "signature": "M1vT4q9c8hA8xbgBOp8DTf8d/XdoV+vd7Q=="
  },
  "customer": {
    "id": "payoutTest",
    "ip_address": "192.0.2.0"
  },
  "account": {
    "number": "654654654",
    "customer_name": "John Doe"
  },
  "payment": {
    "amount": 10000,
    "currency": "IDR"
  }
}
Рис. 14. Пример достаточного набора данных для запроса на выплату
{
    "general": {
    "project_id": 2853,
    "payment_id": "test-002",
    "signature": "M1vT4q9c8hA8xbgBOp8DTf8d/XdoV+vd7Q=="
  },
  "customer": {
    "id": "payoutTest",
    "ip_address": "192.0.2.0"
  },
  "account": {
    "number": "654654654",
    "customer_name": "John Doe"
  },
  "payment": {
    "amount": 10000,
    "currency": "IDR"
  }
}

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

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

В следующем примере оповещение свидетельствует о том, что в рамках проекта 580 была проведена выплата в размере 1,00 IDR.

Рис. 15. Пример оповещения о проведении вылаты
{
        "project_id": 580,
        "payment": {
            "id": "ApsViaDoku-040-wallet-1",
            "type": "payout",
            "status": "success",
            "date": "2019-05-07T11:38:24+0000",
            "method": "Doku",
            "sum": {
                "amount": 100,
                "currency": "IDR"
            },
            "description": "ApsViaDokuPayoutTest.49855500 1538564115"
        },
        "account": {
            "number": "1579000479"
        },
        "customer": {
            "id": "1",
            "phone": "798454444474"
        },
        "operation": {
            "id": 31771000001833,
            "type": "payout",
            "status": "success",
            "date": "2019-05-07T11:38:24+0000",
            "created_date": "2019-05-07T11:38:14+0000",
            "request_id": "a6ce8cf365af0c33a3d77cb45e8780793377c9460",
            "sum_initial": {
                "amount": 100,
                "currency": "IDR"
            },
            "sum_converted": {
                "amount": 100,
                "currency": "IDR"
            },
            "provider": {
                "id": 1162,
                "payment_id": "DK06282314",
                "date": "2019-05-07T18:38:19+0000",
                "auth_code": "",
                "endpoint_id": "04"
            },
            "code": "0",
            "message": "Success"
        },
        "signature": "8xwuyUSnpfu4YVMH1qF8ZvMrU3JUTyF8UjZ8qTouKQ=="
    }

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

Рис. 16. Пример данных из оповещения об отклонении выплаты
{
        "project_id": 439,
        "payment": {
            "id": "ApsViaDoku-129",
            "type": "payout",
            "status": "decline",
            "date": "2019-03-29T09:18:18+0000",
            "method": "Doku",
            "sum": {
                "amount": 1100000000,
                "currency": "IDR"
            },
            "description": "123"
        },
        "account": {
            "number": "1322808400"
        },
        "customer": {
            "id": "payoutTest",
            "phone": "79998785643"
        },
        "operation": {
            "id": 3293088074203,
            "type": "payout",
            "status": "decline",
            "date": "2019-03-29T09:18:18+0000",
            "created_date": "2019-03-29T09:18:14+0000",
            "request_id": "d2b43977e0c6d54ecec408177cfb892f6cf28c07c4",
            "sum_initial": {
                "amount": 1100000000,
                "currency": "IDR"
            },
            "sum_converted": {
                "amount": 1100000000,
                "currency": "IDR"
            },
            "provider": {
                "id": 1274,
                "payment_id": "",
                "auth_code": ""
            },
            "code": "20101",
            "message": "Decline due to amount or frequency limit"
        },
        "signature": "D5SRvrsJaOQMKitsQNJ3hlawe6epQJtfa6uEDwkshnQA=="
    }

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

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

  • Организация взаимодействия — о том, как взаимодействовать с платёжной платформой через Gate.
  • Работа с подписью — о порядке создания и проверки подписи в программных запросах и оповещениях при взаимодействии с платёжной платформой.
  • Модель проведения платежей — о типах, схемах проведения и возможных статусах поддерживаемых платежей и операций.
  • Выплаты — о том, как проводить выплаты через Gate.
  • Информация об операциях — о служебных кодах, используемых в платёжной платформе для фиксации информации о выполнении операций.

Тестирование

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

Для метода DOKU Wallet доступно тестирование оплат через Payment Page и Gate и выплат через Gate. Тестирование может выполняться в рамках тестового проекта, и для подключения и отключения этой функциональности следует обращаться к специалистам технической поддержки ecommpay.

При тестировании платежей следует учитывать, что в запросах должен указываться идентификатор тестового проекта, в качестве валюты может использоваться только IDR, а интерфейсы эмулятора платёжных форм Payment Page и DOKU Wallet могут отличаться от рабочих.

Статусы тестовых платежей

При тестировании оплат их итоговые статусы определяются исходя из сумм, указанных в запросах:

  • decline — при указании суммы 40000 или 40400,
  • success — при указании любой другой суммы.

При тестировании выплат их итоговые статусы определяются исходя из сумм, указанных в запросах:

  • decline — при указании суммы 40000 или 40400,
  • success — при указании любой другой суммы.

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

Для проведения тестовой оплаты через Payment Page необходимо:

  1. Отправить в платёжную платформу корректный тестовый запрос на открытие Payment Page.
  2. Если в запросе не был указан метод doku — выбрать метод DOKU Wallet на странице эмулятора.
  3. Указать в полях ввода произвольный адрес электронной почты и произвольное имя.
  4. Щёлкнуть кнопку Success или Decline (в зависимости от запрашиваемой суммы).
  5. Принять итоговое оповещение с информацией о результате оплаты.

Более подробная информация о проведении оплат с использованием метода DOKU Wallet через Payment Page представлена в разделе Оплаты через Payment Page этой статьи.

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

Для проведения тестовых оплат через Gate предварительно необходимо предоставить специалистам технической поддержки ecommpay URL для перенаправления на страницу подтверждения тестовых платежей (в силу специфики сервиса DOKU Wallet это должен быть один адрес для платежей со статусом success и decline) и получить ответ о возможности проведения тестовых платежей. После этого для проведения каждой тестовой оплаты следует:

  1. Отправить в платёжную платформу корректный тестовый запрос на оплату.
  2. Принять оповещение с данными для перенаправления.
  3. Перейти по полученному URL и щёлкнуть кнопку Success или Decline (в зависимости от запрашиваемой суммы) — на странице эмулятора.
  4. Убедиться в открытии страницы подтверждения тестового платежа.
  5. Принять итоговое оповещение с информацией о результате оплаты.

Более подробная информация о проведении оплат с использованием метода DOKU Wallet через Gate представлена в разделе Оплаты через Gate этой статьи.

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

Для проведения тестовой выплаты через Gate необходимо отправить в платёжную платформу корректный тестовый запрос и принять итоговое оповещение с информацией о результате. Более подробная информация о проведении выплат с использованием метода DOKU Wallet представлена в разделе Выплаты через Gate этой статьи.

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

Для анализа информации о платежах и операциях, как в отдельности по методу DOKU Wallet, так и в совокупности с другими методами, можно использовать:

  • инструментарий интерфейса Dashboard, с различными реестрами и аналитическими панелями;,
  • отчёты в формате CSV, выгружаемые (как разово, так и периодически) через раздел Отчёты интерфейса Dashboard;,
  • данные в формате JSON, получаемые по программным запросам через интерфейс Data API.

С вопросами по анализу информации можно обращаться к разделам документации (Dashboard и Использование Data API) и специалистам ecommpay.