mirror of
https://github.com/valitydev/swag-payments.git
synced 2024-11-06 09:35:22 +00:00
CAPI-125: Impose reasonable limits and enforce specs on model props (#62)
* CAPI-125: Impose reasonable limits and enforce specs on model props * CAPI-125: Accomodate for ipv6-mapped ipv4 addresses * CAPI-125: Fix standard id * CAPI-125: Refine phone number format
This commit is contained in:
parent
831a19e146
commit
19713fc464
@ -7,9 +7,13 @@ required:
|
||||
properties:
|
||||
account:
|
||||
type: string
|
||||
pattern: '^\d{20}$'
|
||||
bankName:
|
||||
type: string
|
||||
maxLength: 100
|
||||
bankPostAccount:
|
||||
type: string
|
||||
pattern: '^\d{20}$'
|
||||
bankBik:
|
||||
type: string
|
||||
pattern: '^\d{9}$'
|
||||
|
@ -23,3 +23,4 @@ allOf:
|
||||
cardHolder:
|
||||
description: Имя держателя карты
|
||||
type: string
|
||||
maxLength: 100
|
||||
|
@ -5,8 +5,10 @@ required:
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
maxLength: 100
|
||||
categoryID:
|
||||
type: integer
|
||||
format: int32
|
||||
description:
|
||||
type: string
|
||||
maxLength: 1000
|
||||
|
@ -7,3 +7,4 @@ allOf:
|
||||
properties:
|
||||
reason:
|
||||
type: string
|
||||
maxLength: 1000
|
||||
|
@ -6,3 +6,4 @@ properties:
|
||||
fingerprint:
|
||||
description: Уникальный отпечаток user agent'а плательщика
|
||||
type: string
|
||||
maxLength: 1000
|
||||
|
@ -4,6 +4,11 @@ properties:
|
||||
email:
|
||||
description: Адрес электронной почты
|
||||
type: string
|
||||
format: email
|
||||
maxLength: 100
|
||||
phoneNumber:
|
||||
description: Номер мобильного телефона
|
||||
description: |
|
||||
Номер мобильного телефона с международным префиксом согласно
|
||||
[E.164](https://en.wikipedia.org/wiki/E.164).
|
||||
type: string
|
||||
format: '^\+\d{4,15}$'
|
||||
|
@ -10,3 +10,4 @@ allOf:
|
||||
format: date-time
|
||||
reason:
|
||||
type: string
|
||||
maxLength: 1000
|
||||
|
@ -37,14 +37,17 @@ allOf:
|
||||
currency:
|
||||
description: |
|
||||
Валюта, символьный код согласно
|
||||
[RFC 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).
|
||||
[ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).
|
||||
type: string
|
||||
pattern: '^[A-Z]{3}$'
|
||||
metadata:
|
||||
description: Связанные с инвойсом метаданные
|
||||
type: object
|
||||
product:
|
||||
description: Наименование предлагаемых товаров или услуг
|
||||
type: string
|
||||
maxLength: 100
|
||||
description:
|
||||
description: Описание предлагаемых товаров или услуг
|
||||
type: string
|
||||
maxLength: 1000
|
||||
|
@ -21,8 +21,9 @@ properties:
|
||||
currency:
|
||||
description: |
|
||||
Валюта, символьный код согласно
|
||||
[RFC 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).
|
||||
[ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).
|
||||
type: string
|
||||
pattern: '^[A-Z]{3}$'
|
||||
metadata:
|
||||
description: 'Метаданные, которые необходимо связать с инвойсом'
|
||||
type: object
|
||||
@ -35,6 +36,8 @@ properties:
|
||||
product:
|
||||
description: Наименование предлагаемых товаров или услуг
|
||||
type: string
|
||||
maxLength: 100
|
||||
description:
|
||||
description: Описание предлагаемых товаров или услуг
|
||||
type: string
|
||||
maxLength: 1000
|
||||
|
@ -40,14 +40,17 @@ allOf:
|
||||
currency:
|
||||
description: |
|
||||
Валюта, символьный код согласно
|
||||
[RFC 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).
|
||||
[ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).
|
||||
type: string
|
||||
pattern: '^[A-Z]{3}$'
|
||||
metadata:
|
||||
description: Связанные с инвойсом метаданные
|
||||
type: object
|
||||
product:
|
||||
description: Наименование предлагаемых товаров или услуг
|
||||
type: string
|
||||
maxLength: 100
|
||||
description:
|
||||
description: Описание предлагаемых товаров или услуг
|
||||
type: string
|
||||
maxLength: 1000
|
||||
|
@ -14,3 +14,4 @@ properties:
|
||||
reason:
|
||||
description: Причина отмены или погашения инвойса
|
||||
type: string
|
||||
maxLength: 1000
|
||||
|
@ -36,23 +36,29 @@ allOf:
|
||||
currency:
|
||||
description: |
|
||||
Валюта, символьный код согласно
|
||||
[RFC 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).
|
||||
type: string
|
||||
paymentSession:
|
||||
description: Идентификатор платежной сессии
|
||||
[ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).
|
||||
type: string
|
||||
pattern: '^[A-Z]{3}$'
|
||||
contactInfo:
|
||||
description: Контактные данные плательщика
|
||||
allOf:
|
||||
- $ref: '#/definitions/ContactInfo'
|
||||
paymentSession:
|
||||
description: Идентификатор платежной сессии
|
||||
type: string
|
||||
maxLength: 1000
|
||||
paymentToolToken:
|
||||
description: 'Токен платежного средства, предоставленного плательщиком'
|
||||
type: string
|
||||
maxLength: 1000
|
||||
paymentToolDetails:
|
||||
$ref: '#/definitions/PaymentToolDetails'
|
||||
ip:
|
||||
description: IP-адрес плательщика
|
||||
type: string
|
||||
format: ip-address
|
||||
maxLength: 45
|
||||
fingerprint:
|
||||
description: Уникальный отпечаток user agent'а плательщика
|
||||
type: string
|
||||
maxLength: 1000
|
||||
|
@ -16,8 +16,9 @@ properties:
|
||||
currency:
|
||||
description: |
|
||||
Валюта платежей, символьный код согласно
|
||||
[RFC 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).
|
||||
[ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).
|
||||
type: string
|
||||
pattern: '^[A-Z]{3}$'
|
||||
profit:
|
||||
description: Прибыль магазина
|
||||
type: integer
|
||||
|
@ -1,14 +1,16 @@
|
||||
type: object
|
||||
required:
|
||||
- paymentToolToken
|
||||
- paymentSession
|
||||
- contactInfo
|
||||
- paymentSession
|
||||
- paymentToolToken
|
||||
properties:
|
||||
paymentToolToken:
|
||||
description: Токен платежного средства, предоставленного плательщиком
|
||||
type: string
|
||||
contactInfo:
|
||||
$ref: '#/definitions/ContactInfo'
|
||||
paymentSession:
|
||||
description: Идентификатор платежной сессии
|
||||
type: string
|
||||
contactInfo:
|
||||
$ref: '#/definitions/ContactInfo'
|
||||
maxLength: 1000
|
||||
paymentToolToken:
|
||||
description: Токен платежного средства, предоставленного плательщиком
|
||||
type: string
|
||||
maxLength: 1000
|
||||
|
@ -11,8 +11,9 @@ properties:
|
||||
currency:
|
||||
description: |
|
||||
Валюта платежей, символьный код согласно
|
||||
[RFC 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).
|
||||
[ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).
|
||||
type: string
|
||||
pattern: '^[A-Z]{3}$'
|
||||
profit:
|
||||
description: Прибыль магазина
|
||||
type: integer
|
||||
|
@ -24,35 +24,39 @@ allOf:
|
||||
type: string
|
||||
format: date-time
|
||||
amount:
|
||||
description: >
|
||||
description: |
|
||||
Стоимость предлагаемых товаров или услуг, в минорных денежных
|
||||
единицах,
|
||||
|
||||
например в копейках в случае указания российских рублей в качестве
|
||||
валюты.
|
||||
единицах, например в копейках в случае указания российских рублей в
|
||||
качестве валюты.
|
||||
type: integer
|
||||
format: int64
|
||||
minimum: 1
|
||||
currency:
|
||||
description: |
|
||||
Валюта, символьный код согласно
|
||||
[RFC 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).
|
||||
type: string
|
||||
paymentSession:
|
||||
description: Идентификатор платежной сессии
|
||||
[ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).
|
||||
type: string
|
||||
pattern: '^[A-Z]{3}$'
|
||||
contactInfo:
|
||||
description: Контактные данные плательщика
|
||||
allOf:
|
||||
- $ref: '#/definitions/ContactInfo'
|
||||
paymentSession:
|
||||
description: Идентификатор платежной сессии
|
||||
type: string
|
||||
maxLength: 1000
|
||||
paymentToolToken:
|
||||
description: 'Токен платежного средства, предоставленного плательщиком'
|
||||
type: string
|
||||
maxLength: 1000
|
||||
paymentToolDetails:
|
||||
$ref: '#/definitions/PaymentToolDetails'
|
||||
ip:
|
||||
description: IP-адрес плательщика
|
||||
type: string
|
||||
format: ip-address
|
||||
maxLength: 45
|
||||
fingerprint:
|
||||
description: Уникальный отпечаток user agent'а плательщика
|
||||
type: string
|
||||
maxLength: 1000
|
||||
|
@ -13,3 +13,4 @@ allOf:
|
||||
paymentSystem:
|
||||
description: Платежная система
|
||||
type: string
|
||||
maxLength: 100
|
||||
|
@ -3,4 +3,6 @@ required:
|
||||
- reason
|
||||
properties:
|
||||
reason:
|
||||
description: Причина совершения операции
|
||||
type: string
|
||||
maxLength: 1000
|
||||
|
@ -14,17 +14,25 @@ allOf:
|
||||
properties:
|
||||
registeredName:
|
||||
type: string
|
||||
maxLength: 100
|
||||
registeredNumber:
|
||||
type: string
|
||||
pattern: '^(\d{13}|\d{15})$'
|
||||
inn:
|
||||
type: string
|
||||
pattern: '^\d{10}$'
|
||||
actualAddress:
|
||||
type: string
|
||||
maxLength: 1000
|
||||
postAddress:
|
||||
type: string
|
||||
maxLength: 1000
|
||||
representativePosition:
|
||||
type: string
|
||||
maxLength: 100
|
||||
representativeFullName:
|
||||
type: string
|
||||
maxLength: 100
|
||||
representativeDocument:
|
||||
type: string
|
||||
maxLength: 100
|
||||
|
@ -10,3 +10,4 @@ properties:
|
||||
type: string
|
||||
currency:
|
||||
type: string
|
||||
format: '^[A-Z]{3}$'
|
||||
|
@ -4,7 +4,9 @@ required:
|
||||
properties:
|
||||
name:
|
||||
type: string
|
||||
maxLength: 100
|
||||
description:
|
||||
type: string
|
||||
maxLength: 1000
|
||||
location:
|
||||
$ref: '#/definitions/ShopLocation'
|
||||
|
@ -7,3 +7,5 @@ allOf:
|
||||
properties:
|
||||
url:
|
||||
type: string
|
||||
format: uri
|
||||
maxLength: 1000
|
||||
|
@ -20,7 +20,8 @@ properties:
|
||||
description: |
|
||||
URL, на который будут поступать оповещения о произошедших событиях
|
||||
type: string
|
||||
format: url
|
||||
format: uri
|
||||
maxLength: 1000
|
||||
publicKey:
|
||||
description: |
|
||||
Содержимое публичного ключа, служащего для проверки авторитативности
|
||||
|
@ -10,4 +10,5 @@ properties:
|
||||
description: |
|
||||
URL, на который будут поступать оповещения о произошедших событиях
|
||||
type: string
|
||||
format: url
|
||||
format: uri
|
||||
maxLength: 1000
|
||||
|
@ -37,26 +37,33 @@ get:
|
||||
description: Идентификатор инвойса
|
||||
required: false
|
||||
type: string
|
||||
maxLength: 40
|
||||
- name: paymentID
|
||||
in: query
|
||||
description: Идентификатор платежа
|
||||
required: false
|
||||
type: string
|
||||
maxLength: 40
|
||||
- name: payerEmail
|
||||
in: query
|
||||
description: 'Email, указанный при оплате'
|
||||
required: false
|
||||
type: string
|
||||
format: email
|
||||
maxLength: 100
|
||||
- name: payerIP
|
||||
in: query
|
||||
description: IP-адрес плательщика
|
||||
required: false
|
||||
type: string
|
||||
format: ip-address
|
||||
maxLength: 45
|
||||
- name: payerFingerprint
|
||||
in: query
|
||||
description: Уникальный отпечаток user agent'а плательщика
|
||||
required: false
|
||||
type: string
|
||||
maxLength: 1000
|
||||
- name: cardNumberMask
|
||||
in: query
|
||||
description: Маскированый номер карты
|
||||
|
@ -26,26 +26,33 @@ get:
|
||||
description: Идентификатор инвойса
|
||||
required: false
|
||||
type: string
|
||||
maxLength: 40
|
||||
- name: paymentID
|
||||
in: query
|
||||
description: Идентификатор платежа
|
||||
required: false
|
||||
type: string
|
||||
maxLength: 40
|
||||
- name: payerEmail
|
||||
in: query
|
||||
description: 'Email, указанный при оплате'
|
||||
required: false
|
||||
type: string
|
||||
format: email
|
||||
maxLength: 100
|
||||
- name: payerIP
|
||||
in: query
|
||||
description: IP-адрес плательщика
|
||||
required: false
|
||||
type: string
|
||||
format: ip-address
|
||||
maxLength: 45
|
||||
- name: payerFingerprint
|
||||
in: query
|
||||
description: Уникальный отпечаток user agent'а плательщика
|
||||
required: false
|
||||
type: string
|
||||
maxLength: 1000
|
||||
- name: cardNumberMask
|
||||
in: query
|
||||
description: Маскированый номер карты
|
||||
|
@ -10,6 +10,7 @@ get:
|
||||
description: Account ID
|
||||
required: true
|
||||
type: string
|
||||
maxLength: 40
|
||||
responses:
|
||||
'200':
|
||||
description: Account found
|
||||
|
@ -6,11 +6,7 @@ get:
|
||||
parameters:
|
||||
- $ref: '#/parameters/requestID'
|
||||
- $ref: '#/parameters/invoiceID'
|
||||
- name: paymentID
|
||||
in: path
|
||||
description: Идентификатор платежа
|
||||
required: true
|
||||
type: string
|
||||
- $ref: '#/parameters/paymentID'
|
||||
responses:
|
||||
'200':
|
||||
description: Данные платежа
|
||||
|
@ -27,8 +27,10 @@ post:
|
||||
token:
|
||||
description: Созданный токен
|
||||
type: string
|
||||
maxLength: 1000
|
||||
session:
|
||||
description: Идентификатор созданной платежной сессии
|
||||
type: string
|
||||
maxLength: 1000
|
||||
'400':
|
||||
$ref: '#/responses/BadRequest'
|
||||
|
@ -1,7 +1,7 @@
|
||||
put:
|
||||
description: >-
|
||||
description: |
|
||||
Приостановить действие магазина. Этот тип заявок обрабатывается платформой
|
||||
автоматически и исполняется сразу же после отправки
|
||||
автоматически и исполняется сразу же после отправки.
|
||||
operationId: suspendShop
|
||||
tags:
|
||||
- Shops
|
||||
|
@ -110,6 +110,14 @@ parameters:
|
||||
description: Идентификатор инвойса
|
||||
required: true
|
||||
type: string
|
||||
maxLength: 40
|
||||
paymentID:
|
||||
name: paymentID
|
||||
in: path
|
||||
description: Идентификатор платежа в рамках инвойса
|
||||
required: true
|
||||
type: string
|
||||
maxLength: 40
|
||||
contractID:
|
||||
name: contractID
|
||||
in: path
|
||||
@ -123,6 +131,7 @@ parameters:
|
||||
description: Идентификатор webhook'а
|
||||
required: true
|
||||
type: string
|
||||
maxLength: 40
|
||||
fromTime:
|
||||
name: fromTime
|
||||
in: query
|
||||
@ -162,10 +171,11 @@ parameters:
|
||||
name: limit
|
||||
in: query
|
||||
description: Лимит выборки
|
||||
required: false
|
||||
required: true
|
||||
type: integer
|
||||
format: int32
|
||||
minimum: 1
|
||||
maximum: 1000
|
||||
offset:
|
||||
name: offset
|
||||
in: query
|
||||
|
Loading…
Reference in New Issue
Block a user