Interac E-Transfer

Обзор

Interac E-Transfer — канадский платежный метод, который поддерживает проведение оплат и выплат с помощью банковских переводов. Проведение оплат реализовано через Payment Page и Gate, проведение возвратов и выплат — через Gate.

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

Тип платёжного метода банковский перевод
Регионы использования CA
Валюты платежей CAD
Конвертация валют
Оплаты +
Выплаты +
Оплаты по сохранённым данным
Полные возвраты +
Частичные возвраты +
Опротестования
Особенности Необходимо использовать внутренний гид по стилю Interac E-Transfer при разработке отображаемой пользователю платежной страницы
Организация и стоимость подключения по согласованию с курирующим менеджером ECommPay

Схема работы

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



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

Интерфейсы Суммы, CAD
Payment Page CMS Plug-ins Gate Dashboard (Old Dashboard) минимум максимум
Оплаты + + 20,00
  • 2 500,00 за операцию,
  • 3 000,00 в день
Выплаты + 10 000,00
Полные возвраты +
Частичные возвраты +

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

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

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



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



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



Рис.: Возврат через Gate



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

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

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

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



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

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

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

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

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

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

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

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

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

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

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

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

{  
{
        "project_id": 3955,
        "customer": {
            "id": "u_customer"
        },
        "payment": {
            "id": "EP9b34-a402",
            "type": "purchase",
            "status": "success",
            "date": "2019-04-23T13:39:57+0000",
            "method": "BankTransferViaInterac",
            "sum": {
                "amount": 10000,
                "currency": "CAD"
            },
            "is_new_attempts_available": false,
            "attempts_timeout": 0,
            "description": ""
        },
        "customer_data": {
            "first_name": "Aleksandrs",
            "last_name": "Ralovecs",
            "phone": "3712946371",
            "email": "a@mail.com",
            "ip_address": "192.168.15.1"
        },
        "operation": {
            "id": 2000000035,
            "type": "sale",
            "status": "success",
            "date": "2019-04-23T13:39:57+0000",
            "created_date": "2019-04-23T13:39:31+0000",
            "request_id": "60c673c94434ae",
            "sum_initial": {
                "amount": 10000,
                "currency": "CAD"
            },
            "sum_converted": {
                "amount": 10000,
                "currency": "CAD"
            },
            "provider": {
                "id": 39552,
                "payment_id": "",
                "auth_code": ""
            },
            "code": "0",
            "message": "Success"
        },
        "signature": "OwrbC2qrL/4aHWaM97A4vZO5tt3K1G7kZy2uUaCaqMmUc1LLQrEDZVqE2nFuoQoenRSlc7jg=="
    }
}

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

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

{  
{
        "project_id": 3955,
        "customer": {
            "id": "u_customer"
        },
        "payment": {
            "id": "EP9b34-a402",
            "type": "purchase",
            "status": "decline",
            "date": "2019-04-23T13:39:57+0000",
            "method": "BankTransferViaInterac",
            "sum": {
                "amount": 10000,
                "currency": "CAD"
            },
            "is_new_attempts_available": false,
            "attempts_timeout": 0,
            "description": ""
        },
        "customer_data": {
            "first_name": "Aleksandrs",
            "last_name": "Ralovecs",
            "phone": "3712946371",
            "email": "a@mail.com",
            "ip_address": "192.168.15.1"
        },
        "operation": {
            "id": 2000000035,
            "type": "sale",
            "status": "decline",
            "date": "2019-04-23T13:39:57+0000",
            "created_date": "2019-04-23T13:39:31+0000",
            "request_id": "60c673c94434ae",
            "sum_initial": {
                "amount": 10000,
                "currency": "CAD"
            },
            "sum_converted": {
                "amount": 10000,
                "currency": "CAD"
            },
            "provider": {
                "id": 39552,
                "payment_id": "",
                "auth_code": ""
            },
            "code": "100",
            "message": "General decline"
            },
        "signature": "OwrbC2qrL/4aHWaM97A4vZO5tt3K1G7kZy2uUaCaqMmUc1LLQrEDZVqE2nFuoQoenRSlc7jg=="
    }
} 

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

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

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

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

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

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

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



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

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

