GrabPay

Обзор

Введение

GrabPay — метод, позволяющий проводить платежи в малайзийских ринггитах и в филиппинских песо с использованием электронного кошелька в Малайзии и Филиппинах. Для этого метода в платёжной платформе ecommpay поддерживаются оплаты (в Малайзии и Филиппинах) и выплаты (только в Филиппинах).

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

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

Тип платёжного метода платежи с использованием электронных кошельков
Платёжные инструменты электронные кошельки
Регионы использования MY, PH
Валюты платежей MYR, PHP
Конвертация валют на стороне ecommpay
Разовые оплаты +
Повторяемые оплаты
Полные возвраты
Частичные возвраты
Выплаты доступны в Филиппинах
Опротестования
Особенности
Организация и стоимость подключения по согласованию с курирующим менеджером ecommpay; дополнительную информацию можно получить в ecommshop

Схема работы

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



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

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

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

Суммы, MYR Суммы, PHP Время ¹
минимум максимум минимум максимум базовое предельное
Оплаты 1,00 5 000,00 20,00 20 000,00 30 минут 1 день
Выплаты 1,00 50 000,00 * *

* Информацию о базовом и предельном времени следует уточнять у курирующего менеджера ecommpay.

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

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

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

Пользовательский сценарий оплаты через Payment Page выглядит следующим образом.

Общие сценарии проведения оплат и выплат можно представить следующим образом.

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

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

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



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

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

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

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

  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_email (для обеих валют), customer_first_name (для валюты MYR), и customer_last_name (для валюты MYR). Если эти параметры отсутствуют в запросе, в платёжной форме могут отображаться поля для ввода пользователем недостающих значений (подробнее — в разделе Дополнение информации о платежах). Если параметры присутствуют в запросе, на Payment Page пользователю отображаются поля с предварительно заполненными значениями параметров, указанных в запросе, для подтверждения или изменения.
  4. Для предварительного выбора метода GrabPay необходимо указывать код этого метода в параметре force_payment_methodgrabpay-wallet.
  5. Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page (подробнее).
  6. После указания всех целевых параметров необходимо составлять подпись (подробнее).

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

{
   "project_id": 120,
   "payment_id": "580",
   "payment_amount": 50000,
   "payment_currency": "MYR",
   "customer_id": "customer1",
   "signature": "kUi2x9dKHAVNU0FYldOcZzUCwX6R\/ekpZhkIQg=="
}
Рис. 11. Пример достаточного набора данных для запроса на оплату
{
   "project_id": 120,
   "payment_id": "580",
   "payment_amount": 50000,
   "payment_currency": "MYR",
   "customer_id": "customer1",
   "signature": "kUi2x9dKHAVNU0FYldOcZzUCwX6R\/ekpZhkIQg=="
}

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

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

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

Рис. 12. Пример данных из оповещения о проведении оплаты
{
        "project_id": 239,
        "payment": {
            "id": "EPfa87-bcfd",
            "type": "purchase",
            "status": "success",
            "date": "2020-03-06T14:11:00+0000",
            "method": "Grabpay wallet",
            "sum": {
                "amount": 50000,
                "currency": "MYR"
            },
            "description": ""
        },
        "operation": {
            "id": 464,
            "type": "sale",
            "status": "success",
            "date": "2020-03-06T14:11:00+0000",
            "created_date": "2020-03-06T14:10:34+0000",
            "request_id": "f6ab99eb0940e43a774b969eec6c8951-00000001",
            "sum_initial": {
                "amount": 50000,
                "currency": "MYR"
            },
            "sum_converted": {
                "amount": 50000,
                "currency": "MYR"
            },
            "code": "0",
            "message": "Success",
            "provider": {
                "id": 0000,
                "payment_id": "7QKID3P3",
                "auth_code": "",
                "date": "2020-03-06T14:10:54+0000"
            }
        },
        "signature": "YZKXHr2ZdK3tPqiMzPku5dANQAVWPteHKmwzMQ+mvGoA=="
    }
}

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

