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"
  }
}
Табл. 1. Список банков
Банк 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 в запросе на выплату. Далее в таблице приведена информация о регионах и их идентификаторах.

Табл. 2. Список регионов
Наименование региона Идентификатор региона
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

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

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

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

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

  1. Должен использоваться базовый минимум параметров — параметры, обязательные для любого платёжного метода:
    • project_id — идентификатор проекта, полученный от ecommpay при интеграции;
    • payment_id — идентификатор платежа, уникальный в рамках проекта;
    • payment_amount — сумма платежа в дробных единицах валюты;
    • payment_currency — валюта платежа в формате ISO-4217 alpha-3;
    • customer_id — идентификатор пользователя в рамках проекта.
  2. Дополнительно должны использоваться параметры:
    • language_code — код языка Payment Page в формате ISO 639-1 alpha-2; необходимо указать код zh;
    • payment_description — описание платежа.
  3. Для предварительного выбора метода CUP P2P необходимо указывать в параметре force_payment_method код платёжного метода — cup-card.
  4. Валютой платежа может быть только CNY.
  5. Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page.
  6. После указания целевых параметров необходимо составлять подпись (подробнее — в разделе Работа с подписью к данным).

Таким образом, корректный запрос на открытие платёжной формы с применением метода 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 со стороны веб-сервиса необходимо:

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


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

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

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

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

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

  1. Должен использоваться запрос, отправляемый методом POST на /v2/payment/cup/cup-card/sale.
  2. В запросе должны использоваться следующие объекты и параметры:
    • 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 — при успешном проведении платежа.
  3. Валютой платежа может быть только CNY.
  4. Дополнительно могут использоваться все параметры, указанные в спецификации.

Таким образом, корректный запрос на оплату с применением метода 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

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

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

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

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

  1. Должен использоваться запрос /v2/payment/chinaunionpay/payout.
  2. В запросе должны использоваться следующие объекты и параметры:
    • 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 — филиал (аббревиатура).
  3. Дополнительно для повышения проходимости можно использовать параметр customer.identify.doc_number — номер документа, подтверждающего личность.
  4. Валютой платежа может быть только CNY.
  5. Дополнительно могут использоваться все параметры, указанные в спецификации.

Таким образом, корректный запрос на выплату с применением метода 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 необходимо:

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

Подробная информация о проведении оплат с использованием метода CUP P2P через Payment Page представлена в пункте Оплаты через Payment Page.

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

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

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

Подробная информация о проведении оплат с использованием метода CUP P2P через Gate представлена в пункте Оплаты через Gate.

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

Как и при работе с другими платёжными методами, которые предоставляет ecommpay, при использовании метода CUP P2P доступны разные способы анализа информации о платежах и операциях с применением этого метода — как в отдельности, так и в совокупности с другими методами.

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

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

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

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