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

48 lines
1.6 KiB
Protocol Buffer

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);
}