Необходимо использовать внутренний гид по стилю Interac E-Transfer при разработке отображаемой пользователю платежной страницы. На странице оплаты необходимо обеспечить отображение логотипа или товарного знака (например, текст “INTERAC eTransfer”). При первом использовании слова INTERAC необходимо использовать обозначение ® в надстрочном тексте рядом со словом «INTERAC». Также на этой странице необходимо отобразить строку “® Trade-mark of Interac Corp. Used under license”. Логотипы и гид по стилю можно запросить у вашего курирующего менеджера ECommPay.

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

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

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

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

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

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

{
    "general": {
        "project_id": 35,
        "payment_id": "Payment 12",
        "signature": "2tlMuYxLW9Yu6RETr8pdCfmi0UPE8euD+o4EVPjLyfbOQ+9ajAteg5lPk96Q=="
  },
    "customer": {
        "id": "u_customer",
        "ip_address": "1.1.1.1",
        "first_name": "John",
        "last_name": "Johnson",      
        "email": "johnson@mail.com",  
        "phone": "16132354341"
  },
    "payment": {
        "amount": 10000,
        "currency": "CAD"
  }
}

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

Для перенаправления пользователя от веб-сервиса на сайт банка необходимо принять оповещение от платёжной платформы, содержащее ссылку для перенаправления в параметре return_url.url и данные для отправки в теле запроса return_url.body, и использовать эти параметры при открытии HTML-страницы банка методом, указанным в return_url.method.

Далее приведён фрагмент оповещения, содержащего токен на оплату.

"body": {
                        "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
                        "transaction": 49269000010181
                    },
                    "method": "GET",
                    "url": "https://interac.express-connect.com/webflow?"
                },

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

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

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

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

{  
{
        "project_id": 3955,
        "customer": {
            "id": "u_customer"
        },
        "payment": {
            "id": "EP9b34-a402",
            "type": "purchase",
            "status": "success",
            "date": "2019-04-23T13:39:57+0000",
            "method": "BankTransferViaInterac",
            "sum": {
                "amount": 10000,
                "currency": "CAD"
            },
            "is_new_attempts_available": false,
            "attempts_timeout": 0,
            "description": ""
        },
        "customer_data": {
            "first_name": "Aleksandrs",
            "last_name": "Ralovecs",
            "phone": "3712946371",
            "email": "a@mail.com",
            "ip_address": "192.168.15.1"
        },
        "operation": {
            "id": 2000000035,
            "type": "sale",
            "status": "success",
            "date": "2019-04-23T13:39:57+0000",
            "created_date": "2019-04-23T13:39:31+0000",
            "request_id": "60c673c94434ae",
            "sum_initial": {
                "amount": 10000,
                "currency": "CAD"
            },
            "sum_converted": {
                "amount": 10000,
                "currency": "CAD"
            },
            "provider": {
                "id": 39552,
                "payment_id": "",
                "auth_code": ""
            },
            "code": "0",
            "message": "Success"
        },
        "signature": "OwrbC2qrL/4aHWaM97A4vZO5tt3K1G7kZy2uUaCaqMmUc1LLQrEDZVqE2nFuoQoenRSlc7jg=="
    }
}

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

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

