CUP P2P
Обзор
CUP P2P — платёжный метод, который поддерживает проведение оплат и выплат с помощью брендированных платёжных карт China UnionPay (CUP), эмитированных китайскими и иностранными банками, в рамках международной платёжной системы CUP. Для работы с этим методом доступно проведение оплат через Payment Page и Gate, выплат — через Gate.
Характеристика
Тип платёжного метода | банковские платежи |
---|---|
Платёжные инструменты | платёжные карты |
Регионы использования | Китай |
Валюты платежей | CNY |
Конвертация валют | – |
Оплаты | + |
Выплаты | + |
Оплаты по сохранённым данным | – |
Полные возвраты | – |
Частичные возвраты | – |
Опротестования | – |
Особенности | Для работы с этим методом через Payment Page поддерживается каскадное проведение оплат. Информацию о поддержке этой возможности можно получить в разделе Каскадное проведение платежей и у курирующего менеджера ecommpay |
Организация и стоимость подключения | По согласованию с курирующим менеджером ecommpay |
Схема работы
В проведении отдельного платежа с использованием CUP P2P задействуются веб–сервис мерчанта, один из интерфейсов и платёжная платформа ecommpay, а также технические средства сервиса CUP P2P.
Основные операции
Интерфейсы | Суммы, CNY * | Время** | ||||||
---|---|---|---|---|---|---|---|---|
Payment Page | CMS Plug-ins | Gate | Dashboard | Минимум | Максимум | Базовое | Предельное | |
Оплаты | + | – | + | – | 600,00 | 49 000,00 | * | * |
Выплаты | – | – | + | – | 10,00 | 44 999,00 | * | * |
* Подробную информацию уточняйте у вашего курирующего менеджера.
** Базовое и предельное время определяются следующим образом:
- Базовое время — среднее расчётное время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Это время, определяемое для условий штатной работы всех технических средств и каналов связи, а также типичных действий со стороны пользователя (там, где они необходимы). Базовое время рекомендуется использовать для реагирования на отсутствие оповещений о результате платежа и выполнения опроса состояния платежа.
- Предельное время — максимально допустимое время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Если платёж не был проведён или отклонён за это время, он автоматически переводится в статус
decline
. Для индивидуальной настройки предельного времени следует обращаться к специалистам технической поддержки ecommpay.
Сценарии использования
Проведение оплат с использованием метода выполняется с перенаправлением пользователей к сервису CUP P2P, проведение выплат — с уведомлением пользователей через веб–сервис мерчанта.
Рис.: Оплата через Payment Page
Рис.: Оплата через Gate
Рис.: Выплата через Gate
Поддержка со стороны банков
Проведение выплат с применением метода CUP P2P осуществляется через банки, поддерживающие работу с этим методом. Банкам соответствуют свои идентификаторы, которые используются при инициировании выплат через Gate.
Далее в таблице в ознакомительных целях представлена информация об этих банках. Эту информацию можно уточнять у курирующего менеджера 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 P2P передается регион банка счёта пользователя. Для этого используется идентификатор региона, который передаётся в параметре 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 P2P со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay и принять оповещение о результате оплаты. При этом метод CUP P2P можно делать предварительно выбранным (подробнее — в разделе Предварительный выбор платёжных методов). Полная схема проведения оплаты представлена далее.
Рис.: Проведение оплаты через Payment Page
- Пользователь на стороне веб-сервиса инициирует оплату.
- От веб-сервиса на заданный URL ecommpay передаётся запрос на проведение оплаты через Payment Page.
- Запрос на проведение оплаты поступает в платёжную платформу.
- Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
- Осуществляется генерация Payment Page согласно настройкам проекта и параметрам вызова.
- Пользователю отображается сгенерированная платёжная форма.
- Пользователь выбирает платёжный метод CUP Card и подтверждает готовность использовать этот метод (если метод был задан предварительно выбранным, то только подтверждает готовность).
- Пользователю отображается форма ввода номера банковской карты.
- Пользователь вводит номер банковской карты.
- Запрос на проведение оплаты в сервисе CUP P2P поступает в платёжную платформу.
- Выполняются дальнейшая обработка запроса и его отправка в сервис CUP P2P.
- На стороне CUP P2P выполняется обработка запроса на оплату.
- От сервиса CUP P2P к платёжной платформе передаются данные для перенаправления пользователя к сервису CUP P2P.
- Данные для перенаправления пользователя к сервису CUP P2P передаются к Payment Page.
- Пользователь перенаправляется к сервису CUP P2P.
- Пользователю отображается инструкция для проведения оплаты.
- Пользователь открывает страницу интернет-банкинга, где действует в соответствии с инструкцией. Если пользователь попытается провести оплату по другой карте, то ему будет отказано в проведении оплаты.
- На стороне CUP P2P выполняется обработка платежа.
- От сервиса CUP P2P к платёжной платформе направляется уведомление о результате оплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
- От платёжной платформы к Payment Page направляется результат проведения оплаты.
- Результат оплаты отображается пользователю на Payment Page.
Информация о формате запросов и параметрах вызова Payment Page при работе с методом CUP P2P, а также о формате оповещений о результатах оплат приведена далее. Общая информация о работе с API — в разделе Описание Payment Page API.
Формат запросов
При формировании запросов на открытие платёжной формы с применением метода CUP P2P необходимо учитывать следующее:
- Должен использоваться базовый минимум параметров — параметры, обязательные для любого платёжного метода:
- 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 P2P необходимо указывать в параметре force_payment_method код платёжного метода —
cup-card
. - Валютой платежа может быть только CNY.
- Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page.
- После указания целевых параметров необходимо составлять подпись (подробнее — в разделе Работа с подписью к данным).
Таким образом, корректный запрос на открытие платёжной формы с применением метода CUP P2P должен содержать идентификатор, валюту, сумму и описание платежа, идентификатор проекта и пользователя, код языка и подпись:
EPayWidget.run( { payment_id: 'TEST_154', payment_amount: 50000, payment_currency: 'CNY', payment_description: 'test payment', project_id: 581, customer_id: 'customer121', language_code: 'zh', signature: "xq9k0XaXE0Ig0s%2B4%2BM2gtmkytwe3%2BP1pzXw%2BNPTTGrS%2...==" } )
Детальная информация обо всех указанных параметрах приведена в разделе Параметры вызова платёжной формы.
Формат оповещений
Для оповещений о результатах оплат с применением метода CUP P2P используется стандартный формат, описание которого представлено в разделе Оповещения.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 200
была успешно проведена оплата в размере 500,00 CNY
.
Рис.: Пример оповещения о проведении оплаты
{ "project_id": 200, "payment": { "id": "ECT_TEST_15528942632552", "type": "purchase", "status": "success", "date": "2019-03-19T14:52:34+0000", "method": "cup-card", "sum": { "amount": 50000, "currency": "CNY" }, "description": "ECT_TEST_1582894260335" }, "account": { "number": "621661******6893" }, "customer": { "id": "1" }, "operation": { "id": 32895000000568, "type": "sale", "status": "success", "date": "2019-03-19T14:52:34+0000", "created_date": "2019-03-19T14:48:42+0000", "request_id": "f493ae438cf9e5851ba2ba4e884e698e99d2f17a", "sum_initial": { "amount": 50000, "currency": "CNY" }, "sum_converted": { "amount": 50000, "currency": "CNY" }, "provider": { "id": 1191, "payment_id": "xseHD8v0EsRw3vBuxXeVeDuPBvO7rdKT", "auth_code": "" }, "code": "0", "message": "Success" }, "signature": "Ai8OCc69Ik0J9S5HdzndRj6JqS4Z277vSF9V4aJIqfGKc19M ii2ELEp9EdcjpSfr7QvuHGqrxY4MS9B1gIrVCw==" }
В следующем примере оплата была отклонена из-за недостатка средств на счёте пользователя.
Рис.: Пример оповещения об отказе в проведении оплаты
{ "project_id": 200, "payment": { "id": "ECT_TEST_1553500003191", "type": "purchase", "status": "decline", "date": "2019-03-25T11:36:41+0000", "method": "cup-card", "sum": { "amount": 12000, "currency": "CNY" }, "description": "ECT_TEST_1553500003190" }, "account": { "number": "622200******7804" }, "customer": { "id": "1" }, "operation": { "id": 30988000000770, "type": "sale", "status": "decline", "date": "2019-03-25T11:36:41+0000", "created_date": "2019-03-25T11:34:38+0000", "request_id": "145339509e08a645f9af43ab22652af21d7d", "sum_initial": { "amount": 12000, "currency": "CNY" }, "sum_converted": { "amount": 12000, "currency": "CNY" }, "provider": { "id": 1191, "payment_id": "kz4YwSN8TdYrB8CSJVFIeFPdeHTvjcd7", "auth_code": "" }, "code": "20105", "message": "Insufficient funds on customer account" }, "signature": "vLYJr+04aF4Y0/Vc1CFMsTlb8hzSjZYCYicc76YmlDz f13OADccpMOAT+J1MIpmj0mE7RTmGU5FPSJYcqkpvbA==" }
Дополнительные материалы
Для организации работы с оплатами через Payment Page также могут быть полезны следующие материалы:
Оплаты через Gate
Общая информация
Для оплаты через Gate с использованием метода CUP P2P со стороны веб-сервиса необходимо:
- Отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay.
- Осуществить перенаправление пользователя к форме оплаты CUP P2P.
- Принять оповещение о результате оплаты.
Рис.: Проведение оплаты через Gate
- Пользователь на стороне веб-сервиса инициирует оплату методом CUP P2P.
- От веб-сервиса на заданный URL ecommpay передаётся запрос на проведение оплаты через Gate.
- Запрос на проведение оплаты поступает в платёжную платформу.
- Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
- От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности.
- В платёжной платформе выполняются дальнейшая обработка запроса и его отправка в сервис CUP P2P.
- На стороне CUP P2P выполняется обработка запроса на оплату.
- От сервиса CUP P2P к платёжной платформе передаются данные для перенаправления пользователя к сервису CUP P2P.
- От платёжной платформы к веб-сервису направляется оповещение с данными для перенаправления пользователя к сервису CUP P2P.
- Пользователь перенаправляется к сервису CUP P2P.
- Пользователю отображается инструкция для проведения оплаты.
- Пользователь открывает страницу интернет-банкинга, где действует в соответствии с инструкцией. Если пользователь попытается провести оплату по другой карте, то ему будет отказано в проведении оплаты.
- На стороне CUP P2P выполняется обработка платежа.
- От сервиса CUP P2P к платёжной платформе направляется уведомление о результате оплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате оплаты.
- От веб-сервиса пользователю направляется результат оплаты.
Информация о формате запросов и параметрах инициирования оплат через Gate при работе с методом CUP P2P, а также о форматах данных для перенаправления пользователей и о формате оповещений о результатах оплат приведена далее. Общая информация о работе с API — в разделе Работа с API.
Формат запросов
При формировании запросов на оплату с применением метода CUP P2P необходимо учитывать следующее:
- Должен использоваться запрос, отправляемый методом POST на /v2/payment/cup/cup-card/sale.
- В запросе должны использоваться следующие объекты и параметры:
- general — объект, содержащий основные идентификационные сведения запроса:
- project_id — идентификатор проекта, полученный от ecommpay при интеграции;
- payment_id — идентификатор платежа, уникальный в рамках проекта;
- signature — подпись запроса, составленная после указания целевых параметров (подробнее — в разделе Использование подписи к данным);
- customer — объект, содержащий сведения о пользователе:
- id — идентификатор, уникальный в рамках проекта,
- ip_address — IP-адрес,
- first_name — имя на китайском,
- last_name — фамилия на китайском,
- phone — номер телефона без знака +,
- email — адрес электронной почты,
- country— страна проживания (значение параметра всегда
CN
), - state — провинция на китайском,
- address — адрес проживания,
- city — город проживания на китайском,
- zip — почтовый индекс;
- payment — объект, содержащий сведения о платеже:
- amount — сумма платежа в дробных единицах валюты,
- currency — валюта платежа в формате ISO-4217 alpha-3,
- description — описание;
- card — объект, содержащий сведения о платёжной карте пользователя:
- pan — номер карты;
- return_url — URL для перенаправления пользователя:
- success — при успешном проведении платежа.
- general — объект, содержащий основные идентификационные сведения запроса:
- Валютой платежа может быть только CNY.
- Дополнительно могут использоваться все параметры, указанные в спецификации.
Таким образом, корректный запрос на оплату с применением метода CUP P2P должен содержать общие данные о запросе, данные о платеже, пользователе и его карте, а также URL для перенаправления:
{ "general": { "project_id": 200, "payment_id": "TEST_1559134591371-pz-2", "signature": "keNRGu/zTi7tB7T1HPmvelS7k6xZnJP6A8CpU74zrBdFd0AT...==" }, "customer": { "ip_address": "185.123.193.224", "first_name": "伍", "last_name": "倩文", "email": "qwe@qw.qw", "state": "state", "city": "city", "address":"address", "country": "CN", "phone": "phone", "zip": "zip", "id": "123" } }, "payment": { "amount": 1000, "currency": "CNY", "description": "test payment" }, "card": { "pan": "621661******6983" }, "return_url":{ "success" : "http://success.com" } }
Форматы данных для перенаправления пользователей
Для перенаправления пользователя от веб-сервиса на сайт сервиса CUP P2P необходимо принять оповещение от платёжной платформы, содержащее ссылку для перенаправления в параметре redirect_data.url и данные для отправки в теле запроса redirect_data.body, и использовать эти параметры при открытии HTML-страницы сайта методом, указанным в redirect_data.method. Данные в теле запроса redirect_data.body могут отличаться в зависимости от провайдера, обрабатывающего платёж.
Далее приведён фрагмент оповещения, содержащего URL для перенаправления.
redirect_data: { body: { }, method: "GET", url: "https://api.plusdebit.com/pd/tld/pay/G4aQEmzRbtpUxFOMuJVSZCQM6Exq6LCs", encrypted: { key: 3, message: "28d5ea9205996902a0d314608de875f4a78c00e8519916dc1bac7de61cbe2b6c" } }
Формат оповещений
Для оповещений о результатах оплат с применением метода CUP P2P используется стандартный формат, описание которого представлено в разделе Оповещения.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 200
была успешно проведена оплата в размере 600,00 CNY
.
Рис.: Пример оповещения о проведении оплаты
{ "project_id": 200, "payment": { "id": "ECT_TEST_15528942632552", "type": "purchase", "status": "success", "date": "2019-03-19T14:52:34+0000", "method": "cup-card", "sum": { "amount": 60000, "currency": "CNY" }, "description": "ECT_TEST_1582894260335" }, "account": { "number": "621661******6893" }, "customer": { "id": "1" }, "operation": { "id": 32895000000568, "type": "sale", "status": "success", "date": "2019-03-19T14:52:34+0000", "created_date": "2019-03-19T14:48:42+0000", "request_id": "f493ae438cf9e5851ba2ba4e884e698e99d2f17a", "sum_initial": { "amount": 60000, "currency": "CNY" }, "sum_converted": { "amount": 60000, "currency": "CNY" }, "provider": { "id": 1191, "payment_id": "xseHD8v0EsRw3vBuxXeVeDuPBvO7rdKT", "auth_code": "" }, "code": "0", "message": "Success" }, "signature": "Ai8OCc69Ik0J9S5HdzndRj6JqS4Z277vSF9V4aJIqfGKc 19Mii2ELEp9EdcjpSfr7QvuHGqrxY4MS9B1gIrVCw==" }
В следующем примере оплата была отклонена из-за недостатка средств на счёте пользователя.
Рис.: Пример оповещения об отказе в проведении оплаты
{ "project_id": 200, "payment": { "id": "ECT_TEST_1553500003191", "type": "purchase", "status": "decline", "date": "2019-03-25T11:36:41+0000", "method": "cup-card", "sum": { "amount": 12000, "currency": "CNY" }, "description": "ECT_TEST_1553500003190" }, "account": { "number": "622200******7804" }, "customer": { "id": "1" }, "operation": { "id": 30988000000770, "type": "sale", "status": "decline", "date": "2019-03-25T11:36:41+0000", "created_date": "2019-03-25T11:34:38+0000", "request_id": "145339509e08a645f9af43ab22652af21d7d", "sum_initial": { "amount": 12000, "currency": "CNY" }, "sum_converted": { "amount": 12000, "currency": "CNY" }, "provider": { "id": 1191, "payment_id": "kz4YwSN8TdYrB8CSJVFIeFPdeHTvjcd7", "auth_code": "" }, "code": "20105", "message": "Insufficient funds on customer account" }, "signature": "vLYJr+04aF4Y0/Vc1CFMsTlb8hzSjZYCYicc76YmlDz f13OADccpMOAT+J1MIpmj0mE7RTmGU5FPSJYcqkpvbA==" }
Дополнительные материалы
Для организации работы с оплатами через Gate также могут быть полезны следующие материалы:
Выплаты через Gate
Общая информация
Для выплаты через Gate с использованием метода CUP P2P со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay и принять оповещение о результате выплаты. Полная схема проведения выплаты представлена далее.
Рис.: Проведение выплаты через Gate
- Пользователь на стороне веб-сервиса инициирует выплату через сервис CUP P2P.
- От веб-сервиса на заданный URL ecommpay передаётся запрос на проведение выплаты через Gate.
- Запрос на проведение выплаты поступает в платёжную платформу.
- Выполняется начальная обработка запроса, в рамках которой обеспечивается проверка наличия обязательных параметров и корректной подписи.
- От платёжной платформы к веб-сервису направляется ответ с информацией о получении запроса и его корректности. Подробнее — в разделе Формат ответа.
- В платёжной платформе выполняются дальнейшая обработка запроса и его отправка в сервис CUP P2P.
- На стороне CUP P2P выполняется обработка платежа.
- От сервиса CUP P2P к платёжной платформе направляется уведомление о результате выплаты.
- От платёжной платформы к веб-сервису направляется оповещение о результате выплаты.
- От веб-сервиса пользователю направляется результат выплаты.
Информация о формате запросов и параметрах инициирования выплат через Gate при работе с методом CUP P2P, а также о форматах данных для перенаправления пользователей и о формате оповещений о результатах выплат приведена далее. Общая информация о работе с API — в разделе Работа с API.
Формат запроса
При формировании запросов на выплату с применением метода CUP P2P необходимо учитывать следующее:
- Должен использоваться запрос /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 P2P должен содержать общие данные о запросе, данные о платеже, пользователе, счёте и номер карты:
Рис.: Пример запроса на выплату
{ "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 P2P используется стандартный формат, описание которого представлено в разделе Оповещения.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 200
для пользователя 1
была успешно проведена выплата в размере 485,60 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": 48560, "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": 48560, "currency": "CNY" }, "sum_converted": { "amount": 48560, "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_122127637126536125", "type": "payout", "status": "decline", "date": "2019-03-22T14:02:44+0000", "method": "cup-card", "sum": { "amount": 48560, "currency": "CNY" }, "description": "" }, "account": { "number": "621661******6993" }, "customer": { "id": "1" }, "operation": { "id": 32988000000665, "type": "payout", "status": "decline", "date": "2019-03-22T14:02:44+0000", "created_date": "2019-03-22T14:02:12+0000", "request_id": "b78ffab13002d994a6a572410b943ed110", "sum_initial": { "amount": 48560, "currency": "CNY" }, "sum_converted": { "amount": 48560, "currency": "CNY" }, "provider": { "id": 1191, "payment_id": "6UBPgonfNE4kjjPB6HoV5pjTdBo34Lni", "date": "2019-03-22T14:02:43+0000", "auth_code": "" }, "code": "20106", "message": "Customer account is no longer available" }, "signature": "rP/FoxRIdBJtMLKP5KAndJwmJHWQ3HXsDCpcbmaaqqk 8w26a2toW057NtmDcT+Rgenr2hxTMYit9JUmQkYdtVg==" }
Дополнительные материалы
Для организации работы с выплатами через Gate также могут быть полезны следующие материалы:
Тестирование
Общая информация
Для метода CUP P2P доступно тестирование оплат через Payment Page и Gate.
Тестирование может выполняться в рамках тестового проекта, и для подключения и отключения этой функциональности необходимо обращаться к специалистам технической поддержки ecommpay support@ecommpay.com.
При проведении тестовых платежей следует учитывать, что в запросах должен указываться идентификатор тестового проекта, в качестве валюты может использоваться только CNY, а интерфейсы эмулятора платёжных форм Payment Page и CUP P2P могут отличаться от рабочих.
Статусы тестовых платежей
При тестировании оплат их итоговые статусы определяются исходя из сумм, указанных в запросах:
decline
— при указании суммы40000
или40400
,success
— при указании любой другой суммы.
Оплаты через Payment Page
Для проведения тестовой оплаты через Payment Page необходимо:
- Отправить в платёжную платформу корректный тестовый запрос на открытие Payment Page.
- Если в запросе не был указан метод
cup-card
— выбрать метод CUP P2P на странице эмулятора. - Указать необходимые данные в полях ввода. При указании номера платёжной карты можно использовать номер действующей карты или тестовый номер
4111 1111 1111 1111
. - Щёлкнуть кнопку Success или Decline (с учётом того, какая сумма была указана в запросе).
- Принять оповещение с информацией о результате оплаты (это оповещение отправляется по истечении 60 секунд после формирования страницы с кнопкой Success или Decline, отображаемой на шаге 4).
Подробная информация о проведении оплат с использованием метода CUP P2P через Payment Page представлена в пункте Оплаты через Payment Page.
Оплаты через Gate
Для проведения тестовой оплаты через Gate необходимо:
- Отправить в платёжную платформу корректный тестовый запрос на оплату. При указании номера платёжной карты можно использовать номер действующей карты или тестовый номер
4111 1111 1111 1111
. - Принять оповещение с данными для перенаправления.
- Перейти по полученному адресу (URL) и щёлкнуть кнопку Success или Decline (с учётом того, какая сумма была указана в запросе) — на странице эмулятора.
- Принять оповещение с информацией о результате оплаты (это оповещение отправляется по истечении 60 секунд после формирования оповещения с данными для перенаправления).
Подробная информация о проведении оплат с использованием метода CUP P2P через Gate представлена в пункте Оплаты через Gate.
Анализ результатов проведения платежей
Как и при работе с другими платёжными методами, которые предоставляет ecommpay, при использовании метода CUP P2P доступны разные способы анализа информации о платежах и операциях с применением этого метода — как в отдельности, так и в совокупности с другими методами.
Всю необходимую информацию можно получать и анализировать средствами Dashboard, в том числе с помощью аналитических панелей на вкладке Analytics.
Также можно выгружать нужную информацию для последующего анализа с помощью специализированных аналитических средств сторонних разработчиков:
- Dashboard позволяет выгружать данные в форматах CSV и XLS с помощью инструментов на вкладке Платежи. При этом можно выполнять разовые выгрузки информации на локальный компьютер и задействовать периодическую выгрузку и отправку информации на заданные адреса электронной почты.
- Data API позволяет получать информацию в формате JSON и отправлять ее на заданный URL — для этого применяются запросы /operations/get.
С любыми вопросами о возможностях анализа можно обращаться в службу технической поддержки ecommpay.