mirror of
https://github.com/valitydev/damsel.git
synced 2024-11-06 09:45:21 +00:00
parent
65aa80fc4e
commit
1006c962af
33
proto/preauth.thrift
Normal file
33
proto/preauth.thrift
Normal file
@ -0,0 +1,33 @@
|
||||
include "base.thrift"
|
||||
|
||||
namespace java com.rbkmoney.damsel.preauth
|
||||
namespace erlang preauth
|
||||
|
||||
union Status {
|
||||
1: Granted granted
|
||||
2: Denied denied
|
||||
3: Unavailable unavailable
|
||||
}
|
||||
|
||||
struct Granted {
|
||||
1: required State state
|
||||
}
|
||||
|
||||
struct Denied {
|
||||
1: required State state
|
||||
}
|
||||
|
||||
struct Unavailable {
|
||||
1: required State state
|
||||
}
|
||||
|
||||
union State {
|
||||
1: State3DSecure state_3dsecure
|
||||
}
|
||||
|
||||
struct State3DSecure {
|
||||
1: optional byte eci
|
||||
2: optional string cavv
|
||||
3: optional byte cavv_algo
|
||||
4: optional string xid
|
||||
}
|
@ -9,6 +9,13 @@ namespace java com.rbkmoney.damsel.proxy
|
||||
*/
|
||||
typedef base.Opaque ProxyState
|
||||
|
||||
|
||||
/**
|
||||
* Запрос/ответ прокси при обработке обратного вызова в рамках сессии.
|
||||
*/
|
||||
typedef base.Opaque Callback
|
||||
typedef base.Opaque CallbackResponse
|
||||
|
||||
/**
|
||||
* Требование прокси к процессингу, отражающее дальнейший прогресс сессии взаимодействия
|
||||
* с третьей стороной.
|
||||
|
116
proto/proxy_preauth.thrift
Normal file
116
proto/proxy_preauth.thrift
Normal file
@ -0,0 +1,116 @@
|
||||
include "base.thrift"
|
||||
include "proxy.thrift"
|
||||
include "domain.thrift"
|
||||
include "preauth.thrift"
|
||||
|
||||
namespace java com.rbkmoney.damsel.proxy_preauth
|
||||
namespace erlang proxy_preauth
|
||||
|
||||
struct Context {
|
||||
1: required Session session
|
||||
2: required PaymentInfo payment
|
||||
3: optional domain.ProxyOptions options = {}
|
||||
}
|
||||
|
||||
/**
|
||||
* Сессия взаимодействия с предавторизационным прокси
|
||||
*/
|
||||
struct Session {
|
||||
1: optional proxy.ProxyState state
|
||||
}
|
||||
|
||||
/**
|
||||
* Данные платежа, необходимые для предавторизации платежа.
|
||||
*/
|
||||
struct PaymentInfo {
|
||||
1: required Shop shop
|
||||
2: required Invoice invoice
|
||||
3: required InvoicePayment payment
|
||||
}
|
||||
|
||||
struct Shop {
|
||||
1: required domain.ShopID id
|
||||
2: required domain.Category category
|
||||
3: required domain.ShopDetails details
|
||||
}
|
||||
|
||||
struct Invoice {
|
||||
1: required domain.InvoiceID id
|
||||
2: required base.Timestamp created_at
|
||||
3: required string product
|
||||
4: optional string description
|
||||
5: required domain.Cash cost
|
||||
}
|
||||
|
||||
struct InvoicePayment {
|
||||
1: required domain.InvoicePaymentID id
|
||||
2: required base.Timestamp created_at
|
||||
3: required domain.Payer payer
|
||||
4: required domain.Cash cost
|
||||
}
|
||||
|
||||
/**
|
||||
* Связь с третьей стороной - авторизатором платежей
|
||||
*/
|
||||
struct Binding {
|
||||
1: required string id
|
||||
2: optional base.Timestamp timestamp
|
||||
3: required base.StringMap extra = []
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Требование прокси к процессингу, отражающее дальнейший прогресс сессии взаимодействия
|
||||
* с третьей стороной.
|
||||
*/
|
||||
union Intent {
|
||||
1: FinishIntent finish
|
||||
2: proxy.SleepIntent sleep
|
||||
3: proxy.SuspendIntent suspend
|
||||
}
|
||||
|
||||
/**
|
||||
* Требование завершить сессию взаимодействия с третьей стороной.
|
||||
*/
|
||||
struct FinishIntent {
|
||||
1: required FinishStatus status
|
||||
}
|
||||
|
||||
typedef base.Error ThirdPartyError
|
||||
|
||||
/**
|
||||
* Статус, c которым завершилась сессия взаимодействия с третьей стороной.
|
||||
*/
|
||||
union FinishStatus {
|
||||
/** Успешное завершение взаимодействия. */
|
||||
1: preauth.Status ok
|
||||
/** Неуспешное завершение взаимодействия с пояснением возникшей проблемы. */
|
||||
2: ThirdPartyError failure
|
||||
}
|
||||
|
||||
/**
|
||||
* Результат взаимодействия с прокси
|
||||
*/
|
||||
struct ProxyResult {
|
||||
1: required Intent intent
|
||||
2: optional proxy.ProxyState next_state
|
||||
3: optional Binding binding
|
||||
}
|
||||
|
||||
struct CallbackResult {
|
||||
1: required proxy.CallbackResponse response
|
||||
2: required ProxyResult result
|
||||
}
|
||||
|
||||
service PreauthProxy {
|
||||
ProxyResult AuthPayment (1: Context context)
|
||||
throws (1: base.TryLater ex1)
|
||||
|
||||
CallbackResult HandleAuthCallback (1: proxy.Callback callback, 2: Context context)
|
||||
throws (1: base.TryLater ex1)
|
||||
}
|
||||
|
||||
service PreauthProxyHost {
|
||||
proxy.CallbackResponse ProcessCallback (1: base.Tag tag, 2: proxy.Callback callback)
|
||||
throws (1: base.InvalidRequest ex1)
|
||||
}
|
@ -5,9 +5,6 @@ include "domain.thrift"
|
||||
namespace java com.rbkmoney.damsel.proxy_provider
|
||||
namespace erlang prxprv
|
||||
|
||||
typedef base.Opaque Callback
|
||||
typedef base.Opaque CallbackResponse
|
||||
|
||||
/**
|
||||
* Данные платежа, необходимые для обращения к провайдеру.
|
||||
*/
|
||||
@ -130,7 +127,7 @@ struct ProxyResult {
|
||||
* Результат обработки провайдерским прокси обратного вызова в рамках сессии.
|
||||
*/
|
||||
struct CallbackResult {
|
||||
1: required CallbackResponse response
|
||||
1: required proxy.CallbackResponse response
|
||||
2: required ProxyResult result
|
||||
}
|
||||
|
||||
@ -145,7 +142,7 @@ service ProviderProxy {
|
||||
/**
|
||||
* Запрос к прокси на обработку обратного вызова от провайдера в рамках сессии.
|
||||
*/
|
||||
CallbackResult HandlePaymentCallback (1: Callback callback, 2: Context context)
|
||||
CallbackResult HandlePaymentCallback (1: proxy.Callback callback, 2: Context context)
|
||||
throws (1: base.TryLater ex1)
|
||||
|
||||
}
|
||||
@ -154,6 +151,6 @@ service ProviderProxyHost {
|
||||
/**
|
||||
* Запрос к процессингу на обработку обратного вызова от провайдера.
|
||||
*/
|
||||
CallbackResponse ProcessCallback (1: base.Tag tag, 2: Callback callback)
|
||||
proxy.CallbackResponse ProcessCallback (1: base.Tag tag, 2: proxy.Callback callback)
|
||||
throws (1: base.InvalidRequest ex1)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user