{  
{
        "project_id": 3955,
        "customer": {
            "id": "u_customer"
        },
        "payment": {
            "id": "EP9b34-a402",
            "type": "purchase",
            "status": "decline",
            "date": "2019-04-23T13:39:57+0000",
            "method": "BankTransferViaInterac",
            "sum": {
                "amount": 10000,
                "currency": "CAD"
            },
            "is_new_attempts_available": false,
            "attempts_timeout": 0,
            "description": ""
        },
        "customer_data": {
            "first_name": "Aleksandrs",
            "last_name": "Ralovecs",
            "phone": "3712946371",
            "email": "a@mail.com",
            "ip_address": "192.168.15.1"
        },
        "operation": {
            "id": 2000000035,
            "type": "sale",
            "status": "decline",
            "date": "2019-04-23T13:39:57+0000",
            "created_date": "2019-04-23T13:39:31+0000",
            "request_id": "60c673c94434ae",
            "sum_initial": {
                "amount": 10000,
                "currency": "CAD"
            },
            "sum_converted": {
                "amount": 10000,
                "currency": "CAD"
            },
            "provider": {
                "id": 39552,
                "payment_id": "",
                "auth_code": ""
            },
            "code": "100",
            "message": "General decline"
            },
        "signature": "OwrbC2qrL/4aHWaM97A4vZO5tt3K1G7kZy2uUaCaqMmUc1LLQrEDZVqE2nFuoQoenRSlc7jg=="
    }
} 

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

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

Возвраты через Gate

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

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



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

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

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

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

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

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

Таким образом, корректный запрос на возврат с применением метода Interac E-Transfer должен содержать идентификаторы проекта и платежа, подпись и IP-адрес пользователя:

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

{
   "general": {    
    "project_id": 239,    
    "payment_id": "refund_01",   
    "signature": "of8k9xerKSK4XL1QFaDH3p9Mh0CIcjmOwSwKJ7Kdfgds/\dsf3fbsa3LTZYO56lCv+f1M0Sf/7eg=="
  },  
   "customer": {    
     "ip_address": "1.2.3.4" 
  },  
   "payment": {    
     "amount": 10000,    
     "currency": "CAD",
     "description": "refund"
 }
}

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

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

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

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

{
{
        "project_id": 3955,
        "customer": {
            "id": "22007b"
        },
        "payment": {
            "id": "EP9b34-a402",
            "type": "purchase",
            "status": "partially refunded",
            "date": "2019-04-23T13:45:03+0000",
            "method": "BankTransferViaInterac",
            "sum": {
                "amount": 10000,
                "currency": "CAD"
            },
            "is_new_attempts_available": false,
            "attempts_timeout": 0,
            "description": ""
        },
        "customer_data": {
            "first_name": "Aleksandrs",
            "last_name": "Ralovecs",
            "phone": "3712946371",
            "email": "a@mail.com",
            "ip_address": "192.168.15.1"
        },
        "operation": {
            "id": 2000000036,
            "type": "refund",
            "status": "success",
            "date": "2019-04-23T13:45:03+0000",
            "created_date": "2019-04-23T13:44:58+0000",
            "request_id": "17cffbc5fa8e",
            "sum_initial": {
                "amount": 1000,
                "currency": "CAD"
            },
            "sum_converted": {
                "amount": 1000,
                "currency": "CAD"
            },
            "provider": {
                "id": 39552,
                "payment_id": "",
                "auth_code": ""
            },
            "code": "0",
            "message": "Success"
        },
        "signature": "3iDuT6GnO3arf9Nbd2oj41DWY0ciw7Rop8+pv3gdSnu79cvsn9AsA23iSYwJBu23o2rya3vw=="
    }
}

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

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

