INTEGRATION-21: Provide additional payment service details (#6)

For the purpose of:
* identification and mapping in provider adapters,
* presentation in payer-facing UIs.

* Introduce payment service category
This commit is contained in:
Andrew Mayorov 2022-01-17 10:42:16 +03:00 committed by GitHub
parent 5addc419f2
commit 3fa6f31db5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 32 additions and 0 deletions

View File

@ -1956,9 +1956,40 @@ struct PaymentServiceRef {
1: required string id
}
typedef string PaymentServiceCategory
struct PaymentService {
1: required string name
2: optional string description
/**
* Категория платёжного сервиса.
* Открытое множество, конкретные значения согласовываются:
* - на уровне констант в протоколе,
* - вне протокола, на уровне конкретных интеграций.
*/
3: optional PaymentServiceCategory category
/**
* Локальное, известное пользователям название платёжного сервиса:
* платёжной системы, банка, провайдера кошельков, и т.д.
* Например: "VISA"
*/
4: optional string brand_name
/**
* Метаданные, разделённые по пространствам имён.
* Введены для аннотирования платёжных сервисов произвольными данными,
* необходимыми в частности для логики презентации.
* Например:
* {"dev.vality.checkout": {
* "brandLogo": {"banner": "/assets/brands/blarg.svg"},
* "localization": {
* "name": {"ja_JP": "ヱヴァンゲリヲン"}
* }
* }}
*/
5: optional map<string, json.Value> metadata
}
typedef string DigitalWalletID

View File

@ -201,6 +201,7 @@ struct InvoicePayment {
2: required base.Timestamp created_at
3: optional domain.TransactionInfo trx
6: required PaymentResource payment_resource
11: optional domain.PaymentService payment_service
10: optional domain.PayerSessionInfo payer_session_info
5: required Cash cost
7: required domain.ContactInfo contact_info