Files
sendico/api/proto/payments/orchestration/v1/orchestration.proto

121 lines
3.5 KiB
Protocol Buffer

syntax = "proto3";
package payments.orchestration.v1;
option go_package = "github.com/tech/sendico/pkg/proto/payments/orchestration/v1;orchestrationv1";
import "common/pagination/v1/cursor.proto";
import "billing/fees/v1/fees.proto";
import "gateway/chain/v1/chain.proto";
import "gateway/mntx/v1/mntx.proto";
import "payments/shared/v1/shared.proto";
message InitiatePaymentsRequest {
payments.shared.v1.RequestMeta meta = 1;
string idempotency_key = 2;
string quote_ref = 3;
map<string, string> metadata = 4;
}
message InitiatePaymentsResponse {
repeated payments.shared.v1.Payment payments = 1;
}
message InitiatePaymentRequest {
payments.shared.v1.RequestMeta meta = 1;
string idempotency_key = 2;
payments.shared.v1.PaymentIntent intent = 3;
map<string, string> metadata = 4;
string quote_ref = 5;
}
message InitiatePaymentResponse {
payments.shared.v1.Payment payment = 1;
}
message GetPaymentRequest {
payments.shared.v1.RequestMeta meta = 1;
string payment_ref = 2;
}
message GetPaymentResponse {
payments.shared.v1.Payment payment = 1;
}
message ListPaymentsRequest {
payments.shared.v1.RequestMeta meta = 1;
repeated payments.shared.v1.PaymentState filter_states = 2;
string source_ref = 3;
string destination_ref = 4;
common.pagination.v1.CursorPageRequest page = 5;
string organization_ref = 6;
}
message ListPaymentsResponse {
repeated payments.shared.v1.Payment payments = 1;
common.pagination.v1.CursorPageResponse page = 2;
}
message CancelPaymentRequest {
payments.shared.v1.RequestMeta meta = 1;
string payment_ref = 2;
string reason = 3;
}
message CancelPaymentResponse {
payments.shared.v1.Payment payment = 1;
}
message ProcessTransferUpdateRequest {
payments.shared.v1.RequestMeta meta = 1;
chain.gateway.v1.TransferStatusChangedEvent event = 2;
}
message ProcessTransferUpdateResponse {
payments.shared.v1.Payment payment = 1;
}
message ProcessDepositObservedRequest {
payments.shared.v1.RequestMeta meta = 1;
chain.gateway.v1.WalletDepositObservedEvent event = 2;
}
message ProcessDepositObservedResponse {
payments.shared.v1.Payment payment = 1;
}
message ProcessCardPayoutUpdateRequest {
payments.shared.v1.RequestMeta meta = 1;
mntx.gateway.v1.CardPayoutStatusChangedEvent event = 2;
}
message ProcessCardPayoutUpdateResponse {
payments.shared.v1.Payment payment = 1;
}
message InitiateConversionRequest {
payments.shared.v1.RequestMeta meta = 1;
string idempotency_key = 2;
payments.shared.v1.PaymentEndpoint source = 3;
payments.shared.v1.PaymentEndpoint destination = 4;
payments.shared.v1.FXIntent fx = 5;
fees.v1.PolicyOverrides fee_policy = 6;
map<string, string> metadata = 7;
}
message InitiateConversionResponse {
payments.shared.v1.Payment conversion = 1;
}
service PaymentExecutionService {
rpc InitiatePayments(InitiatePaymentsRequest) returns (InitiatePaymentsResponse);
rpc InitiatePayment(InitiatePaymentRequest) returns (InitiatePaymentResponse);
rpc CancelPayment(CancelPaymentRequest) returns (CancelPaymentResponse);
rpc GetPayment(GetPaymentRequest) returns (GetPaymentResponse);
rpc ListPayments(ListPaymentsRequest) returns (ListPaymentsResponse);
rpc InitiateConversion(InitiateConversionRequest) returns (InitiateConversionResponse);
rpc ProcessTransferUpdate(ProcessTransferUpdateRequest) returns (ProcessTransferUpdateResponse);
rpc ProcessDepositObserved(ProcessDepositObservedRequest) returns (ProcessDepositObservedResponse);
rpc ProcessCardPayoutUpdate(ProcessCardPayoutUpdateRequest) returns (ProcessCardPayoutUpdateResponse);
}