# Проведение оплат с частичным одобрением {#ru_pp_partial_approval} статья о возможности проводить через Payment Page оплаты, в рамках которых эмитенты одобряют частичные списания от исходных сумм платежей ## Общая информация {#section_pck_kkb_tjc .section} При проведении оплат могут возникать ситуации, когда у пользователя недостаточно средств на счёте для оплаты всей требуемой суммы, но для мерчанта может быть приемлема и частичная сумма зачисления. Например, это может быть актуальным для гибкого пополнения пользовательского баланса в веб-сервисе или для бронирования услуг, полная оплата которых может быть осуществлена в дальнейшем при их фактическом оказании. Чтобы допускать такие оплаты и не отклонять их из-за недостатка средств на счетах пользователей, можно использовать функциональность частичного одобрения платежей со стороны эмитентов \(Partial Approval или Partial Authorization\), которая применима в рамках отдельных платёжных систем. В платёжной платформе Ecommpay возможность проведения оплат с частичным одобрением поддерживается для классических карточных платежей с использованием карт платёжных систем Mastercard и Visa при работе через Gate API \([подробнее](ru_gate_partial_approval.md)\) или основную редакцию Payment Page. Эта возможность подключается по согласованию с курирующим менеджером Ecommpay в отношении требуемых проектов, после чего со стороны веб-сервиса мерчанта можно регулировать допустимость частичного одобрения в отношении каждого инициируемого платежа. Для этого в структуре запросов на открытие платёжной формы предусмотрен специализированный параметр `allow_partial_approval`. Если частичное одобрение указано как допустимое, на странице указания реквизитов платёжной карты пользователю отображается соответствующее предупреждение. ![](images/ecommpay/ru_pp_partial_approval.svg) Конкретная сумма, которая может использоваться в рамках оплаты с возможностью частичного одобрения, каждый раз определяется на стороне эмитента используемой платёжной карты\(с учётом актуального баланса средств на счёте и правил работы эмитента\). Информация об этой сумме передаётся от сервиса эмитента к платёжной платформеEcommpay, где одобренная сумма учитывается как актуальная сумма платежа, а исходно указанная в запросе сумма становится неактуальной. При этом важно учитывать, что такое изменение может влиять на дальнейшие операции в рамках оплаты, как например действия с заблокированными средствами или возврат средств после оплаты.Так, если *исходно указанная* сумма оплаты составляла `100 EUR`, а *фактически одобренная* и оплаченная сумма оказалась равной `90 EUR`, то вернуть в рамках такой оплаты можно не более `90 EUR`. В свою очередь, разница между исходной и одобренной суммами может быть оплачена \(и при необходимости возвращена\) лишь отдельно, в рамках другой оплаты. Применение возможности частичного одобрения не влияет на типовые схемы проведения оплат в одну и две стадии в отношении последовательности взаимодействий между веб-сервисом и платёжной платформой. Вместе с тем, при использовании этой возможности важно учитывать изменения в форматах запросов и оповещений\(подробнее далее\), и, когда это актуально, расширять пользовательские сценарии: - уведомлять о допустимости частичного одобрения суммы платежа или предоставлять возможность согласия с таким вариантом оплаты — перед каждым вызовом платёжной формы для проведения оплаты, которая может допускать частичное одобрение; - уведомлять о фактически одобренной и оплаченной сумме — по итогам проведения каждой оплаты, которая была одобрена частично; - предоставлять возможность доплаты до исходно требуемой суммы через дополнительный платёж\(с повторным открытием платёжной формы или с использованием другого интерфейса, обеспечивая возможность применения другого платёжного инструмента\) — когда это актуально; - предоставлять возможность возврата оплаченной суммы — когда это актуально; - вносить другие дополнения — когда это уместно в рамках оказываемых услуг и специфики веб-сервиса. Также со стороны веб-сервиса важно контролировать применение частичных одобрений. Это можно делать через сопоставление исходно запрошенной и фактически одобренной суммы для каждой оплаты, допускающей списание неполной суммы. С вопросами, касающимися порядка подключения возможности проведения оплат с частичным одобрением, можно обращаться к курирующему менеджеру Ecommpay, с техническими вопросами, касающимися аспектов применения этой возможности — к настоящей документации и специалистам технической поддержки Ecommpay. ## Особенности и ограничения {#section_gbb_kzb_tjc .section} При использовании возможности оплат с частичным одобрением стоит учитывать следующие особенности и ограничения: - Возможность подключается в отношении конкретных проектов взаимодействия с платформой и может быть доступной для конкретных оплат только при соблюдении ряда условий: - Частичное одобрение допустимо для используемого проекта. - Для проведения оплаты используется Gate API или основная редакция платёжной формы Payment Page. - Платёжным методом выступают классические карточные платежи с прямым использованием карт. - Используемая карта выпущена и обслуживается в рамках платёжной системы Mastercard или Visa. - Эмитент используемой карты поддерживает оплаты с частичным одобрением. Во всех иных случаях частичное одобрение не применимо и если на счёте пользователя недостаточно средств, то оплата отклоняется, даже если в запросе была указана допустимость частичного одобрения. **Прим.:** Стоит учитывать, что с учётом ограничений по допустимым интерфейсам и методам частичное одобрение не может применяться при работе с платформой через специализированные редакции Payment Page, SDK для мобильных приложений, CMS-плагины и платёжные ссылки, а также при использовании таких карточных методов, как Click to Pay и Visa Instalments. - Возможность применима для проведения оплат и блокировки средств, в том числе с регистрацией повторяемых оплат. При этом в случае регистрации повторяемых оплат возможность применима только для исходных оплат, но не для регистрируемых серий списаний, для которых актуальной в любом случае остаётся исходно запрошенная сумма списаний. - Возможность может комбинироваться с другими дополнительными возможностями, доступными при работе с Payment Page. При этом в отдельных случаях следует учитывать особенности таких функциональных сочетаний. Так, [при сборе данных о пользователях](ru_PP_Gathering_customer_data.md) поля для сбора дополнительных сведений отображаются не на странице указания реквизитов платёжного инструмента, а на следующей за ней отдельной странице. В свою очередь, [при предоставлении повторных попыток проведения платежа](ru_PP_Try_Again.md) эти попытки предоставляются только при полном отклонении предыдущих попыток и инициируются на исходно запрошенную сумму. Если какая-либо из попыток привела к частичному одобрению, то дальнейшие повторные попытки не инициируются и доплата до исходно запрошенной суммы с помощью этой возможности не допускается. - После частичного одобрения актуальной считается сумма платежа, одобренная эмитентом. Это учитывается при конвертации валют \(если она применяется\), а также в рамках последующих операций по платежу, включая различные действия после блокировки средств \(с уменьшением или увеличением суммы заблокированных средств и списанием или отменой блокировки, даже при их автоматическом инициировании\) и при возврате средств пользователю. ## Подключение, тестирование и использование {#section_wrt_kzb_tjc .section} Чтобы *подключить* возможность проведения оплат с частичным одобрением,со стороны мерчанта необходимо: 1. Согласовать с курирующим менеджером Ecommpayподключение этой возможности и необходимость её тестирования. 2. Если была согласована необходимость тестирования, получить от специалистов Ecommpay уведомление о готовности к тестированию, проверить корректность работы с использованием этой возможностии сообщить о готовности к запуску. 3. Получитьот специалистов Ecommpay уведомление о подключении возможности. Чтобы *протестировать* проведение оплат с частичным одобрением,со стороны мерчанта следует провести как минимум одну оплату в рамках тестового проекта, с формированием запроса требуемого [формата](ru_pp_partial_approval.md#section_svh_fk3_tjc) на открытие платёжной формы и с указанием тестовых данных. При этом должны соблюдаться следующие условия: - При попытке оплаты на сумму более `120 EUR`\(в дробных единицах `12000`\) с использованием тестовой карты `5126160000356675` или `4010571676223548` должно выполняться списание ровно на `120 EUR`. В таких случаях остальные параметры, включая имя держателя карты или проверочный код, могут иметь произвольные значения, но должны указываться в корректном форматеи срок действия карты должен заканчиваться позднее даты платежа. - В других случаях оплаты должны проводиться на полную сумму или отклоняться, в соответствии с настроенными для проекта сценариями. Чтобы *допускать* применениеранее подключённой возможности частичного одобрения для конкретных платежей,со стороны веб-сервиса необходимо указывать специализированный параметр `allow_partial_approval` со значением `1` в запросах на проведение таких платежей\(подробнее далее\). ## Формат запросов {#section_svh_fk3_tjc .section} При формировании запросов на открытие платёжной формы для проведения оплаты с возможностью частичного одобрения необходимо учитывать следующее: 1. В каждом запросе должны использоваться обязательные для выполнения конкретного целевого действия параметры\(подробнее — в описаниях форматов запросов на открытие платёжной формы для [проведения оплат](ru_pp_purchase.md), [блокировки средств](ru_pp_purchase_auth.md) и [регистрации повторяемых оплат](ru_pp_recurring.md)\). 2. В каждом запросе должен передаваться параметр `allow_partial_approval` со значением `1`. При передаче в этом параметре значения `0`, как и при отсутствии этого параметра, частичное одобрение недопустимо. 3. Дополнительно в запросах могут использоваться любые другие параметры, доступные при работе в режиме Purchase, из числа представленных [в спецификации](ru_PP_Parameters.md). ``` {#codeblock_nrp_mpd_tjc .language-json} { "project_id": "42", "payment_id": "456789", "payment_currency": "EUR", "payment_amount": "10000", "customer_id": "customer_12", "customer_phone": "44991234567", "allow_partial_approval": 1, "signature": "TSzdE5rJZaA9TYAKoGpfXriFf82MxF..." } ``` ``` {#codeblock_lmq_5bx_tjc .language-json} { "project_id": "42", "payment_id": "456789", "payment_currency": "EUR", "payment_amount": "10000", "customer_id": "customer_12", "customer_phone": "44991234567", "allow_partial_approval": 1, "signature": "TSzdE5rJZaA9TYAKoGpfXriFf82MxF..." } ``` ## Формат оповещений {#section_ipw_dsd_tjc .section} Для итоговых оповещений об оплатах с частичным одобрением используется типовой формат, описание которого представлено в статье [Работа с оповещениями](ru_platform_callbacks.md). При этом в объектах `payment` и `operation` в параметрах `sum` и `sum_converted` указываются значения с учётом суммы, одобренной эмитентом, и эту сумму следует использовать для финансового учёта и сверок. ``` {#codeblock_dpv_ksd_tjc .language-json} { "account": { "number": "431422******0056", "type": "visa", "card_holder": "PROSTETNIK JELTZ", "id": 45678, "expiry_month": "08", "expiry_year": "2035" }, "customer": { "id": "customer_12", "phone": "44991234567" }, "payment": { "date": "2026-01-11T13:02:42+0000", "id": "456789", "method": "card", "status": "success", "sum": { "amount": 9000, // одобренная сумма "currency": "EUR" // код валюты }, "type": "purchase", "description": "" }, "project_id": 42, "operation": { "id": 969000002636, "type": "sale", "status": "success", "date": "2026-01-11T13:02:42+0000", "created_date": "2026-01-11T13:01:45+0000", "request_id": "c6eed1eb14c629b4ef20b3b8086d...d04132c34b0088cbc0be4667c", "sum_initial": { "amount": 10000, // запрошенная сумма "currency": "EUR" // код валюты }, "sum_converted": { "amount": 9000, // одобренная сумма "currency": "EUR" // код валюты }, "provider": { "id": 408, "payment_id": "330157196", "date": "2026-01-11T13:02:32+0000", "auth_code": "", "endpoint_id": "612266625" }, "code": "0", "message": "Success", "eci": "07" }, "signature": "v7KNMpfogAxwRIL9tVftZ1ZZ5D/aZAeb0VMdeR+CqGrNxYyilUwSm...==" } ``` ``` {#codeblock_l3j_tsd_tjc .language-json} { "account": { "number": "431422******0056", "type": "visa", "card_holder": "PROSTETNIK JELTZ", "id": 45678, "expiry_month": "08", "expiry_year": "2035" }, "customer": { "id": "customer_12", "phone": "44991234567" }, "payment": { "date": "2026-01-11T13:02:42+0000", "id": "456789", "method": "card", "status": "success", "sum": { "amount": 9000, // одобренная сумма "currency": "EUR" // код валюты }, "type": "purchase", "description": "" }, "project_id": 42, "operation": { "id": 969000002636, "type": "sale", "status": "success", "date": "2026-01-11T13:02:42+0000", "created_date": "2026-01-11T13:01:45+0000", "request_id": "c6eed1eb14c629b4ef20b3b8086d...d04132c34b0088cbc0be4667c", "sum_initial": { "amount": 10000, // запрошенная сумма "currency": "EUR" // код валюты }, "sum_converted": { "amount": 9000, // одобренная сумма "currency": "EUR" // код валюты }, "provider": { "id": 408, "payment_id": "330157196", "date": "2026-01-11T13:02:32+0000", "auth_code": "", "endpoint_id": "612266625" }, "code": "0", "message": "Success", "eci": "07" }, "signature": "v7KNMpfogAxwRIL9tVftZ1ZZ5D/aZAeb0VMdeR+CqGrNxYyilUwSm...==" } ``` ``` {#codeblock_z4t_mx2_wjc .language-json} { "account": { "number": "431422******0056", "type": "visa", "card_holder": "PROSTETNIK JELTZ", "id": 45678, "expiry_month": "08", "expiry_year": "2035" }, "customer": { "id": "customer_12", "phone": "44991234567" }, "payment": { "date": "2026-01-11T13:02:42+0000", "id": "456789", "method": "card", "status": "success", "sum": { "amount": 9000, // одобренная сумма в исходной валюте "currency": "EUR" // код исходной валюты }, "type": "purchase", "description": "" }, "project_id": 42, "operation": { "id": 969000002636, "type": "sale", "status": "success", "date": "2026-01-11T13:02:42+0000", "created_date": "2026-01-11T13:01:45+0000", "request_id": "c6eed1eb14c629b4ef20b3b8086d...d04132c34b0088cbc0be4667c", "sum_initial": { "amount": 10000, // запрошенная сумма в запрошенной операционной валюте "currency": "EUR" // код запрошенной операционной валюты }, "sum_converted": { "amount": 7805, // одобренная сумма в фактической операционной валюте "currency": "GBP" // код фактической операционной валюты }, "provider": { "id": 408, "payment_id": "330157196", "date": "2026-01-11T13:02:32+0000", "auth_code": "", "endpoint_id": "612266625" }, "code": "0", "message": "Success", "eci": "07" }, "signature": "v7KNMpfogAxwRIL9tVftZ1ZZ5D/aZAeb0VMdeR+CqGrNxYyilUwSm...==" } ``` ## Дополнительные материалы {#section_sgg_5sd_tjc .section} При работе с оплатами с частичным одобрением могут быть полезны следующие материалы: - [Проведение оплат](ru_pp_purchase.md)— статья о порядке проведения через Payment Page одностадийных оплат с незамедлительными списаниями. - [Блокировка средств](ru_pp_purchase_auth.md)— статья о порядке выполнения через Payment Page предварительных блокировок средств в рамках двухстадийных оплат с последующими списаниями. - [Регистрация повторяемых оплат](ru_pp_recurring.md)— статья о порядке регистрации через Payment Page оплат с сериями повторяемых списаний. - [Повторные попытки проведения платежей](ru_PP_Try_Again.md)— статья о возможности предоставлять пользователям дополнительные попытки проведения платежей через Payment Page при отклонении предшествующих попыток, с доступностью выбора платёжных методов. - [Сбор данных о пользователях](ru_PP_Gathering_customer_data.md)— статья о возможности получать и использовать при работе с Payment Page дополнительную информацию о пользователях, позволяющую минимизировать применение вспомогательных процедур. - [Работа с информацией о платежах](ru_platform_payment_information.md)— статьи о том, как можно получать информацию о платежах, проводимых через платформу, чтобы организовывать необходимые процессы контроля, реагирования и анализа. - [Отправка чеков и оповещений пользователям](ru_PP_receipt_data.md)— статья о возможностях прямо информировать пользователей о проведении платежей и других событиях через электронную почту при работе через Payment Page. **На уровень выше:**[Вспомогательные процедуры и дополнительные возможности](ru_PP_Additional.md)