Рис. 13. Пример данных из оповещения об отклонении оплаты
{
        "project_id": 239,
        "payment": {
            "id": "EPfa87-bcfc",
            "type": "purchase",
            "status": "decline",
            "date": "2020-03-07T14:11:00+0000",
            "method": "Grabpay wallet",
            "sum": {
                "amount": 500000000,
                "currency": "MYR"
            },
            "description": ""
        },
        "operation": {
            "id": 465,
            "type": "sale",
            "status": "decline",
            "date": "2020-03-07T14:11:00+0000",
            "created_date": "2020-03-06T14:10:34+0000",
            "request_id": "f6ab99eb0940e43a7c6c8951-00000002",
            "sum_initial": {
                "amount": 500000000,
                "currency": "MYR"
            },
            "sum_converted": {
                "amount": 500000000,
                "currency": "MYR"
            },
            "code": "20101",
            "message": "Decline due to amount or frequency limit",
            "provider": {
                "id": 0000,
                "payment_id": "7QKID3P3",
                "auth_code": "",
                "date": "2020-03-06T14:10:54+0000"
            }
        },
        "signature": "YZKXHr2ZdK3tPqiku5dANQAVWPteHKmwzMQ+mvGob=="
    }
}

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

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

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

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

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

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

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



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

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

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

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

  1. Для инициирования каждой оплаты должен использоваться отдельный POST-запрос к конечной точке v2/payment/wallet/grabpay/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-адрес пользователя, актуальный для инициируемого платежа;
      • email — адрес электронной почты пользователя (только для запросов, в которых валюта PHP указана в качестве значения параметра currency);,
    • return_url — объект, содержащий URL для перенаправления пользователя в веб-сервис:
      • success — URL для перенаправления пользователя после проведения оплаты.
  3. Дополнительно для платежей в валюте MYR рекомендуется указывать следующие объекты и параметры:
    • customer — объект, содержащий сведения о пользователе:
      • email — адрес электронной почты пользователя;
      • first_name — имя пользователя;
      • last_name — фамилия пользователя.

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

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

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

{
    "general": {
        "project_id": 580,
        "payment_id": "test_coinsph_sale",
        "signature": "pgwRHcfv2/ymu08nMx/9FSeIqYHTTd6YhIiLWw=="
    },
    "payment": {
        "amount": 1000,
        "currency": "PHP"
    },
    "customer": {
        "email": "test_customer@example.com",
        "id": "123",
        "ip_address": "192.0.2.0"
    },
    "return_url": {
        "success": "http://example.com/success"
  }
}
Рис. 15. Пример достаточного набора данных для запроса на оплату
{
    "general": {
        "project_id": 580,
        "payment_id": "test_coinsph_sale",
        "signature": "pgwRHcfv2/ymu08nMx/9FSeIqYHTTd6YhIiLWw=="
    },
    "payment": {
        "amount": 1000,
        "currency": "PHP"
    },
    "customer": {
        "email": "test_customer@example.com",
        "id": "123",
        "ip_address": "192.0.2.0"
    },
    "return_url": {
        "success": "http://example.com/success"
  }
}

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

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

  • body — объект с данными для отправки в теле запроса;
  • method — параметр с указанием HTTP-метода отправки запроса (GET или POST);
  • url — параметр со ссылкой для перенаправления.
Рис. 16. Пример объекта redirect_data
"redirect_data": {
    "body": {},
    "method": "GET",
    "url": "https://test.ph/Pay.aspx?tokenid=3f511c2d&procid=BITC"
  }

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

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

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

Рис. 17. Пример данных из оповещения о проведении оплаты
 {
        "project_id": 239,
        "payment": {
            "id": "EPfa87-bcfd",
            "type": "purchase",
            "status": "success",
            "date": "2020-03-06T14:11:00+0000",
            "method": "Grabpay wallet",
            "sum": {
                "amount": 1000,
                "currency": "PHP"
            },
            "description": ""
        },
        "operation": {
            "id": 464,
            "type": "sale",
            "status": "success",
            "date": "2020-03-06T14:11:00+0000",
            "created_date": "2020-03-06T14:10:34+0000",
            "request_id": "f6ab99eb0940e43a774b969cb74a88ef08eec6c8951-00000001",
            "sum_initial": {
                "amount": 1000,
                "currency": "PHP"
            },
            "sum_converted": {
                "amount": 1000,
                "currency": "PHP"
            },
            "code": "0",
            "message": "Success",
            "provider": {
                "id": 1369,
                "payment_id": "7QKID3P3",
                "auth_code": "",
                "date": "2020-03-06T14:10:54+0000"
            }
        },
        "signature": "YZKXHr2ZdK3tPqiMzPpSJZ...+WGku5dANQAVWPteHKmwzMQ+mvGoA=="
    }
}

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

Рис. 18. Пример данных из оповещения об отклонении оплаты
 {
        "project_id": 239,
        "payment": {
            "id": "EPfa87-bcfc",
            "type": "purchase",
            "status": "decline",
            "date": "2020-03-07T14:11:00+0000",
            "method": "Grabpay wallet",
            "sum": {
                "amount": 200000000,
                "currency": "PHP"
            },
            "description": ""
        },
        "operation": {
            "id": 465,
            "type": "sale",
            "status": "decline",
            "date": "2020-03-07T14:11:00+0000",
            "created_date": "2020-03-06T14:10:34+0000",
            "request_id": "f6ab99eb0940e43a774b969cb74a88ef08eec6c8951-00000002",
            "sum_initial": {
                "amount": 200000000,
                "currency": "PHP"
            },
            "sum_converted": {
                "amount": 200000000,
                "currency": "PHP"
            },
            "code": "20101",
            "message": "Decline due to amount or frequency limit",
            "provider": {
                "id": 1369,
                "payment_id": "7QKID3P3",
                "auth_code": "",
                "date": "2020-03-06T14:10:54+0000"
            }
        },
        "signature": "YZKXHr2ZdK3tPqiMzPpSJZ...+WGku5dANQAVWPteHKmwzMQ+mvGob=="
    }
}

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

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

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

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

