3.30. /api/v4/create-recurring-payment
Введение
API URL
Примечание
Интеграционная среда |
Производственная среда |
|---|---|
https://sandbox.doc2.com/paynet/api/v4/create-recurring-payment/ENDPOINTID |
https://gate.doc2.com/paynet/api/v4/create-recurring-payment/ENDPOINTID |
Параметры Запроса Повторяющегося Платежа
Примечание
Примечание
Название Параметра |
Описание |
Значение |
|---|---|---|
rp_card_type |
SRC — Исходная карта отправителя. DST — Карта назначения получателя. |
Необходимость: ОбязательноТип: EnumДлина: 3 |
client-orderid |
Идентификатор заказа Присоединяющейся стороны. Поддерживается для типов SRC и DST. |
Необходимость: ОбязательноТип: StringДлина: 128 |
credit-card-number |
Номер кредитной карты плательщика. Поддерживается для типа SRC и DST. |
Необходимость: ОбязательноТип: NumericДлина: 19 |
cvv2 |
Код CVV2 плательщика. CVV2 (Card Verification Значение) — это трех - или четырехзначное число, напечатанное на обратной стороне карты в области подписи. |
Необходимость: ОпциональноТип: NumericДлина: 3-4 |
card-printed-name |
Напечатанное имя плательщика на карте. Обязательно для SRC, необязательно для DST. |
Необходимость: УсловноТип: StringДлина: 128 |
expire-year |
Срок истечения года карты плательщика. Обязательно для SRC, необязательно для DST. |
Необходимость: УсловноТип: NumericДлина: 4 |
expire-month |
Срок истечения месяца карты плательщика. Обязательно для SRC, необязательно для DST. |
Необходимость: УсловноТип: NumericДлина: 2 |
amount |
Сумма валюты должна совпадать с валютой назначенного проекта. По достижении даты окончания, регулярный платеж перейдет в статус - остановлен. Поддерживается для типов SRC и DST. Требуется, если не используются amount-from и amount-to или amount-sequence. |
Необходимость: УсловноТип: NumericДлина: 10 |
currency |
Тип валюты. Поддерживается для типа SRC и DST. |
Необходимость: ОбязательноТип: StringДлина: 3 |
country |
Страна плательщика. Не поддерживается для DST. |
Необходимость: ОбязательноТип: StringДлина: 2 |
city |
Город плательщика. Не поддерживается для DST. |
Необходимость: ОбязательноТип: StringДлина: 128 |
zip-code |
Почтовый индекс плательщика. Не поддерживается для DST. |
Необходимость: ОбязательноТип: StringДлина: 10 |
address1 |
Адрес плательщика. Не поддерживается для DST. |
Необходимость: ОбязательноТип: StringДлина: 256 |
first-name |
Имя плательщика. Не поддерживается для DST. |
Необходимость: ОбязательноТип: StringДлина: 128 |
last-name |
Фамилия плательщика. Не поддерживается для DST. |
Необходимость: ОбязательноТип: StringДлина: 128 |
Электронная почта плательщика. Не поддерживается для DST. |
Необходимость: ОбязательноТип: StringДлина: 128 |
|
amount-from |
Если выбрана комбинация amount-from и amount-to, каждая плата будет иметь случайную сумму между этими двумя числами. Поддерживается для типов SRC и DST. Требуется, если amount или amount-sequence не используются. |
Необходимость: УсловноТип: NumericДлина: 10 |
amount-to |
Если выбрана комбинация amount-from и amount-to, каждая плата будет иметь случайную сумму между этими двумя числами. Поддерживается для типов SRC и DST. Требуется, если amount или amount-sequence не используются. |
Необходимость: УсловноТип: NumericДлина: 10 |
amount-sequence |
Если выбрана последовательность сумм, с клиента будет списана сумма из этого списка. Пример настройки последовательности сумм: 10.5, 24.6, 32.0. Если количество повторов больше количества элементов в последовательности сумм, каждое новое списание будет с последней суммы в последовательности сумм. Для того чтобы списание начиналось с первой суммы в цепочке, текущее количество повторов должно быть установлено как 0. Поддерживается для типов SRC и DST. Требуется, если amount-from и amount-to или amount не используются. |
Необходимость: УсловноТип: NumericДлина: 10 |
period |
Возможные значения: ежедневно, еженедельно и ежемесячно. В случае, если выбрано ежедневно, клиент будет платить каждый день. Если выбрано еженедельно - каждые 7 дней. Если выбрано ежемесячно, клиент будет платить в тот же день месяца, с начальной даты, независимо от того, сколько дней в месяце. Interval и period можно указывать или опускать только вместе. Не поддерживается для DST. |
Необходимость: УсловноТип: StringДлина: 32 |
interval |
Interval — это множитель, применяемый к периоду. Например, если интервал равен 2, а период выбран как «Ежедневно», клиент будет платить раз в 2 дня. Interval и period можно указывать или опускать только вместе. Не поддерживается для DST. |
Необходимость: УсловноТип: IntДлина: - |
order_desc |
Описание периодического платежа. Поддерживается для типа SRC и DST. |
Необходимость: ОпциональноТип: StringДлина: 65K |
customer-ip |
IP-адрес плательщика. Поддерживается для типа SRC и DST. |
Необходимость: ОпциональноТип: StringДлина: 45 |
ssn |
Поле номера социального страхования. Не поддерживается для DST. |
Необходимость: ОпциональноТип: StringДлина: 32 |
birthday |
Дата рождения плательщика. Не поддерживается для DST. |
Необходимость: ОпциональноТип: 8/Numeric, DD.MM.YYYYДлина: 8 |
phone |
Номер телефона плательщика. Не поддерживается для DST. |
Необходимость: ОпциональноТип: StringДлина: 128 |
state |
Штат плательщика. Пожалуйста, см. Обязательные коды штатов для списка допустимых кодов штатов. Требуется для США, Канады и Австралии. Не поддерживается для DST. |
Необходимость: ОпциональноТип: StringДлина: 2-3 |
start-date |
Дата, когда запланировано первое списание. Если дата начала установлена как текущая дата и тип установлен как авто, первое списание будет произведено в этот же день. Поддерживается для типов SRC и DST. |
Необходимость: ОпциональноТип: 8/Numeric, DD.MM.YYYYДлина: 8 |
finish-date |
Дата, когда с плательщика будет взиматься плата в последний раз. Поддерживается для типов SRC и DST. |
Необходимость: ОпциональноТип: 8/Numeric, DD.MM.YYYYДлина: 8 |
max-repeats-number |
Индекс повторяющейся транзакции, первый платеж будет иметь индекс 0. Текущее число повторов увеличивается, даже если платеж был неудачным. Когда текущее число повторов достигает максимального числа повторов, повторяющийся платеж переходит в статус остановки, и клиент больше не платит. Если платеж был произведен автоматически, никаких дополнительных платежей взиматься не будет (если это не сделано вручную), даже если повторяющийся платеж остановлен и перенесен снова. Поддерживается для типов SRC и DST. |
Необходимость: ОпциональноТип: IntДлина: - |
purpose |
Цель транзакции. Не поддерживается для DST. |
Необходимость: ОпциональноТип: StringДлина: 128 |
notify_url |
Поле Notify url. Также можно использовать параметр server_callback_url. Для получения дополнительной информации см. Обратный вызов Присоединяющейся Стороны. Поддерживается для типов SRC и DST. |
Необходимость: ОпциональноТип: StringДлина: 1024 |
server_callback_url |
URL-адрес Присоединяющейся Стороны, который получит запрос обратного вызова, как только транзакция достигнет окончательного статуса. Присоединяющаяся сторона может использовать URL-адрес обратного вызова сервера для индивидуальной обработки завершения транзакции, например, для сбора данных о платежах в информационной системе Присоединяющейся Стороны. Подробности обратного вызова см. в Параметры обратного вызова Присоединяющейся Стороны. Отправьте либо notify_url, либо server_callback_url, но не оба. |
Необходимость: ОпциональноТип: StringДлина: 128 |
Параметры ответа
Примечание
Предупреждение
/api/v4/create-recurring-payment — это синхронная команда API. Ответ будет возвращен после того, как профиль повторяющегося платежа будет создан на стороне платежного шлюза.
Параметры ответа |
Описание |
|---|---|
type |
Тип ответа. Может быть create-recurring-payment-response, validation-error, error. Если тип равен validation-error или error, параметры error-message и error-code содержат сведения об ошибке. |
recurring-payment-id |
Повторяющийся идентификатор, присвоенный заказу Doc2.0. |
status |
Если запрос принят, этот параметр имеет значение approved. Это не статус транзакции. |
serial-number |
Уникальный номер, присваиваемый сервером Doc2.0 конкретному запросу от Присоединяющейся Стороны. |
error-message |
Если статус declined или error, этот параметр содержит причину отклонения или сведения об ошибке. |
error-code |
Код ошибки в случае статуса declined или error. |
Пример запроса
POST /paynet/api/v4/create-recurring-payment/ HTTP/1.1
User-Agent: curl/8.4.0
Accept: */*
Authorization: OAuth oauth_consumer_key="ErwinTestMerchant", oauth_nonce="qdyD66xc8sDEQwo3r12VjJfJhAOXuj6O", oauth_signature="eZve%2FSvPCTBXtQM%2BEwTEROtsQE27gZJr36EThL8ECCrnWH9Xw8JxcysNEPTG5HfcYwR2IOjDk3uiSNFa1oT2bQT9XONQTl1JVTOhIiMrMJT7GT1rGuLSsEvghaBoRLrcth6SC0c%2F%2FINyOxmIc%2B79E3T8hkpH6J6VI%2BSRG162%2BlHBPc1u1SGGnhkkRYU621AUGu2FDrc4neob4QJSm%2BaF3a0AgWDGiLbeQ0Ivn3YJ441EKd99kBWdaCuUp0eSfcmh3U2Js66edCjWXDEW7uuywP%2BU%2FBEeq06XxoVNGE2NF2LArXgoNqfzz2Tpisq35%2FE7Yg%2F9hphww75HMoJCECe0yVIHmKXd8HBDNMyT7gg3w5bnKbo%2FURX0m%2Fpe7bxkJ1mLNsKouHVkvjLZKpWVVUyCl%2BJ3x0BoEN5QK7xh0fNbV4Ue9TUOz59q0v%2B7lz5E1B4TvxQ9pa%2FmNCl4P2JgTosLvXNcdGn9Dq0TC0gb62O2W81MoZAljJQew%2FcKAUFTXBMZK6eIXzA81BPQVejv8nIVsvHKNo2Ko0s3hJPKGaeVAN0gyUAPw0%2BsJI3bnN2CPSW92xysGRWJYBtsHhqDhmgtoDNvw7LFB6BzRk5GPa9iQju34l47GsCUUIs3%2ByipIl7Q3HnM%2Bet9L8JSl7K02MwR6zlLxtd9UXHDq3pnmKzly6I%3D", oauth_signature_method="RSA-SHA256", oauth_timestamp="1721312072", oauth_version="1.0"
Content-Length: 595
Content-Type: application/x-www-form-urlencoded
Connection: keep-alive
address1=1234%20Peace%20street
&amount=55
&birthday=1980-01-02
&card-printed-name=JOHN%20SMITH
&city=Chicago
&client-orderid=1575634981130
&country=US
&credit-card-number=4464920026265488
¤cy=USD
&customer-ip=1.2.3.4
&cvv2=123
&email=john.smith%40example.com
&expire-month=12
&expire-year=2040
&finish-date=2040-01-01
&first-name=John
&interval=1
&last-name=Smith
&max-repeats-number=1000
¬ify-url=http%3A%2F%2Fexample.com%2Fnotify-me
&order_desc=testing%20purposes
&period=week
&phone=12345678
&purpose=No%20purpose%20at%20all
&rp_card_type=SRC
&ssn=1234
&start-date=2030-01-01
&state=IL
&zip-code=123456
&server_callback_url=https://httpstat.us/200
Пример успешного ответа
HTTP/1.1 200
Server: server
Date: Thu, 18 Jul 2024 14:16:20 GMT
Content-Type: text/html;charset=utf-8
Connection: keep-alive
Keep-Alive: timeout=60
Vary: Accept-Encoding
X-XSS-Protection: 1
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000
Content-Language: en-US
Strict-Transport-Security: max-age=31536000
Content-Length: 137
type=create-recurring-payment-response
&serial-number=00000000-0000-0000-0000-000002f36d81
&recurring-payment-id=1492124
&status=approved
Пример неуспешного ответа
HTTP/1.1 500
Server: server
Date: Thu, 18 Jul 2024 14:24:28 GMT
Content-Length: 61
Connection: keep-alive
Keep-Alive: timeout=60
X-XSS-Protection: 1
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000
Internal server error [8485772c-21d6-42aa-b2eb-3b5ae4e07d19]
Конструктор запросов
Debug form
| Normalized parameters string to sign, according to OAuth 1.0a rules |
|---|
| POST body parameters to submit |
|---|
| OAuth 1.0a headers to submit. |
|---|
| HEX Encoded Signature |
|---|
| Base64 Encoded Signature |
|---|
|