syntax = "proto3"; package payments.orchestration.v1; option go_package = "github.com/tech/sendico/pkg/proto/payments/orchestration/v1;orchestrationv1"; import "api/proto/common/pagination/v1/cursor.proto"; import "api/proto/billing/fees/v1/fees.proto"; import "api/proto/gateway/chain/v1/chain.proto"; import "api/proto/gateway/mntx/v1/mntx.proto"; import "api/proto/payments/shared/v1/shared.proto"; message InitiatePaymentsRequest { payments.shared.v1.RequestMeta meta = 1; string idempotency_key = 2; string quote_ref = 3; map 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 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 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); }