Проведение выплат с использованием метода GrabPay доступно только на территории Филиппин.

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



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

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

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

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

  1. Для инициирования каждой выплаты должен использоваться отдельный POST-запрос к конечной точке /v2/payment/wallet/grabpay/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 — идентификатор учётной записи, должен состоять из 11 цифр и начинаться с 09;
      • customer_name — полное имя пользователя.
  3. Дополнительно могут использоваться любые другие параметры из числа указанных в спецификации.

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

 {
 "general": {
   "project_id": 603,
   "payment_id": "1000003",
   "signature": "PJkV8ej/UG0Di8hTng6JvC7vQsaC6tajQVVLhNN5e7cV...=="
 },
 "customer": {
   "id": "111232323",
   "ip_address": "192.0.2.0"
 },
 "payment": {
   "amount": 1000,
   "currency": "PHP"
 },
 "account": {
   "number": "09123456789",
   "customer_name": "John Doe"
 }
}
Рис. 20. Пример достаточного набора данных для запроса на выплату
 {
 "general": {
   "project_id": 603,
   "payment_id": "1000003",
   "signature": "PJkV8ej/UG0Di8hTng6JvC7vQsaC6tajQVVLhNN5e7cV...=="
 },
 "customer": {
   "id": "111232323",
   "ip_address": "192.0.2.0"
 },
 "payment": {
   "amount": 1000,
   "currency": "PHP"
 },
 "account": {
   "number": "09123456789",
   "customer_name": "John Doe"
 }
}

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

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

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

Рис. 21. Пример данных из оповещения о проведении выплаты
{
        "project_id": 445,
        "payment": {
            "id": "10615_110613_51729356",
            "type": "payout",
            "status": "success",
            "date": "2021-06-15T08:06:25+0000",
            "method": "GrabPay wallet",
            "sum": {
                "amount": 1000,
                "currency": "PHP"
            },
            "description": "payout"
        },
        "account": {
            "number": "123123"
        },
        "customer": {
            "id": "1234",
            "phone": "09123456789"
        },
        "operation": {
            "id": 592,
            "type": "payout",
            "status": "success",
            "date": "2021-06-15T08:06:25+0000",
            "created_date": "2021-06-15T08:06:14+0000",
            "request_id": "bdec3c53155f87d1f59c0e16043cf7c9a-00000001",
            "sum_initial": {
                "amount": 1000,
                "currency": "PHP"
            },
            "sum_converted": {
                "amount": 1000,
                "currency": "PHP"
            },
            "code": "0",
            "message": "Success",
            "provider": {
                "id": 1994,
                "payment_id": "RS2PHYOBG5",
                "auth_code": "",
                "endpoint_id": "GRPY",
                "date": "2021-06-15T00:06:24+0000"
            }
        },
        "signature": "xndoWc28knuz24ZeVBdQadwSRXgPYIDqN/M3ZOEYI7A=="
    }

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

Рис. 22. Пример данных из оповещения об отклонении выплаты
{
        "project_id": 445,
        "payment": {
            "id": "10615_110613_51729357",
            "type": "payout",
            "status": "decline",
            "date": "2021-06-15T08:07:25+0000",
            "method": "GrabPay wallet",
            "sum": {
                "amount": 1000,
                "currency": "PHP"
            },
            "description": "payout"
        },
        "account": {
            "number": "123123"
        },
        "customer": {
            "id": "1234",
            "phone": "09123456789"
        },
        "operation": {
            "id": 592,
            "type": "payout",
            "status": "decline",
            "date": "2021-06-15T08:06:25+0000",
            "created_date": "2021-06-15T08:06:14+0000",
            "request_id": "bdec3c53155f87d1f59c0e16043cf7c9a-00000002",
            "sum_initial": {
                "amount": 1000,
                "currency": "PHP"
            },
            "sum_converted": {
                "amount": 1000,
                "currency": "PHP"
            },
            "code": "20000",
            "message": "General decline",
            "provider": {
                "id": 1994,
                "payment_id": "RS2PHYOBG6",
                "auth_code": "",
                "endpoint_id": "GRPY",
                "date": "2021-06-15T00:06:24+0000"
            }
        },
        "signature": "xndoWc28knuz24ZeVBdQadwSRXgPYIDqN/M3ZOEYI6A=="
    }

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

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

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

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

При использовании интерфейса Dashboard можно проводить одиночные и массовые выплаты методом GrabPay с единичной и пакетной отправкой запросов, называемые соответственно одиночными и массовыми.

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

    При этом должен использоваться файл формата CSV, структура которого соответствует требованиям, представленным в разделе Сведения о массовых платежах, а параметры выплат должны соответствовать требованиям, представленным в разделе Выплаты через Gate этой статьи (за исключением пункта о подписи).

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

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

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

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

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