syntax = "proto3"; package payments.quotation.v1; option go_package = "github.com/tech/sendico/pkg/proto/payments/quotation/v1;quotationv1"; import "api/proto/payments/shared/v1/shared.proto"; // QuotePaymentRequest is the request to quote a single payment. message QuotePaymentRequest { payments.shared.v1.RequestMeta meta = 1; string idempotency_key = 2; payments.shared.v1.PaymentIntent intent = 3; bool preview_only = 4; } // QuotePaymentResponse is the response for QuotePayment. message QuotePaymentResponse { payments.shared.v1.PaymentQuote quote = 1; string idempotency_key = 2; // Non-empty when quote is valid for pricing but cannot be executed. string execution_note = 3; } // QuotePaymentsRequest is the request to quote multiple payments in a batch. message QuotePaymentsRequest { payments.shared.v1.RequestMeta meta = 1; string idempotency_key = 2; repeated payments.shared.v1.PaymentIntent intents = 3; bool preview_only = 4; } // QuotePaymentsResponse is the response for QuotePayments. message QuotePaymentsResponse { string quote_ref = 1; payments.shared.v1.PaymentQuoteAggregate aggregate = 2; repeated payments.shared.v1.PaymentQuote quotes = 3; string idempotency_key = 4; } // QuotationService provides payment quoting capabilities. service QuotationService { // QuotePayment returns a quote for a single payment request. rpc QuotePayment(QuotePaymentRequest) returns (QuotePaymentResponse); // QuotePayments returns quotes for multiple payment requests. rpc QuotePayments(QuotePaymentsRequest) returns (QuotePaymentsResponse); }