mirror of
https://github.com/aljazceru/cdk.git
synced 2025-12-19 13:44:55 +01:00
186 lines
4.0 KiB
Protocol Buffer
186 lines
4.0 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package cdk_payment_processor;
|
|
|
|
service CdkPaymentProcessor {
|
|
rpc GetSettings(EmptyRequest) returns (SettingsResponse) {}
|
|
rpc CreatePayment(CreatePaymentRequest) returns (CreatePaymentResponse) {}
|
|
rpc GetPaymentQuote(PaymentQuoteRequest) returns (PaymentQuoteResponse) {}
|
|
rpc MakePayment(MakePaymentRequest) returns (MakePaymentResponse) {}
|
|
rpc CheckIncomingPayment(CheckIncomingPaymentRequest) returns (CheckIncomingPaymentResponse) {}
|
|
rpc CheckOutgoingPayment(CheckOutgoingPaymentRequest) returns (MakePaymentResponse) {}
|
|
rpc WaitIncomingPayment(EmptyRequest) returns (stream WaitIncomingPaymentResponse) {}
|
|
}
|
|
|
|
message EmptyRequest {}
|
|
|
|
message SettingsResponse {
|
|
string inner = 1;
|
|
}
|
|
|
|
message Bolt11IncomingPaymentOptions {
|
|
optional string description = 1;
|
|
uint64 amount = 2;
|
|
optional uint64 unix_expiry = 3;
|
|
}
|
|
|
|
message Bolt12IncomingPaymentOptions {
|
|
optional string description = 1;
|
|
optional uint64 amount = 2;
|
|
optional uint64 unix_expiry = 3;
|
|
}
|
|
|
|
enum PaymentMethodType {
|
|
BOLT11 = 0;
|
|
BOLT12 = 1;
|
|
}
|
|
|
|
enum OutgoingPaymentRequestType {
|
|
BOLT11_INVOICE = 0;
|
|
BOLT12_OFFER = 1;
|
|
}
|
|
|
|
enum PaymentIdentifierType {
|
|
PAYMENT_HASH = 0;
|
|
OFFER_ID = 1;
|
|
LABEL = 2;
|
|
BOLT12_PAYMENT_HASH = 3;
|
|
CUSTOM_ID = 4;
|
|
}
|
|
|
|
message PaymentIdentifier {
|
|
PaymentIdentifierType type = 1;
|
|
oneof value {
|
|
string hash = 2; // Used for PAYMENT_HASH and BOLT12_PAYMENT_HASH
|
|
string id = 3; // Used for OFFER_ID, LABEL, and CUSTOM_ID
|
|
}
|
|
}
|
|
|
|
message IncomingPaymentOptions {
|
|
oneof options {
|
|
Bolt11IncomingPaymentOptions bolt11 = 1;
|
|
Bolt12IncomingPaymentOptions bolt12 = 2;
|
|
}
|
|
}
|
|
|
|
message CreatePaymentRequest {
|
|
string unit = 1;
|
|
IncomingPaymentOptions options = 2;
|
|
}
|
|
|
|
message CreatePaymentResponse {
|
|
PaymentIdentifier request_identifier = 1;
|
|
string request = 2;
|
|
optional uint64 expiry = 3;
|
|
}
|
|
|
|
message Mpp {
|
|
uint64 amount = 1;
|
|
}
|
|
|
|
message Amountless {
|
|
uint64 amount_msat = 1;
|
|
}
|
|
|
|
message MeltOptions {
|
|
oneof options {
|
|
Mpp mpp = 1;
|
|
Amountless amountless = 2;
|
|
}
|
|
}
|
|
|
|
message PaymentQuoteRequest {
|
|
string request = 1;
|
|
string unit = 2;
|
|
optional MeltOptions options = 3;
|
|
OutgoingPaymentRequestType request_type = 4;
|
|
}
|
|
|
|
enum QuoteState {
|
|
UNPAID = 0;
|
|
PAID = 1;
|
|
PENDING = 2;
|
|
UNKNOWN = 3;
|
|
FAILED = 4;
|
|
ISSUED = 5;
|
|
}
|
|
|
|
message Bolt12Options {
|
|
optional string invoice = 1;
|
|
}
|
|
|
|
message PaymentQuoteOptions {
|
|
oneof melt_options {
|
|
Bolt12Options bolt12 = 1;
|
|
}
|
|
}
|
|
|
|
message PaymentQuoteResponse {
|
|
PaymentIdentifier request_identifier = 1;
|
|
uint64 amount = 2;
|
|
uint64 fee = 3;
|
|
QuoteState state = 4;
|
|
optional PaymentQuoteOptions melt_options = 5;
|
|
string unit = 6;
|
|
}
|
|
|
|
message Bolt11OutgoingPaymentOptions {
|
|
string bolt11 = 1;
|
|
optional uint64 max_fee_amount = 2;
|
|
optional uint64 timeout_secs = 3;
|
|
optional MeltOptions melt_options = 4;
|
|
}
|
|
|
|
message Bolt12OutgoingPaymentOptions {
|
|
string offer = 1;
|
|
optional uint64 max_fee_amount = 2;
|
|
optional uint64 timeout_secs = 3;
|
|
optional bytes invoice = 4;
|
|
optional MeltOptions melt_options = 5;
|
|
}
|
|
|
|
enum OutgoingPaymentOptionsType {
|
|
OUTGOING_BOLT11 = 0;
|
|
OUTGOING_BOLT12 = 1;
|
|
}
|
|
|
|
message OutgoingPaymentVariant {
|
|
oneof options {
|
|
Bolt11OutgoingPaymentOptions bolt11 = 1;
|
|
Bolt12OutgoingPaymentOptions bolt12 = 2;
|
|
}
|
|
}
|
|
|
|
message MakePaymentRequest {
|
|
OutgoingPaymentVariant payment_options = 1;
|
|
optional uint64 partial_amount = 2;
|
|
optional uint64 max_fee_amount = 3;
|
|
}
|
|
|
|
message MakePaymentResponse {
|
|
PaymentIdentifier payment_identifier = 1;
|
|
optional string payment_proof = 2;
|
|
QuoteState status = 3;
|
|
uint64 total_spent = 4;
|
|
string unit = 5;
|
|
}
|
|
|
|
message CheckIncomingPaymentRequest {
|
|
PaymentIdentifier request_identifier = 1;
|
|
}
|
|
|
|
message CheckIncomingPaymentResponse {
|
|
repeated WaitIncomingPaymentResponse payments = 1;
|
|
}
|
|
|
|
message CheckOutgoingPaymentRequest {
|
|
PaymentIdentifier request_identifier = 1;
|
|
}
|
|
|
|
message WaitIncomingPaymentResponse {
|
|
PaymentIdentifier payment_identifier = 1;
|
|
uint64 payment_amount = 2;
|
|
string unit = 3;
|
|
string payment_id = 4;
|
|
}
|