Klarna
Обзор
Введение
Klarna — метод, позволяющий проводить платежи с использованием банковских переводов в разных валютах в отдельных европейских странах. При работе с этим методом доступны разные способы оплаты на стороне провайдера, с возможностями выбора одного из способов в сервисе Klarna, в платёжной форме Payment Page или непосредственно в веб-сервисе. Для этого метода в платёжной платформе ecommpay поддерживаются оплаты и возвраты.
К особенностям метода Klarna можно отнести то, что при работе с ним пользователи могут выбирать способы оплаты на стороне провайдера: с оплатой полной суммы сразу на месте, оплатой в рассрочку или в кредит. По умолчанию выбор способа осуществляется в сервисе Klarna. Вместе с тем, для любого из способов можно дополнительно подключать отображение отдельной кнопки в платёжной форме Payment Page и возможность указания способа при отправке запросов на оплату, улучшая тем самым пользовательский опыт. С вопросами о таких возможностях следует обращаться к курирующему менеджеру ecommpay.
В этой статье представлена информация о работе с методом Klarna: обзорный раздел с общими сведениями и последующие разделы с информацией о действиях, необходимых со стороны мерчанта для решения разных задач.
Характеристика
Тип платёжного метода | банковские платежи |
---|---|
Платёжные инструменты | банковские счета |
Регионы использования | AT, DE, DK, GB, FI, NL, NO, SE |
Валюты платежей | DKK (для Дании), EUR, GBP (для Великобритании), NOK (для Норвегии), SEK (для Швеции) |
Конвертация валют | – |
Разовые оплаты | + |
Повторяемые оплаты | – |
Полные возвраты | + |
Частичные возвраты | + |
Выплаты | – |
Опротестования | – |
Особенности | – |
Организация и стоимость подключения | по согласованию с курирующим менеджером ecommpay |
Схема работы
В проведении отдельного платежа с использованием метода Klarna задействуются веб-сервис мерчанта, один из интерфейсов и платёжная платформа ecommpay, а также технические средства сервиса Klarna.
Основные операции
Для проведения платежей и выполнения операций с использованием метода Klarna могут применяться различные интерфейсы платёжной платформы. Так, оплаты могут проводиться через Payment Page, Gate и Dashboard (с применением платёжных ссылок), а возвраты — через Gate и Dashboard. При этом, независимо от используемых интерфейсов, для этого метода характерны следующие свойства и ограничения.
При работе с методом Klarna, независимо от используемых интерфейсов, актуальны следующие свойства и ограничения.
Суммы (в поддерживаемых валютах) ¹ | Время ² | |||
---|---|---|---|---|
минимум | максимум | базовое | предельное | |
Оплаты | 0,01 | * | 2 минуты | 48 часов |
Возвраты | – | – | – | – |
- Максимальные ограничения сумм зависят от банков.
- Базовое и предельное время определяются следующим образом:
- Базовое время — среднее расчётное время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Это время определяется для условий штатной работы всех технических средств и каналов связи, а также типичных действий со стороны пользователя (там, где они необходимы). Базовое время рекомендуется использовать для реагирования на отсутствие оповещений о результате платежа и выполнения опроса состояния платежа (подробнее).
- Предельное время — максимально допустимое время проведения платежа от момента его инициирования на стороне платёжной платформы до момента отправки инициатору оповещения о результате. Если платёж не был проведён или отклонён за это время, он автоматически переводится в статус
decline
. Для индивидуальной настройки предельного времени следует обращаться к специалистам технической поддержки ecommpay.
Сценарии использования
Проведение оплат с использованием метода Klarna осуществляется с перенаправлением пользователей к сервису Klarna, выполнение возвратов — с заявкой со стороны пользователя и уведомлением со стороны веб-сервиса.
Сценарии выполнения операций через основные интерфейсы платёжной платформы соответствуют представленным на схемах. При использовании дополнительных возможностей (таких как платёжные ссылки) сценарии выполнения операций методом Klarna соответствуют специфике этих возможностей .
Оплаты через Payment Page
Общая информация
Для проведения оплаты через Payment Pageс использованием метода Klarna со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay и принять оповещение о результате. Полная схема проведения оплаты выглядит следующим образом.
Информация о форматах запросов и оповещений, используемых для проведения оплат методом Klarna через Payment Page, приведена далее в этом разделе; общая информация о работе с Payment Page API — в отдельной статье Организация взаимодействия.
Формат запросов
При формировании запросов на открытие платёжной формы с применением метода Klarna необходимо учитывать следующее:
- Должен использоваться базовый минимум параметров, обязательный для любого платежа:
project_id
— идентификатор проекта, полученный от ecommpay при интеграции;payment_id
— идентификатор платежа, уникальный в рамках проекта;payment_currency
— код валюты платежа в формате ISO-4217 alpha-3;payment_amount
— сумма платежа в дробных единицах валюты;customer_id
— идентификатор пользователя в рамках проекта.
- Должен использоваться базовый минимум параметров:
project_id
,payment_id
,payment_currency
,payment_amount
,customer_id
. - Должна указываться информация о пользователе через следующие параметры:
customer_first_name
— имя пользователя,customer_email
— адрес электронной почты пользователя,billing_country
— код страны адреса регистрации пользователя в формате ISO 3166-1 alpha-2,billing_city
— город регистрации пользователя,billing_address
— адрес пользователя в городе регистрации,billing_postal
— почтовый индекс адреса регистрации пользователя,customer_country
— код страны адреса нахождения пользователя в формате ISO 3166-1 alpha-2.
-
Должна указываться информация о товарных позициях и сумме налога, относящихся к оплате, через параметр
receipt_data
, в значении которого должны содержаться массивpositions
и параметрtotal_tax_amount
. При этом значениеreceipt_data
необходимо кодировать с использованием схемы Base64.Массив
positions
должен содержать хотя бы один объект, включающий в себя следующие параметры (для каждой позиции товаров или услуг):quantity
(тип данныхinteger
) — количество товаров или услуг (либо вес товаров, если они продаются на развес). Указывается в рамках одной позиции.amount
(тип данныхinteger
) — стоимость товаров или услуг по указываемой позиции, в дробных единицах валюты.Notice: Общая сумма по всем указанным позициям должна быть равна сумме платежа, указанной в параметре запросаpayment_amount
.description
(тип данныхstring
) — описание товаров или услуг по указываемой позиции.
В параметре
total_tax_amount
(тип данныхinteger
) должна указываться общая сумма налогов, применяемых ко всем указанным товарным позициям и включённых в сумму оплаты.Например, следующий объект
{ "positions": [ { "quantity":1, "amount":2000, "description":"First product" }, { "quantity":2, "amount":4000, "description":"Second product" } ], "total_tax_amount":1000 }
указывается в значении параметра
receipt_data
следующим образом:ewogICAgICAgICJwb3NpdGlvbnMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICA gICAgICAgICJxdWFudGl0eSI6MSwKICAgICAgICAgICAgICAgICJhbW91bnQiOjIwMDAsCiA gICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiJGaXJzdCBwcm9kdWN0IgogICAgICAgICA gICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAicXVhbnRpdHkiOjIsCiAgICA gICAgICAgICAgICAiYW1vdW50Ijo0MDAwLAogICAgICAgICAgICAgICAgImRlc2NyaXB0aW9 uIjoiU2Vjb25kIHByb2R1Y3QiCiAgICAgICAgICAgIH0gICAgICAgICAgICAKICAgICAgICB dLAogICAgICAgICJ0b3RhbF90YXhfYW1vdW50IjoxMDAwCiAgICB9
Прим.: При проведении платежей с использованием метода Klarna на стороне платёжной платформы учитываются только те параметры, которые описаны в этом пункте. Если в составе информации о товарных позициях передаются другие параметры (как при работе с карточными платежами, подробнее), то при работе с этим методом они игнорируются. - Дополнительно рекомендуется указывать фамилию пользователя в параметре
customer_last_name
. Если параметр отсутствует в запросе, в платёжной форме может отобразится поле для ввода пользователем недостающего значения (подробнее — в разделе Дополнение информации о платежах). - Для предварительного выбора метода Klarna необходимо указывать код этого метода в параметре
force_payment_method
—klarna
. - Для предварительного выбора одного из способов оплаты на стороне провайдера необходимо указывать код
klarna
в параметреforce_payment_method
и одно из следующих значений параметраpayment_methods_options
:"{"account_type": "pay_now"}"
— для оплаты полной суммы сразу на месте;"{"account_type": "bnpl"}"
— для оплаты в рассрочку (с максимальным сроком до 30 дней);"{"account_type": "financing"}"
— для оплаты в кредит.
- Дополнительно могут использоваться любые другие параметры из числа доступных для работы с Payment Page (подробнее).
- После указания всех целевых параметров необходимо составлять подпись (подробнее).
Таким образом, корректный запрос на открытие платёжной формы с применением метода Klarna должен содержать идентификатор проекта, базовые сведения о платеже (идентификатор, сумму и код валюты), информацию о пользователе и чеке, а также подпись.
Формат оповещений
Для оповещений о результатах оплат с применением метода Klarna используется типовой формат, описание которого представлено в разделе Оповещения.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 442
была проведена оплата в размере 10,00 EUR
.
В следующем примере оповещение свидетельствует об отклонённой оплате.
Дополнительные материалы
Для организации работы с оплатами через Payment Page также могут быть полезны следующие материалы:
- Организация взаимодействия — о том, как организовать взаимодействие веб-сервиса с платёжной платформой через Payment Page.
- Работа с подписью к данным — о порядке создания и проверки подписи в программных запросах и оповещениях при взаимодействии с платёжной платформой.
- Модель проведения платежей — о типах, схемах проведения и возможных статусах поддерживаемых платежей и операций.
- Разовая оплата в одну стадию — о том, как проводить разовые оплаты через Payment Page.
- Информация о выполнении операций — о служебных кодах, которые используются в платёжной платформе, чтобы фиксировать информацию о выполнении операций.
Оплаты через Gate
Общая информация
Для проведения оплаты через Gate с использованием метода Klarna со стороны веб-сервиса необходимо:
- Отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay.
- Принять промежуточное оповещение от платёжной платформы и осуществить перенаправление пользователя к сервису Klarna.
- Принять итоговое оповещение от платёжной платформы.
Полная схема проведения оплаты выглядит следующим образом.
Информация о форматах запросов и оповещений, используемых для проведения оплат методом Klarna через Gate, приведена далее в этом разделе; общая информация о работе с Gate API — в отдельной статье Организация взаимодействия.
Формат запросов
При работе с запросами на оплаты с применением метода Klarna необходимо учитывать следующее:
- Для инициирования каждой оплаты должен использоваться POST-запрос к конечной точке
/v2/payment/bank-transfer/klarna/sale
, которая относится к группе конечных точек /v2/payment/bank-transfer/{payment_method}/sale. - В каждом запросе должны использоваться следующие объекты и параметры:
general
— объект, содержащий основные идентификационные сведения запроса:project_id
— идентификатор проекта, полученный от ecommpay при интеграции;,payment_id
— идентификатор платежа, уникальный в рамках проекта;,signature
— подпись запроса, составленная после указания всех целевых параметров (подробнее — в разделе Работа с подписью); (подробнее),
payment
— объект, содержащий сведения о платеже:amount
— сумма платежа в дробных единицах валюты;,;currency
— код валюты платежа в формате ISO-4217 alpha-3;,
customer
— объект, содержащий сведения о пользователе:id
— идентификатор пользователя, уникальный в рамках проекта;,ip_address
— IP-адрес пользователя, актуальный для инициируемого платежа;,billing
— объект с информацией об адресе регистрации пользователя:country
— код страны адреса регистрации пользователя в формате ISO 3166-1 alpha-2;,city
— город регистрации пользователя;,address
— адрес пользователя в городе регистрации;,postal
— почтовый индекс адреса регистрации пользователя;,
country
— код страны адреса физического нахождения пользователя в формате ISO 3166-1 alpha-2;,first_name
— имя пользователя;,email
— адрес электронной почты пользователя;,last_name
— фамилия пользователя (для предотвращения ошибок при проведении платежей рекомендуется указывать не менее 3 и не более 100 символов). Если параметр не указан в запросе, то он дополнительно запрашивается в оповещении о необходимости дополнить данные (подробнее — в разделе Дополнение информации о платеже).
-
Должна указываться информация о товарных позициях и сумме налога, относящихся к оплате, через параметр
receipt_data
, в значении которого должны содержаться массивpositions
и параметрtotal_tax_amount
.Массив
positions
должен содержать хотя бы один объект, включающий в себя следующие параметры (для каждой позиции товаров или услуг):quantity
(тип данныхinteger
) — количество товаров или услуг (либо вес товаров, если они продаются на развес). Указывается в рамках одной позиции.amount
(тип данныхinteger
) — стоимость товаров или услуг по указываемой позиции, в дробных единицах валюты.Notice: Общая сумма по всем указанным позициям должна быть равна сумме платежа, указанной в параметре запросаamount
объектаpayment
.description
(тип данныхstring
) — описание товаров или услуг по указываемой позиции.
В параметре
total_tax_amount
(тип данныхinteger
) должна указываться общая сумма налогов, применяемых ко всем указанным товарным позициям и включённых в сумму оплаты.Прим.: При проведении платежей с использованием метода Klarna на стороне платёжной платформы учитываются только те параметры, которые описаны в этом пункте. Если в составе информации о товарных позициях передаются другие параметры (как при работе с карточными платежами, подробнее), то при работе с этим методом они игнорируются. - Для задания одного из способов оплаты на стороне провайдера необходимо указывать одно из следующих значений параметра
type
объектаaccount
:pay_now
— для оплаты полной суммы сразу на месте;bnpl
— для оплаты в рассрочку (с максимальным сроком до 30 дней);financing
— для оплаты в кредит.
- Дополнительно могут использоваться любые другие параметры из числа указанных в спецификации.
Таким образом, корректный запрос на оплату с применением метода Klarna должен содержать идентификатор проекта, базовые сведения о платеже (идентификатор, сумму и код валюты), информацию о пользователе и чеке, а также подпись.
Формат промежуточных оповещений для перенаправления пользователей
Для перенаправления пользователей от веб-сервиса мерчанта к сервису Klarna при проведении каждого платежа с использованием метода Klarna необходимо принять промежуточное оповещение от платёжной платформы и использовать информацию из него, включённую в объект redirect_data
. Формат таких оповещений является типовым (подробнее), при этом в состав объекта redirect_data
включаются следующие объекты и параметры:
body
— объект с данными для отправки в теле запроса;method
— параметр с указанием HTTP-метода отправки запроса (GET
илиPOST
);url
— параметр со ссылкой для перенаправления.
Формат итоговых оповещений
Для итоговых оповещений об оплатах с применением метода Klarna используется типовой формат, описание которого представлено в разделе Оповещения.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 442
была проведена оплата в размере 10,00 EUR
.
В следующем примере оповещение свидетельствует об отклонённой оплате.
Дополнительные материалы
Для организации работы с оплатами через Gate также могут быть полезны следующие материалы:
- Организация взаимодействия — о том, как взаимодействовать с платёжной платформой через Gate.
- Работа с подписью — о порядке создания и проверки подписи в программных запросах и оповещениях при взаимодействии с платёжной платформой.
- Модель проведения платежей — о типах, схемах проведения и возможных статусах поддерживаемых платежей и операций.
- Разовая оплата в одну стадию — о том, как проводить разовые оплаты через Gate.
- Информация об операциях — о служебных кодах, используемых в платёжной платформе для фиксации информации о выполнении операций.
Возвраты через Gate
Общая информация
Для выполнения возврата через Gate с использованием метода Klarna со стороны веб-сервиса необходимо отправить запрос, содержащий требуемые параметры и подпись, на рабочий URL ecommpay и принять оповещение о результате. Полная схема выполнения возврата выглядит следующим образом.
Информация о форматах запросов и оповещений, используемых для выполнения возвратов методом Klarna через Gate, приведена далее в этом разделе; общая информация о работе с Gate API — в отдельной статье Организация взаимодействия.
Формат запросов
При работе с запросами на возвраты с применением метода Klarna необходимо учитывать следующее:
- Для инициирования каждого возврата должен использоваться POST-запрос к конечной точке
/v2/payment/bank-transfer/klarna/refund
, которая относится к группе конечных точек /v2/payment/bank-transfer/{payment_method}/refund. - В каждом запросе должны использоваться следующие объекты и параметры:
general
— объект, содержащий основные идентификационные сведения запроса:project_id
— идентификатор проекта, полученный от ecommpay при интеграции;,payment_id
— идентификатор платежа, для которого необходимо выполнить возврат;,signature
— подпись запроса, составленная после указания всех целевых параметров (подробнее — в разделе Работа с подписью); (подробнее)),
payment
— объект, содержащий сведения о возврате:description
— комментарий к возврату или его описание;amount
— сумма возврата в дробных единицах валюты (является обязательной при частичном возврате);,currency
— код валюты возврата в формате ISO-4217 alpha-3 (является обязательным при частичном возврате);,
customer
— объект, содержащий сведения о пользователе:ip_address
— IP-адрес пользователя, актуальный для инициируемого возврата.
- Дополнительно могут использоваться любые другие параметры из числа указанных в спецификации.
Таким образом, корректный запрос на возврат с применением метода Klarna должен содержать идентификаторы проекта и платежа, описание возврата, IP-адрес пользователя, подпись, а также, при необходимости, код валюты и сумму возврата.
Формат оповещений
Для оповещений о результатах возвратов с применением метода Klarna используется типовой формат, описание которого представлено в разделе Оповещения.
В следующем примере оповещение свидетельствует о том, что в рамках проекта 442
был выполнен частичный возврат в размере 3,00 EUR
.
В следующем примере оповещение свидетельствует о возврате, отклонённом из-за превышения суммы оплаты.
Дополнительные материалы
Для организации работы с возвратами через Gate также могут быть полезны следующие материалы:
- Организация взаимодействия — о том, как взаимодействовать с платёжной платформой через Gate.
- Работа с подписью — о порядке создания и проверки подписи в программных запросах и оповещениях при взаимодействии с платёжной платформой.
- Модель проведения платежей — о типах, схемах проведения и возможных статусах поддерживаемых платежей и операций.
- Возвраты средств после оплат — о том, как выполнять возвраты через Gate.
- Информация об операциях — о служебных кодах, используемых в платёжной платформе для фиксации информации о выполнении операций.
Возвраты через Dashboard
При использовании интерфейса Dashboard можно выполнять одиночные и массовые возвраты методом Klarna с единичной и пакетной отправкой запросов, называемые соответственно одиночными и массовыми.
- Для выполнения одиночного возврата необходимо выбрать целевую оплату, открыть карточку этой оплаты, указать сумму возврата, отправить запрос и убедиться в выполнении возврата.
-
Для выполнения массового возврата необходимо подготовить и загрузить файл с информацией обо всех целевых возвратах, отправить пакет запросов и убедиться в выполнении возвратов.
При этом должен использоваться файл формата CSV, структура которого соответствует требованиям, представленным в разделе Сведения о массовых платежах, а параметры возвратов — требованиям, представленным в разделе Возвраты через Gate этой статьи (за исключением пункта о подписи).
Более подробная информацияИнформация о выполнении возвратов через Dashboard представлена в отдельном разделе.
Анализ результатов проведения платежей
Для анализа информации о платежах и операциях, как в отдельности по методу Klarna, так и в совокупности с другими методами, можно использовать:
- инструментарий интерфейса Dashboard, с различными реестрами и аналитическими панелями;,
- отчёты в формате CSV, выгружаемые (как разово, так и периодически) через раздел Отчёты интерфейса Dashboard;,
- данные в формате JSON, получаемые по программным запросам через интерфейс Data API.
С вопросами по анализу информации можно обращаться к разделам документации (Dashboard и Использование Data API) и специалистам ecommpay.