mirror of
https://github.com/valitydev/damsel.git
synced 2024-11-06 09:45:21 +00:00
parent
b1da1ba687
commit
ee5c9c4b56
@ -1,43 +0,0 @@
|
||||
include "base.thrift"
|
||||
include "domain.thrift"
|
||||
|
||||
namespace java com.rbkmoney.damsel.pay2card
|
||||
namespace erlang pay2card
|
||||
|
||||
|
||||
struct Cash {
|
||||
1: required domain.Amount amount
|
||||
2: required domain.Currency currency
|
||||
}
|
||||
|
||||
enum Provider {
|
||||
alfabank
|
||||
binbank
|
||||
}
|
||||
|
||||
exception ProviderFailure {
|
||||
1: required Provider provider
|
||||
2: required string code
|
||||
3: optional string description
|
||||
}
|
||||
|
||||
/** requestId - должен состоять только из цифр */
|
||||
/** actor_id - идентификатор инициатора перевода, например MerchantId.ShopId */
|
||||
struct TransferRequest {
|
||||
1: required string request_id
|
||||
2: required string actor_id
|
||||
3: required domain.Token card_token
|
||||
4: required Cash cash
|
||||
}
|
||||
|
||||
struct TransferResult {
|
||||
1: required Provider provider
|
||||
2: required string transaction_id
|
||||
3: required string maskCard
|
||||
4: optional Cash fee
|
||||
}
|
||||
|
||||
service Pay2Card {
|
||||
Cash getFee (1: domain.Token card_token, 2: Cash cash) throws (1: ProviderFailure ex1)
|
||||
TransferResult makeTransfer (1: TransferRequest request) throws (1: ProviderFailure ex1, 2: base.InvalidRequest ex2)
|
||||
}
|
@ -262,18 +262,28 @@ exception LimitExceeded {}
|
||||
/**
|
||||
* Диапазон времени
|
||||
* from_time - начальное время.
|
||||
* to_time - конечное время. Если не задано - запрашиваются все данные от from_time.
|
||||
* to_time - конечное время.
|
||||
* Если from > to - диапазон считается некорректным.
|
||||
*/
|
||||
struct TimeRange {
|
||||
1: required base.Timestamp from_time
|
||||
2: optional base.Timestamp to_time
|
||||
2: required base.Timestamp to_time
|
||||
}
|
||||
|
||||
struct ShopParams {
|
||||
1: required domain.PartyID party_id
|
||||
2: required domain.ShopID shop_id
|
||||
}
|
||||
|
||||
/**
|
||||
* Параметры для генерации выплаты
|
||||
* time_range - диапазон времени, за который будет сформированы выплаты
|
||||
* shop - параметры магазина. Если не указан, то генерируются выплаты за все магазины,
|
||||
* имеющие платежи/возвраты/корректировки за указанный time_range
|
||||
**/
|
||||
struct GeneratePayoutParams {
|
||||
1: required TimeRange time_range
|
||||
2: required domain.PartyID party_id
|
||||
3: required domain.ShopID shop_id
|
||||
2: optional ShopParams shop
|
||||
}
|
||||
|
||||
/**
|
||||
@ -293,6 +303,29 @@ enum PayoutSearchStatus {
|
||||
confirmed
|
||||
}
|
||||
|
||||
/**
|
||||
* Поисковый запрос по выплатам
|
||||
* search_criteria - атрибуты поиска выплат
|
||||
* from_id (exclusive) - начальный идентификатор, после которого будет формироваться выборка
|
||||
* size - размер выборки. Не может быть отрицательным и больше 1000, в случае если не указан,
|
||||
* то значение будет равно 1000.
|
||||
**/
|
||||
struct PayoutSearchRequest {
|
||||
1: required PayoutSearchCriteria search_criteria
|
||||
2: optional i64 from_id
|
||||
3: optional i32 size
|
||||
}
|
||||
|
||||
/**
|
||||
* Поисковый ответ по выплатам
|
||||
* payouts - информация по выплатам
|
||||
* last_id (inclusive) - уникальный идентификатор, соответствующий последнему элементу выборки
|
||||
**/
|
||||
struct PayoutSearchResponse {
|
||||
1: required list<PayoutInfo> payouts
|
||||
2: required i64 last_id
|
||||
}
|
||||
|
||||
/**
|
||||
* Info по выплате для отображения в админке
|
||||
**/
|
||||
@ -313,20 +346,20 @@ service PayoutManagement {
|
||||
/**
|
||||
* Сгенерировать и отправить по почте выводы за указанный промежуток времени
|
||||
*/
|
||||
PayoutID GeneratePayout (1: GeneratePayoutParams params) throws (1: base.InvalidRequest ex1)
|
||||
list<PayoutID> GeneratePayouts (1: GeneratePayoutParams params) throws (1: base.InvalidRequest ex1)
|
||||
|
||||
/**
|
||||
* Подтвердить выплаты. Вернуть список подтвержденных выплат
|
||||
*/
|
||||
list<PayoutID> ConfirmPayouts (1: list<PayoutID> payout_ids) throws (1: base.InvalidRequest ex1)
|
||||
set<PayoutID> ConfirmPayouts (1: set<PayoutID> payout_ids) throws (1: base.InvalidRequest ex1)
|
||||
|
||||
/**
|
||||
* Отменить движения по выплатам. Вернуть список отмененных выплат
|
||||
*/
|
||||
list<PayoutID> CancelPayouts (1: list<PayoutID> payout_ids) throws (1: base.InvalidRequest ex1)
|
||||
set<PayoutID> CancelPayouts (1: set<PayoutID> payout_ids, 2: string details) throws (1: base.InvalidRequest ex1)
|
||||
|
||||
/**
|
||||
* Возвращает список Payout-ов согласно запросу поиска
|
||||
**/
|
||||
list<PayoutInfo> GetPayoutsInfo (1: PayoutSearchCriteria search_criteria) throws (1: base.InvalidRequest ex1)
|
||||
PayoutSearchResponse GetPayoutsInfo (1: PayoutSearchRequest request) throws (1: base.InvalidRequest ex1)
|
||||
}
|
||||
|
@ -1,102 +0,0 @@
|
||||
include "base.thrift"
|
||||
include "domain.thrift"
|
||||
|
||||
namespace java com.rbkmoney.damsel.shitter
|
||||
namespace erlang shitter
|
||||
|
||||
typedef i64 PayoutID
|
||||
|
||||
/**
|
||||
* Диапазон времени
|
||||
* from_time - начальное время.
|
||||
* to_time - конечное время. Если не задано - запрашиваются все данные от from_time.
|
||||
* Если from > to - диапазон считается некорректным.
|
||||
*/
|
||||
struct TimeRange {
|
||||
1: required base.Timestamp from_time
|
||||
2: optional base.Timestamp to_time
|
||||
}
|
||||
|
||||
/**
|
||||
* Статус выплаты
|
||||
* created - выплата создана, но сумма платежей еще не вычисленна и остальные атрибуты не заполненны
|
||||
* ready - выплата готова и заполненна данными
|
||||
* accepted - корректность выплаты подтверждена АБС и 1С.
|
||||
**/
|
||||
enum PayoutStatus {
|
||||
created,
|
||||
ready,
|
||||
accepted,
|
||||
canceled
|
||||
}
|
||||
|
||||
/**
|
||||
* Описание выплаты
|
||||
**/
|
||||
struct Payout {
|
||||
1: required PayoutID id
|
||||
2: required PayoutStatus status
|
||||
3: required string from_time
|
||||
4: required string to_time
|
||||
6: required string ones_status
|
||||
8: optional string ones_report
|
||||
9: optional string created_at
|
||||
}
|
||||
/**
|
||||
* Информация о платаже сохраняемая в Shiter-e
|
||||
**/
|
||||
struct PayoutPaymentInfo {
|
||||
1: required string id
|
||||
2: required string invoice_id
|
||||
3: required string payment_id
|
||||
4: required string party_id
|
||||
5: required string shop_id
|
||||
6: required string amount
|
||||
7: required string provider_comission
|
||||
8: required string rbk_comission
|
||||
9: optional string payout_id
|
||||
10: optional string created_at
|
||||
}
|
||||
|
||||
/**
|
||||
* Атрибуты поиска выплат
|
||||
**/
|
||||
struct PayoutSearchCriteria{
|
||||
1: optional PayoutStatus status
|
||||
2: optional TimeRange timeRange
|
||||
3: optional list<PayoutID> payoutIDs
|
||||
}
|
||||
|
||||
/**
|
||||
* Сервис для вывода платажей из системы
|
||||
**/
|
||||
service Shitter {
|
||||
/**
|
||||
* Сгенерировать и отправить по почте выгрузку за указанный промежуток времени
|
||||
* возвращает идентификатор сгенерированной выплаты.
|
||||
* ?? payoutMEthoID? ?
|
||||
**/
|
||||
PayoutID GeneratePayout (1: TimeRange timeRange) throws (1: base.InvalidRequest ex1)
|
||||
/**
|
||||
* Перегенерирует отчет о выплате только по бизнес атрибутам и отправляет письмо с отчетом.
|
||||
* Суммы остаются не изменными
|
||||
**/
|
||||
PayoutID RegenerateReport(1: PayoutID payoutID)
|
||||
/**
|
||||
* Подтвердить загрузку выплаты в OneS
|
||||
**/
|
||||
bool AcceptOneSPayout(1: PayoutID payoutID)
|
||||
/*
|
||||
* Исключает включенные в выплату платежи, делает ролбэк в аккаунтере, и помечает выплату как CANCELED.
|
||||
* */
|
||||
void cancelPayout(1: PayoutID payoutID)
|
||||
/**
|
||||
* Возвращает список Payout-ов согласно запросу поиска.
|
||||
* Payout подтвержденный и АБС и 1С переводется в статус выплачен
|
||||
**/
|
||||
list<Payout> GetPayouts(1: PayoutSearchCriteria searchCriteria)
|
||||
/**
|
||||
* Получить список платежей попавших в Payout
|
||||
**/
|
||||
list<PayoutPaymentInfo> GetPayments(1: PayoutID payoutID)
|
||||
}
|
Loading…
Reference in New Issue
Block a user