{
 {
        "project_id": 3955,
        "customer": {
            "id": "22007b"
        },
        "payment": {
            "id": "EPd4b6-9544",
            "type": "purchase",
            "status": "success",
            "date": "2019-04-23T13:37:58+0000",
            "method": "BankTransferViaInterac",
            "sum": {
                "amount": 1000,
                "currency": "CAD"
            },
            "is_new_attempts_available": false,
            "attempts_timeout": 0,
            "description": ""
        },
        "customer_data": {
            "first_name": "Aleksandrs",
            "last_name": "Ralovecs",
            "phone": "3712946371",
            "email": "a@mail.com",
            "ip_address": "192.168.15.1"
        },
        "fee": {
            "amount": 0,
            "currency": "CAD"
        },
        "operation": {
            "id": 31,
            "type": "refund",
            "status": "decline",
            "date": "2019-04-23T13:37:58+0000",
            "created_date": "2019-04-23T13:37:53+0000",
            "request_id": "e209a32a666c2f322dd7ca7f2",
            "sum_initial": {
                "amount": 2000,
                "currency": "CAD"
            },
            "sum_converted": {
                "amount": 2000,
                "currency": "CAD"
            },
            "provider": {
                "id": 39551,
                "payment_id": "",
                "auth_code": ""
            },
            "code": "100",
            "message": "General decline"
        },
        "signature": "jxpv2GmZmQi2W6cEy3m9IyjfAAXNByn6RxpHOY7Je0A8rN7FfEvsDs4HC9X0Im3vQ61xJ0Ag=="
    }
}

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

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

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

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

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



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

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

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

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

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

  1. Доступны два варианта проведения выплаты методом Interac E-Transfer:
    • E-Transfer — выплата по номеру мобильного телефона и адресу электронной почты пользователя, подключенным к сервису Interac E-Transfer,
    • Express-Connect — прямая выплата по банковским реквизитам пользователя.
    URL и обязательные параметры запроса на выплату отличаются в зависимости от выбранного способа проведения. Подробную информацию см. ниже.
  2. Должен использоваться запрос, отправляемый методом POST:
  3. В запросе должны использоваться следующие объекты и параметры:
    • general — основные сведения:
      • project_id — идентификатор проекта,
      • payment_id — идентификатор платежа,
      • signature — подпись запроса, составленная после указания целевых параметров (подробнее — в разделе Использование подписи к данным;
    • customer — сведения о пользователе:
      • id — идентификатор в проекте,
      • ip_address — используемый IP-адрес,
      • first_name — имя пользователя,
      • last_name — фамилия пользователя,
      • email — электронный адрес пользователя,
      • phone — номер телефона;
    • payment — сведения о платеже:
      • amount — сумма,
      • currency — валюта;
    • account — сведения о счёте пользователя (обязательно только для выплат Express-Connect):
      • number — личный номер счёта (требуемое название поля для ввода значения на стороне провайдера — Account Number),
      • fin — номер финансового учреждения (требуемое название поля для ввода значения на стороне провайдера — Financial Institution Number),
      • iban — транзитный (филиальный) номер банковского счёта (требуемое название поля для ввода значения на стороне провайдера — Transit or Branch).
  4. Валютой платежа может быть только CAD.
  5. Дополнительно могут использоваться все параметры, указанные в спецификации.

Таким образом, корректный запрос на выплату с применением метода Interac E-Transfer должен содержать идентификаторы проекта и платежа, данные пользователя, валюту и сумму платежа, а также данные счёта пользователя для зачисления средств при выплате Express-Connect:

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

 {
  "general": {
    "project_id": 3027,
    "payment_id": "Payout 12",
    "signature": "M1vT4q9c8hA8xCjEwGFSANwbxHS+9XAaq7vt3/Jkn+aJmGA4...=="
  },
   "customer": {
     "id": "customer_u",
     "ip_address": "1.1.1.1",
     "first_name": "John",
     "last_name": "Johnson",      
     "email": "johnson@mail.com",  
     "phone": "16132354341"
  },
   "payment": {
     "amount": 10000,
     "currency": "CAD"
  }
}

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

 {
  "general": {
    "project_id": 3027,
    "payment_id": "Payout 12",
    "signature": "M1vT4q9c8hA8xCjEwGFSANwbxHS+9XAaq7vt3/Jkn+aJmGA4...=="
  },
   "customer": {
     "id": "customer_u",
     "ip_address": "1.1.1.1",
     "first_name": "John",
     "last_name": "Johnson",      
     "email": "johnson@mail.com",  
     "phone": "16132354341"
  },
   "account": {    
     "number": "1234567",
     "fin": "111",
     "iban": "12345"
  },
  "payment": {
     "amount": 10000,
     "currency": "CAD"
  }
}

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

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

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

Рис.: Пример оповещения об успешном проведении выплаты E-Transfer

{
 {
        "project_id": 763,
        "payment": {
            "id": "227",
            "type": "payout",
            "status": "success",
            "date": "2019-04-23T11:20:55+0000",
            "method": "Interac",
            "sum": {
                "amount": 10000,
                "currency": "CAD"
            },
            "description": ""
        },
        "customer": {
            "id": "customer_u",
            "phone": "9510000000"
        },
        "operation": {
            "id": 66,
            "type": "payout",
            "status": "success",
            "date": "2019-04-23T11:20:55+0000",
            "created_date": "2019-04-23T11:20:50+0000",
            "request_id": "88cbdf4e4d",
            "sum_initial": {
                "amount": 10000,
                "currency": "CAD"
            },
            "sum_converted": {
                "amount": 10000,
                "currency": "CAD"
            },
            "provider": {
                "id": 1394,
                "payment_id": "",
                "auth_code": ""
            },
            "code": "0",
            "message": "Success"
        },
        "signature": "eF5LBsZWb4tuAGXDih1H0l67WNcqm7CCbOME8TEgmI3WuG5akYdzIB1gm88z7M0z4zWxNOg=="
        }
}

Рис.: Пример оповещения об успешном проведении выплаты Express-Connect

{
{
        "project_id": 763,
        "payment": {
            "id": "577",
            "type": "payout",
            "status": "success",
            "date": "2019-04-23T11:21:33+0000",
            "method": "BankTransferViaInterac",
            "sum": {
                "amount": 10000,
                "currency": "CAD"
            },
            "description": ""
        },
        "account": {
            "number": "1234567"
        },
        "customer": {
            "id": "customer_u"
        },
        "operation": {
            "id": 1000000063,
            "type": "payout",
            "status": "success",
            "date": "2019-04-23T11:21:33+0000",
            "created_date": "2019-04-23T11:21:25+0000",
            "request_id": "96eb9ba72a2131a22a705c5b27e9",
            "sum_initial": {
                "amount": 10000,
                "currency": "CAD"
            },
            "sum_converted": {
                "amount": 10000,
                "currency": "CAD"
            },
            "provider": {
                "id": 1393,
                "payment_id": "",
                "auth_code": ""
            },
            "code": "0",
            "message": "Success"    
        },
        "signature": "eF5LBsZWb4tuAGXDih1H0l67W7CCJHh8pbOME8TEgmI3WuG5akYdzIB1gm88z7M0z4zWxNOg=="
        }
}

В этом примере выплата была отклонена.

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

{
{
        "project_id": 763,
        "payment": {
            "id": "577",
            "type": "payout",
            "status": "decline",
            "date": "2019-04-23T11:21:33+0000",
            "method": "BankTransferViaInterac",
            "sum": {
                "amount": 100000,
                "currency": "CAD"
            },
            "description": ""
        },
        "account": {
            "number": "1234567"
        },
        "customer": {
            "id": "customer_u"
        },
        "operation": {
            "id": 1000000063,
            "type": "payout",
            "status": "decline",
            "date": "2019-04-23T11:21:33+0000",
            "created_date": "2019-04-23T11:21:25+0000",
            "request_id": "96eb9ba72a2131a22a705c5b27e9",
            "sum_initial": {
                "amount": 100000,
                "currency": "CAD"
            },
            "sum_converted": {
                "amount": 100000,
                "currency": "CAD"
            },
            "provider": {
                "id": 1393,
                "payment_id": "",
                "auth_code": ""
            },
            "code": "100",
            "message": "General decline"
            },
        "signature": "eF5LBsZWb4tuAGXDih1H0l67W7CCJHh8pbOME8TEgmI3WuG5akYdzIB1gm88z7M0z4zWxNOg=="
        }
}

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

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

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

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

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

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

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

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