48 lines
1.6 KiB
Protocol Buffer
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);
|
|
}
|