CUP Banks
Обзор
CUP Banks — платёжный метод, который поддерживает проведение оплат и выплат с помощью брендированных платёжных карт China UnionPay (CUP), эмитированных китайскими и иностранными банками, в рамках международной платёжной системы CUP. Для работы с этим методом доступно проведение оплат через Payment Page и Gate, выплат — через Gate.
Характеристика
Тип платёжного метода | банковские платежи |
---|---|
Платёжные инструменты | платёжные карты |
Регионы использования | Китай |
Валюты платежей | CNY |
Конвертация валют | – |
Оплаты | + |
Выплаты | + |
Оплаты по сохранённым данным | – |
Полные возвраты | – |
Частичные возвраты | – |
Опротестования | – |
Особенности | Не поддерживается на мобильных устройствах |
Организация и стоимость подключения | По согласованию с курирующим менеджером ecommpay |
Схема работы
В проведении отдельного платежа с использованием CUP Banks задействуются веб–сервис мерчанта, один из интерфейсов и платёжная платформа ecommpay, а также технические средства сервиса CUP Banks.
Основные операции
Интерфейсы | Суммы, CNY * | Время** | ||||||
---|---|---|---|---|---|---|---|---|
Payment Page | CMS Plug-ins | Gate | Dashboard | Минимум | Максимум | Базовое | Предельное | |
Оплаты | + | – | + | – | 100.00 | 100,000.00 | 5 минут | * |
Выплаты | – | – | + | – | 100.00 | 49,999.00 | * | * |
* Подробную информацию уточняйте у вашего курирующего менеджера.
** Базовое и предельное время определяются следующим образом:
- Базовое время — среднее расчётное время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Это время, определяемое для условий штатной работы всех технических средств и каналов связи, а также типичных действий со стороны пользователя (там, где они необходимы). Базовое время рекомендуется использовать для реагирования на отсутствие оповещений о результате платежа и выполнения опроса состояния платежа.
- Предельное время — максимально допустимое время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Если платёж не был проведён или отклонён за это время, он автоматически переводится в статус
decline
. Для индивидуальной настройки предельного времени следует обращаться к специалистам технической поддержки ecommpay.
Сценарии использования
Проведение оплат с использованием метода CUP Banks выполняется с перенаправлением пользователей к сервисам CUP Banks, проведение выплат — с уведомлением пользователей через веб–сервис мерчанта.
Рис.: Оплата через Payment Page
Рис.: Оплата через Gate
Рис.: Выплата через Gate
Поддержка со стороны банков
Проведение оплат и выплат с применением метода CUP Banks осуществляется через банки, поддерживающие работу с этим методом. Банкам соответствуют свои идентификаторы, которые используются при инициировании выплат через Gate. При проведении оплат через Gate идентификаторы не используются, поскольку пользователь выбирает банк на стороне сервиса CUP Banks.
Далее в таблице в ознакомительных целях представлена информация поддерживаемых банках. Эту информацию можно уточнять у курирующего менеджера ecommpay, а также с помощью запроса /v2/info/banks/chinaunionpay/payout/list
, относящегося к /v2/info/banks/{payment_method}/{operationType}/list.
Запрос должен содержать идентификаторы проекта и платежа, подпись, валюту и сумму платежа, как указано в примере. Важно передавать реальные данные о платеже, но в случае если платёж еще не сформирован, для идентификатора платежа в запросе можно указать случайное значение.
Рис.: Пример запроса списка банков
{ "general": { "project_id": 200, "payment_id": "ORDER_155860015", "signature": "K6jllym+PtObocZtr345st...==" }, "payment": { "amount": 1000, "currency": "CNY" } }
Банк | ID |
---|---|
Agricultural Bank Of China | 1 |
Agricultural Development Bank of China | 1921 |
Anhui Rural Credit Cooperatives Association | 278 |
Anshan City Commercial Bank | 276 |
Asiana Bank | 277 |
Bank of Beijing Co., Ltd | 5 |
Bank Of Chengdu | 7 |
Bank Of China | 6 |
Bank Of Chongqing | 55 |
Bank of Communications | 2 |
Bank of Dalian | 574 |
Bank of Dongguan | 40 |
Bank Of East Asia | 3 |
Bank of Fushun | 1971 |
Bank of Hangzhou | 311 |
Bank Of Jiangsu | 24 |
Bank of Nanjing | 26 |
Bank of Ningbo | 25 |
Bank Of Qingdao | 349 |
Bank Of Qinghai | 55501 |
Bank of Tianjin | 363 |
Baoshang Bank | 279 |
Beibu Gulf Of Guangxi | 37 |
Beijing Rural Commercial Bank | 4 |
Beijing Shunyi Ginza Village Bank | 281 |
Changan Bank | 286 |
Changsha Bank | 283 |
Changshu Rural Commercial Bank | 288 |
Chengde Bank | 284 |
Chengdu Rural Commercial Bank | 38 |
China Citic Bank | 12 |
China Construction Bank | 9 |
China Everbright Bank | 10 |
China Guangfa Bank | 178 |
China Merchants Bank | 13 |
China ZheShang Bank | 15 |
Chongqing Qianjiang Yinzuo Village Bank | 285 |
Chongqing Rural Commercial Bank | 39 |
Chongqing Yinbei Ginza Village Bank | 290 |
Citibank China | 1961 |
Corporate Banking (China) | 287 |
Deyang Bank | 294 |
Dongguan Rural Commercial Bank | 293 |
Dongying Bank | 291 |
Dongying Lai Shangcun Town Bank Co., Ltd. | 292 |
Foshan Shunde Rural Commercial Bank | 841 |
Fudian Bank | 42 |
Fujian Rural Credit Cooperative Union | 297 |
Fujian Straits Bank | 298 |
Fuxin Bank | 295 |
Guangdong Development Bank | 17 |
Guangdong Huaxing Bank | 303 |
Guangdong Nanyue Bank | 301 |
Guangdong Nongxin | 55451 |
Guangdong Rural Commercial Bank | 55461 |
Guangdong Rural Credit Cooperative | 861 |
Guangzhou Bank | 576 |
Guangzhou Rural Commercial Bank | 305 |
Guilin Bank Co., Ltd. | 300 |
Guiyang Bank | 304 |
Haikou United Rural Commercial Bank Co., Ltd. | 315 |
Hainan Rural Credit Cooperative | 314 |
Handan Commercial Bank | 309 |
Hangzhou United Rural Commercial Bank | 1951 |
Hankou Bank | 19 |
Harbin Bank | 308 |
Hebei Bank | 43 |
Henan Agricultural Credit Union | 55471 |
Hengshui Bank | 312 |
HSBC China | 1911 |
Hua Xia Bank Co., Ltd | 21 |
Hubei Bank | 306 |
Hubei Rural Credit | 313 |
HuiShang bank | 20 |
Huludao Bank | 310 |
Huzhou Bank | 921 |
HZB | 22 |
Industrial and Commercial Bank of China | 23 |
Industrial Bank | 11 |
Inner Mongolia Bank | 316 |
Ji Bank | 336 |
Jiangsu Changjiang Bank | 55481 |
Jiangsu Rural Credit Cooperatives Association | 326 |
Jiangxi Ganzhou Yinza Village Bank | 328 |
Jiangxi Rural Credit Cooperatives | 961 |
Jiangxi Sheng | 18 |
Jiangyin Rural Commercial Bank | 320 |
Jilin Bank | 323 |
Jilin Sheng | 16 |
Jincheng Bank | 319 |
Jining Bank | 324 |
Jinshang Bank | 1001 |
Jinzhou Bank | 329 |
Jiujiang Bank | 45 |
KEB Bank(China) | 1941 |
Kunlun Bank | 331 |
Kunshan Rural Commercial Bank | 332 |
Lai Shang Bank | 337 |
Langfang Bank | 334 |
Liuzhou Bank | 341 |
Longjiang Bank | 335 |
Luohe Commercial Bank | 55491 |
Luoyang Bank | 339 |
Luzhou Bank | 340 |
Luzhou Bank | 391 |
Mianyang City Commercial Bank | 342 |
Minsheng Bank | 14 |
Mizuho Industrial Bank | 1931 |
Nanchang Bank | 343 |
Nanchong City Commercial Bank | 344 |
Ningbo Tongshang Bank Co. Ltd | 345 |
Ningxia Bank | 47 |
Ordos Bank | 346 |
Panzhihua City Commercial Bank | 347 |
Ping An Bank | 27 |
Pingdingshan Bank | 348 |
Postal Savings Bank of China | 28 |
Qishang Bank | 49 |
Rizhao Bank | 50 |
Shandong Agricultural Union | 354 |
Shang Rao Bank | 357 |
Shanghai Bank | 31 |
Shanghai Pudong Development Bank | 32 |
Shanghai Rural Commercial Bank | 33 |
Shaoxing Bank | 359 |
Shengjing Bank | 52 |
Shenzhen Futian Ginza Village Bank | 356 |
Shenzhen Qianhai Weizhong Bank | 361 |
Shenzhen Rural Commercial Bank | 392 |
Shinhan Bank China | 355 |
Sichuan Provincial Associated Press | 360 |
Suzhou Bank | 362 |
Tai’An City Commercial Bank | 1181 |
Taicang Agricultural Firm | 365 |
Taiwan Sheng | 30 |
Taizhou Bank | 367 |
Texas Bank | 366 |
The Bank of Bohai | 8 |
The Central Bank | 387 |
Tianjin Rural Commercial Bank | 364 |
Tianjin Shi | 29 |
Urumqi Commercial Bank | 368 |
Weifang Bank | 370 |
Weihai City Commercial Bank | 369 |
Wenzhou Bank | 34 |
Woori Bank | 372 |
Wuhan Rural Commercial Bank | 371 |
Wujiang Rural Commercial Bank | 373 |
Xiamen Bank | 54 |
Xi'an Bank | 375 |
XTB | 188 |
Yantai Bank | 379 |
Yellow River Rural Commercial Bank | 378 |
Yingkou Bank | 376 |
Yingkou Rongsheng Rural Commercial Bank | 55511 |
Yinzhou Bank | 338 |
Yunnan Rural Credit Cooperatives | 377 |
Zaozhuang Bank | 390 |
Zhangjiagang Rural Commercial Bank | 383 |
Zhangjiakou Commercial Bank | 189 |
Zhejiang Chouzhou Commercial Bank | 380 |
Zhejiang Internet Commercial Bank | 1281 |
Zhejiang Jingning Ginza Village Bank | 385 |
Zhejiang Mintai Commercial Bank | 386 |
Zhejiang Rural Credit Cooperative | 388 |
Zhejiang Sanmen Ginza Village Bank | 389 |
Zhejiang Tailong Commercial Bank | 46 |
Zhuhai China Resources Bank | 1331 |
Zigong City Commercial Bank | 1341 |
Регионы проведения выплат
При проведении выплаты с использованием метода CUP Banks передаётся регион банка счёта пользователя. Для этого используется идентификатор региона, который передаётся в параметре region_id в запросе на выплату. Далее в таблице приведена информация о регионах и их идентификаторах.
Наименование региона | Идентификатор региона |
---|---|
Anhui Sheng | 1 |
Beijing Shi | 2 |
Chongqing Shi | 3 |
Fujian Sheng | 4 |
Guangdong Sheng | 5 |
Gansu Sheng | 6 |
Guangxi Zhuangzu Zizhiqu | 7 |
Guizhou Sheng | 8 |
Henan Sheng | 9 |
Hubei Sheng | 10 |
Hebei Sheng | 11 |
Hainan Sheng | 12 |
Hong Kong SAR | 13 |
Heilongjiang Sheng | 14 |
Hunan Sheng | 15 |
Jilin Sheng | 16 |
Jiangsu Sheng | 17 |
Jiangxi Sheng | 18 |
Liaoning Sheng | 19 |
Macau SAR | 20 |
Nei Mongol Zizhiqu | 21 |
Ningxia Huizi Zizhiqu | 22 |
Qinghai Sheng | 23 |
Sichuan Sheng | 24 |
Shandong Sheng | 25 |
Shanghai Shi | 26 |
Shaanxi Sheng | 27 |
Shanxi Sheng | 28 |
Tianjin Shi | 29 |
Taiwan Sheng | 30 |
Xinjiang Uygur Zizhiqu | 31 |
Xizang Zizhiqu | 32 |
Yunnan Sheng | 33 |
Zhejiang Sheng | 34 |
Детальные сведения о том, что необходимо делать со стороны мерчанта для проведения оплат и выплат, а также о том, что можно использовать для анализа информации о проведённых платежах и операциях, представлены далее.
Оплаты через Payment Page
Общая информация
Для оплаты через Payment Page с использованием метода CUP Banks со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay и принять оповещение о результате оплаты. При этом метод CUP Banks можно делать предварительно выбранным (подробнее — в разделе Предварительный выбор платёжных методов). Полная схема проведения оплаты представлена далее.
Рис.: Проведение оплаты через Payment Page
- Пользователь на стороне веб-сервиса инициирует оплату.
- От веб-сервиса на заданный URL ecommpay передаётся запрос на проведение оплаты через Payment Page.
- Запрос на проведение оплаты поступает в платёжную платформу.
- Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
- Осуществляется генерация Payment Page согласно настройкам проекта и параметрам вызова.
- Пользователю отображается сгенерированная платёжная форма.
- Пользователь выбирает платёжный метод CUP Banks и подтверждает готовность использовать этот метод (если метод был задан предварительно выбранным, то только подтверждает готовность).
- Запрос на проведение оплаты в сервисе CUP Banks поступает в платёжную платформу.
- Выполняются дальнейшая обработка запроса и его отправка в сервис CUP Banks.
- На стороне CUP Banks выполняется обработка запроса на оплату.
- От сервиса CUP Banks к платёжной платформе передаются данные для перенаправления пользователя к сервису CUP Banks.
- Данные для перенаправления пользователя к сервису CUP Banks передаются к Payment Page.
- Пользователь перенаправляется к сервису CUP Banks.
- Пользователь выбирает интернет-банкинг.
- Пользователь перенаправляется на страницу интернет-банкинга.
- Пользователь совершает необходимые действия для оплаты.
- На стороне CUP Banks выполняется обработка платежа.
- От сервиса CUP Banks к платёжной платформе направляется уведомление о результате оплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
- От платёжной платформы к Payment Page направляется результат проведения оплаты.
- Результат оплаты отображается пользователю на Payment Page.
Информация о формате запросов и параметрах вызова Payment Page при работе с методом CUP Banks, а также о формате оповещений о результатах оплат приведена далее. Общая информация о работе с API — в разделе Описание Payment Page API.
Формат запросов
При формировании запросов на открытие платёжной формы с применением метода CUP Banks необходимо учитывать следующее:
- Должен использоваться базовый минимум параметров — параметры, обязательные для любого платёжного метода:
- project_id — идентификатор проекта, полученный от ecommpay при интеграции;
- payment_id — идентификатор платежа, уникальный в рамках проекта;
- payment_amount — сумма платежа в дробных единицах валюты;
- payment_currency — валюта платежа в формате ISO-4217 alpha-3;
- customer_id — идентификатор пользователя уникальный в рамках проекта.
- Дополнительно должны использоваться параметры:
- language_code — код языка Payment Page в формате ISO 639-1 alpha-2; необходимо указать код
zh
; - payment_description — описание платежа.
- language_code — код языка Payment Page в формате ISO 639-1 alpha-2; необходимо указать код
- Для предварительного выбора метода CUP Banks необходимо указывать в параметре force_payment_method код платёжного метода —
cup-bank
. - Валютой платежа может быть только CNY.
- Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page.
- После указания целевых параметров необходимо составлять подпись (подробнее — в разделе Работа с подписью к данным).
Таким образом, корректный запрос на открытие платёжной формы с применением метода CUP Banks должен содержать идентификатор, валюту, сумму и описание платежа, идентификаторы проекта и пользователя, код языка и подпись:
EPayWidget.run( { payment_id: 'TEST_154', payment_amount: 1000, payment_currency: 'CNY', payment_description: 'test payment', project_id: 581, language_code: 'zh', customer_id: 'customer121', signature: "xq9k0XaXE0Ig0s%2B4%2BM2gtmkytwe3%2BP1pzXw%2BNPTTGrS%...==" } )
Подробнее обо всех указанных параметрах см. Параметры вызова платёжной формы.
Формат оповещений
Для оповещений о результатах оплат с применением метода CUP Banks используется стандартный формат, описание которого представлено в разделе Оповещения.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 200
была успешно проведена оплата в размере 100,00 CNY
.
Рис.: Пример оповещения о проведении оплаты
{ "project_id": 200, "payment": { "id": "ECT_TEST_15528942647389318", "type": "purchase", "status": "success", "date": "2019-03-19T15:22:05+0000", "method": "cup-bank", "sum": { "amount": 10000, "currency": "CNY" }, "description": "ECT_TEST_1552894260335" }, "customer": { "id": "1" }, "operation": { "id": 24276000000595, "type": "sale", "status": "success", "date": "2019-03-19T15:22:05+0000", "created_date": "2019-03-19T15:18:11+0000", "request_id": "6cb000fda4402cabff6b7a4c7f9f301eec3d8d52", "sum_initial": { "amount": 10000, "currency": "CNY" }, "sum_converted": { "amount": 10000, "currency": "CNY" }, "provider": { "id": 1129, "payment_id": "4RrI6DNXLhRWZuMKnOd4MqFd9yPDw4Yk", "auth_code": "" }, "code": "0", "message": "Success" }, "signature": "H9j5S+t+jKeVs717ET765vHJKIISkNb4YdkIemQDjTMKlH eskFU6OjIlIzvgnJCFhJxiKNLstiVoAUrWbDAHSQ==" }
В следующем примере оплата была отклонена из-за недостатка средств на счёте пользователя.
Рис.: Пример оповещения об отказе в проведении оплаты
{ "project_id": 580, "payment": { "id": "cup-bank-012", "type": "purchase", "status": "decline", "date": "2019-03-27T10:58:25+0000", "method": "cup-bank", "sum": { "amount": 1002, "currency": "CNY" }, "description": "cup-bank-test-payout" }, "account": { "number": "6217003760136456530" }, "customer": { "id": "金艳" }, "operation": { "id": 30960000000814, "type": "sale", "status": "decline", "date": "2019-03-27T10:58:26+0000", "created_date": "2019-03-27T10:58:23+0000", "request_id": "65a09bb143bc051a9fa326155ac509768", "sum_initial": { "amount": 1002, "currency": "CNY" }, "sum_converted": { "amount": 1002, "currency": "CNY" }, "provider": { "id": 1180, "payment_id": "", "auth_code": "" }, "code": "20105", "message": "Insufficient funds on customer account" }, "signature": "Hn53oZbiN1/yTQXuMuLih+ojsQrkpFqByvwXz1q2WEIiw VO2K8h7uqYpyKJDayaAjnFGm1PFkqCA+E/nVQ1Hcg==" }
Дополнительные материалы
Для организации работы с оплатами через Payment Page также могут быть полезны следующие материалы:
Оплаты через Gate
Общая информация
Для оплаты через Gate с использованием метода CUP Banks со стороны веб-сервиса необходимо:
- Отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay.
- Осуществить перенаправление пользователя к форме оплаты CUP Banks.
- Принять оповещение о результате оплаты.
Рис.: Проведение оплаты через Gate
- Пользователь на стороне веб-сервиса инициирует оплату методом CUP Banks.
- От веб-сервиса на заданный URL ecommpay передаётся запрос на проведение оплаты через Gate.
- Запрос на проведение оплаты поступает в платёжную платформу.
- Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
- От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности.
- В платёжной платформе выполняются дальнейшая обработка запроса и его отправка в сервис CUP Banks.
- На стороне CUP Banks выполняется обработка запроса на оплату.
- От сервиса CUP Banks к платёжной платформе передаются данные для перенаправления пользователя к сервису CUP Banks.
- От платёжной платформы к веб-сервису направляется оповещение с данными для перенаправления пользователя к сервису CUP Banks.
- Пользователь перенаправляется к сервису CUP Banks.
- Пользователь выбирает интернет-банкинг.
- Пользователь перенаправляется на страницу интернет-банкинга.
- Пользователь совершает необходимые действия для оплаты.
- На стороне CUP Banks выполняется обработка платежа.
- От сервиса CUP Banks к платёжной платформе направляется уведомление о результате оплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
- От веб-сервиса пользователю направляется результат оплаты.
Информация о формате запросов и параметрах инициирования оплат через Gate при работе с методом CUP Banks, а также о форматах данных для перенаправления пользователей и о формате оповещений о результатах оплат приведена далее. Общая информация о работе с API — в разделе Работа с API.
Формат запросов
При формировании запросов на оплату с применением метода CUP Banks необходимо учитывать следующее:
- Должен использоваться запрос, отправляемый методом POST на /v2/payment/cup/bank/sale.
- В запросе должны использоваться следующие объекты и параметры:
- general — объект, содержащий основные идентификационные сведения запроса:
- project_id — идентификатор проекта, полученный от ecommpay при интеграции;
- payment_id — идентификатор платежа, уникальный в рамках проекта;
- signature — подпись запроса, составленная после указания целевых параметров (подробнее — в разделе Использование подписи к данным);
- customer — объект, содержащий сведения о пользователе:
- id — идентификатор, уникальный в рамках проекта,
- ip_address — IP-адрес,
- first_name — имя, написанное только на китайском языке,
- last_name — фамилия, написанное только на китайском языке,
- street — улица проживания,
- city — город проживания,
- zip — почтовый индекс,
- country — код страны в формате ISO 3166-1 alpha-2,
- phone — номер телефона без знака +,
- email — адрес электронной почты;
- payment — объект, содержащий сведения о платеже:
- amount — сумма платежа в дробных единицах валюты,
- currency — валюта платежа в формате ISO-4217 alpha-3,
- description — описание;
- return_url — URL для перенаправления пользователя:
- success — при успехе.
- general — объект, содержащий основные идентификационные сведения запроса:
- Валютой платежа может быть только CNY.
- Дополнительно могут использоваться все параметры, указанные в спецификации.
Таким образом, корректный запрос на оплату с применением метода CUP Banks должен содержать общую информацию о запросе, данные о пользователе, платеже и URL для перенаправления:
{ "general": { "project_id": 200, "payment_id": "ECT_TEST_1559106834731-9", "signature": "yzWwFC70Exu6K5UhylPzyh8/QORz6HjULx87emy3AybWK4U1 wVJCU8bja04/+m7BBpkx3NoL5/n76ZPxLd0BQA==" }, "customer": { "ip_address": "111.254.255.479", "first_name": "Maru", "last_name": "Maru", "street":"street", "city": "city", "zip": "123045607", "country": "CH", "phone": "120450780", "email": "test@email.com", "id": "123" } }, "payment": { "amount": 1000, "currency": "CNY", "description": "test payment" }, "return_url":{ "success" : "http://success.com" } }
Форматы данных для перенаправления пользователей
Для перенаправления пользователя от веб-сервиса на сайт сервиса CUP Banks необходимо принять оповещение от платёжной платформы, содержащее ссылку для перенаправления в параметре redirect_data.url и данные для отправки в теле запроса redirect_data.body, и использовать эти параметры при открытии HTML-страницы сайта методом, указанным в redirect_data.method. Данные в теле запроса redirect_data.body могут отличаться в зависимости от провайдера, обрабатывающего платёж.
Далее приведён фрагмент оповещения, содержащего URL для перенаправления.
"redirect_data": { "method": "GET", "body": { merchantId: "0004", version: "v1", inputCharset: "UTF-8", merchantTradeId: "dslkjfhslkhfssdusk.jnk.s", currency: "CNY", payType: "EC", issuingBank: "UNIONPAY", amountFee: "502", deviceType: "WEB", goodsTitle: "结算款项", returnUrl: "https://www.funtopay.com/hefu/return/", notifyUrl: "https://www.funtopay.com/hefu/notify/", signType: "RSA", sign: "TZUmn8bhp7BO93V06JxJCaf5xi+Sne0eVfVOCt1mi6+YAdnY/IfbEBHC2yPXTRRGmquaKSE3uuiL6AfnOm dTtjJznRCw3Wo5jjfSwE0GkG+D25XlC712Et33l0TH+Gcf4QRiba6xOVlvPKpK0OK/svObtPpPr0o/q+8zTX+El6w=" }, "encrypted": [], "url": "http://payment.qixiqiang.com/payment/v3/unionpayIntGate.html" }
Формат оповещений
Для оповещений о результатах оплат с применением метода CUP Banks используется стандартный формат, описание которого представлено в разделе Оповещения.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 200
была успешно проведена оплата в размере 100,00 CNY
.
Рис.: Пример оповещения о проведении оплаты
{ "project_id": 200, "payment": { "id": "ECT_TEST_15528942647389318", "type": "purchase", "status": "success", "date": "2019-03-19T15:22:05+0000", "method": "cup-bank", "sum": { "amount": 10000, "currency": "CNY" }, "description": "ECT_TEST_1552894260335" }, "customer": { "id": "1" }, "operation": { "id": 24276000000595, "type": "sale", "status": "success", "date": "2019-03-19T15:22:05+0000", "created_date": "2019-03-19T15:18:11+0000", "request_id": "6cb000fda4402cabff6b7a4c7f9f301eec3", "sum_initial": { "amount": 10000, "currency": "CNY" }, "sum_converted": { "amount": 10000, "currency": "CNY" }, "provider": { "id": 1129, "payment_id": "4RrI6DNXLhRWZuMKnOd4MqFd9yPDw4Yk", "auth_code": "" }, "code": "0", "message": "Success" }, "signature": "H9j5S+t+jKeVs717ET765vHJKIISkNb4YdkIemQDj TMKlHeskFU6OjIlIzvgnJCFhJxiKNLstiVoAUrWbDAHSQ==" }
В следующем примере оплата была отклонена из-за недостатка средств на счёте пользователя.
Рис.: Пример оповещения об отказе в проведении оплаты
{ "project_id": 580, "payment": { "id": "cup-bank-012", "type": "purchase", "status": "decline", "date": "2019-03-27T10:58:25+0000", "method": "cup-bank", "sum": { "amount": 1002, "currency": "CNY" }, "description": "cup-bank-test-payout" }, "account": { "number": "6217003760136456530" }, "customer": { "id": "金艳" }, "operation": { "id": 30960000000814, "type": "payout", "status": "decline", "date": "2019-03-27T10:58:26+0000", "created_date": "2019-03-27T10:58:23+0000", "request_id": "65a09bb143bc051a9fa326155ac5097", "sum_initial": { "amount": 1002, "currency": "CNY" }, "sum_converted": { "amount": 1002, "currency": "CNY" }, "provider": { "id": 1180, "payment_id": "", "auth_code": "" }, "code": "20105", "message": "Insufficient funds on customer account" }, "signature": "Hn53oZbiN1/yTQXuMuLih+ojsQrkpFqByvwXz1q2W EIiwVO2K8h7uqYpyKJDayaAjnFGm1PFkqCA+E/nVQ1Hcg==" }
Дополнительные материалы
Для организации работы с оплатами через Gate также могут быть полезны следующие материалы:
Выплаты через Gate
Общая информация
Для выплаты через Gate с использованием метода CUP Banks со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay и принять оповещение о результате выплаты. Полная схема проведения выплаты представлена далее.
Рис.: Проведение выплаты через Gate
- Пользователь на стороне веб-сервиса инициирует выплату через сервис CUP Banks.
- От веб-сервиса на заданный URL ecommpay передаётся запрос на проведение выплаты через Gate.
- Запрос на проведение выплаты поступает в платёжную платформу.
- Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
- От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности. Подробнее — в разделе Формат ответа.
- В платёжной платформе выполняются дальнейшая обработка запроса и его отправка в сервис CUP Banks.
- На стороне CUP Banks выполняется обработка платежа.
- От сервиса CUP Banks к платёжной платформе направляется уведомление о результате выплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате выплаты.
- От веб-сервиса пользователю направляется результат выплаты.
Информация о формате запросов и параметрах инициирования выплат через Gate при работе с методом CUP Banks, а также о форматах данных для перенаправления пользователей и о формате оповещений о результатах выплат приведена далее. Общая информация о работе с API — в разделе Работа с API.
Формат запроса
При формировании запросов на выплату с применением метода CUP Banks необходимо учитывать следующее:
- Должен использоваться запрос, отправляемый методом POST, на /v2/payment/chinaunionpay/payout.
- В запросе должны использоваться следующие объекты и параметры:
- general — объект, содержащий основные идентификационные сведения запроса:
- project_id — идентификатор проекта, полученный от ecommpay при интеграции;
- payment_id — идентификатор платежа, уникальный в рамках проекта;
- signature — подпись запроса, составленная после указания целевых параметров (подробнее — в разделе Использование подписи к данным);
- customer — объект, содержащий сведения о пользователе:
- id — идентификатор,
- ip_address — IP-адрес,
- email — адрес электронной почты,
- phone — номер телефона без знака +,
- state — провинция на китайском,
- city — город на китайском,
- country — страна (значение параметра всегда
CN
), - zip — почтовый индекс,
- street — адрес на китайском,
- first_name — имя на китайском,
- last_name — фамилия на китайском;
- payment — объект, содержащий сведения о платеже:
- amount — сумма платежа в дробных единицах валюты,
- currency — валюта платежа в формате ISO-4217 alpha-3;
- description — описание платежа;
- card — объект, содержащий сведения о банковской карте или счёте пользователя:
- pan — номер банковской карты (для некоторых провайдеров требуется указать номер банковского счёта пользователя, подробности следует уточнять у курирующего менеджера ecommpay);
- account — объект, содержащий сведения о банковском счёте пользователя:
- city — город из адреса банка,
- bank_id — идентификатор банка (информация о названиях банков и соответствующих им идентификаторах представлена в пункте Поддержка со стороны банков),
- region_id — идентификатор региона банка (информация о названиях банков и соответствующих им идентификаторах представлена в пункте Регионы проведения выплат),
- branch — филиал (аббревиатура).
- general — объект, содержащий основные идентификационные сведения запроса:
- Дополнительно для повышения проходимости можно использовать параметр customer.identify.doc_number — номер документа, подтверждающего личность.
- Валютой платежа может быть только CNY.
- Дополнительно могут использоваться все параметры, указанные в спецификации.
Таким образом, корректный запрос на выплату с применением метода CUP Banks должен содержать общие данные о запросе, данные о платеже, пользователе, счёте и номер карты:
Рис.: Пример запроса на выплату
{ "general": { "project_id": 255, "payment_id": "TEST_15392667771145", "signature": "Uhka8CiYAlDlc2wRq60vlSmTTCb0Zp0KYV4NF0...==" }, "customer": { "id": "127", "ip_address": "185.123.193.224", "email": "qwe@qw.qw", "state": "state", "city": "city", "country": "CN", "phone": "phone", "zip": "zip", "street": "street", "first_name": "伍", "last_name": "倩文", "identify": { "doc_number": "23512361283" }, "payment": { "amount": 501, "currency": "CNY" }, "card": { "pan": "621661******6793" }, "account": { "bank_id": "123", "branch": "qwert", "city": "City", "region_id": "region_id" } }
Формат оповещений
Для оповещений о результатах выплат с применением метода CUP Banks используется стандартный формат, описание которого представлено в разделе Оповещения.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 200
для пользователя 1
была успешно проведена выплата в размере 215,00 CNY
.
Рис.: Пример оповещения о проведении выплаты
{ "project_id": 200, "payment": { "id": "ECT_TEST_1563863519243_test2-gate-4", "type": "payout", "status": "success", "date": "2019-08-28T08:44:51+0000", "method": "ChinaUnionPay", "sum": { "amount": 21500, "currency": "CNY" }, "description": "ECT_TEST_1563863519243" }, "account": { "number": "621799******3840" }, "customer": { "id": "1", "phone": "89102345678" }, "operation": { "id": 45343000001495, "type": "payout", "status": "success", "date": "2019-08-28T08:44:51+0000", "created_date": "2019-08-28T08:42:08+0000", "request_id": "c21daec7a134", "sum_initial": { "amount": 21500, "currency": "CNY" }, "sum_converted": { "amount": 21500, "currency": "CNY" }, "provider": { "id": 1321, "payment_id": "10019082821621938", "date": "2019-08-28T16:42:12+0000", "auth_code": "" }, "code": "0", "message": "Success" }, "signature": "aW/oS/l7RTlKabsqCZXs1zile11EIX8mkM3+gJfwddjvtszeiMXcU7...==" }
В следующем примере выплата была отклонена по причине того, что аккаунт пользователя истёк или недоступен.
Рис.: Пример оповещения об отказе в проведении выплаты
{ "project_id": 200, "payment": { "id": "ECT_TEST_12897456238746287", "type": "payout", "status": "decline", "date": "2019-03-25T12:46:51+0000", "method": "cup-bank", "sum": { "amount": 10000, "currency": "CNY" }, "description": "" }, "account": { "number": "621661******6993" }, "customer": { "id": "1" }, "operation": { "id": 35102000000612, "type": "payout", "status": "decline", "date": "2019-03-25T12:46:51+0000", "created_date": "2019-03-20T11:45:09+0000", "request_id": "c44aae5ae361b649a6225994e626d6cd", "sum_initial": { "amount": 10000, "currency": "CNY" }, "sum_converted": { "amount": 10000, "currency": "CNY" }, "provider": { "id": 1129, "payment_id": "NqIy87k9SLcDRmkPa1JfM6cQZ53M", "date": "2019-03-25T12:46:49+0000", "auth_code": "" }, "code": "20106", "message": "Customer account is no longer available" }, "signature": "bSqa2y0QnfV6xc1WdSNiNPKZkj100QeSVqtVDRmJaPP...==" }
Дополнительные материалы
Для организации работы с выплатами через Gate также могут быть полезны следующие материалы:
Тестирование
Общая информация
Для метода CUP Banks доступно тестирование оплат через Payment Page и Gate, а также выплат через Gate.
Тестирование может выполняться в рамках тестового проекта, и для подключения и отключения этой функциональности необходимо обращаться к специалистам технической поддержки ecommpay support@ecommpay.com.
При проведении тестовых платежей следует учитывать, что в запросах должен указываться идентификатор тестового проекта, а интерфейсы эмулятора платёжных форм Payment Page и CUP Banks могут отличаться от рабочих.
Статусы тестовых платежей
При тестировании оплат их итоговые статусы определяются исходя из сумм, указанных в запросах:
decline
— при указании суммы40000
или40400
,success
— при указании любой другой суммы.
При тестировании выплат их итоговые статусы определяются исходя из сумм, указанных в запросах:
decline
— при указании суммы40000
или40400
,success
— при указании любой другой суммы.
Оплаты через Payment Page
Для проведения тестовой оплаты через Payment Page необходимо:
- Отправить в платёжную платформу корректный тестовый запрос на открытие Payment Page.
- Если в запросе не был указан метод
cup-bank
— выбрать метод CUP Banks на странице эмулятора. - Указать необходимые данные в полях ввода.
- Щёлкнуть кнопку Success или Decline (в зависимости от запрашиваемой суммы).
- Принять оповещение с информацией о результате оплаты.
Подробная информация о проведении оплат с использованием метода CUP Banks через Payment Page представлена в пункте Оплаты через Payment Page.
Оплаты через Gate
Для проведения тестовой оплаты через Gate необходимо:
- Отправить в платёжную платформу корректный тестовый запрос на оплату.
- Принять оповещение с данными для перенаправления.
- Перейти по полученному URL и щёлкнуть кнопку Success или Decline (в зависимости от запрашиваемой суммы) — на странице эмулятора.
- Принять оповещение с информацией о результате оплаты.
Подробная информация о проведении оплат с использованием метода CUP Banks через Gate представлена в пункте Оплаты через Gate.
Выплаты через Gate
Для проведения тестовой выплаты через Gate необходимо отправить в платёжную платформу корректный тестовый запрос и принять оповещение с информацией о результате. Подробная информация о проведении выплат с использованием метода CUP Banks через Gate представлена в пункте Выплаты через Gate.
Анализ результатов проведения платежей
Как и при работе с другими платёжными методами, которые предоставляет ecommpay, при использовании метода CUP Banks доступны разные способы анализа информации о платежах и операциях с применением этого метода — как в отдельности, так и в совокупности с другими методами.
Всю необходимую информацию можно получать и анализировать средствами Dashboard, в том числе с помощью аналитических панелей на вкладке Analytics.
Также можно выгружать нужную информацию для последующего анализа с помощью специализированных аналитических средств сторонних разработчиков:
- Dashboard позволяет выгружать данные в форматах CSV и XLS с помощью инструментов на вкладке Платежи. При этом можно выполнять разовые выгрузки информации на локальный компьютер и задействовать периодическую выгрузку и отправку информации на заданные адреса электронной почты.
- Data API позволяет получать информацию в формате JSON и отправлять ее на заданный URL — для этого применяются запросы /operations/get.
С любыми вопросами о возможностях анализа можно обращаться в службу технической поддержки ecommpay.