Files
CMS/src/CMSMicroservice.Protobuf/Protos/manualpayment.proto
masoodafar-web 094846ce8b
All checks were successful
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 7m8s
feat: add manual membership payment processing with wallet and order management
2025-12-12 10:07:14 +03:30

155 lines
4.0 KiB
Protocol Buffer

syntax = "proto3";
package manualpayment;
import "public_messages.proto";
import "google/protobuf/empty.proto";
import "google/protobuf/wrappers.proto";
import "google/protobuf/timestamp.proto";
import "google/api/annotations.proto";
option csharp_namespace = "CMSMicroservice.Protobuf.Protos.ManualPayment";
service ManualPaymentContract
{
rpc CreateManualPayment(CreateManualPaymentRequest) returns (CreateManualPaymentResponse){
option (google.api.http) = {
post: "/CreateManualPayment"
body: "*"
};
};
rpc ApproveManualPayment(ApproveManualPaymentRequest) returns (google.protobuf.Empty){
option (google.api.http) = {
post: "/ApproveManualPayment"
body: "*"
};
};
rpc RejectManualPayment(RejectManualPaymentRequest) returns (google.protobuf.Empty){
option (google.api.http) = {
post: "/RejectManualPayment"
body: "*"
};
};
rpc GetAllManualPayments(GetAllManualPaymentsRequest) returns (GetAllManualPaymentsResponse){
option (google.api.http) = {
get: "/GetAllManualPayments"
};
};
rpc ProcessManualMembershipPayment(ProcessManualMembershipPaymentRequest) returns (ProcessManualMembershipPaymentResponse){
option (google.api.http) = {
post: "/ProcessManualMembershipPayment"
body: "*"
};
};
}
// Enums mirroring CMSMicroservice.Domain.Enums.ManualPaymentType
enum ManualPaymentType
{
ManualPaymentType_Unknown = 0;
ManualPaymentType_CashDeposit = 1;
ManualPaymentType_DiscountWalletCharge = 2;
ManualPaymentType_NetworkWalletCharge = 3;
ManualPaymentType_Settlement = 4;
ManualPaymentType_ErrorCorrection = 5;
ManualPaymentType_Refund = 6;
ManualPaymentType_Other = 99;
}
// Enums mirroring CMSMicroservice.Domain.Enums.ManualPaymentStatus
enum ManualPaymentStatus
{
ManualPaymentStatus_Pending = 0;
ManualPaymentStatus_Approved = 1;
ManualPaymentStatus_Rejected = 2;
ManualPaymentStatus_Cancelled = 3;
}
message CreateManualPaymentRequest
{
int64 user_id = 1;
int64 amount = 2;
ManualPaymentType type = 3;
string description = 4;
google.protobuf.StringValue reference_number = 5;
}
message CreateManualPaymentResponse
{
int64 id = 1;
}
message ApproveManualPaymentRequest
{
int64 manual_payment_id = 1;
google.protobuf.StringValue approval_note = 2;
}
message RejectManualPaymentRequest
{
int64 manual_payment_id = 1;
string rejection_reason = 2;
}
message GetAllManualPaymentsRequest
{
int32 page_number = 1;
int32 page_size = 2;
google.protobuf.Int64Value user_id = 3;
google.protobuf.Int32Value status = 4;
google.protobuf.Int32Value type = 5;
google.protobuf.Int64Value requested_by = 6;
google.protobuf.BoolValue order_by_descending = 7;
}
message GetAllManualPaymentsResponse
{
messages.MetaData meta_data = 1;
repeated ManualPaymentModel models = 2;
}
message ManualPaymentModel
{
int64 id = 1;
int64 user_id = 2;
string user_full_name = 3;
string user_mobile = 4;
int64 amount = 5;
ManualPaymentType type = 6;
string type_display = 7;
string description = 8;
google.protobuf.StringValue reference_number = 9;
ManualPaymentStatus status = 10;
string status_display = 11;
int64 requested_by = 12;
string requested_by_name = 13;
google.protobuf.Int64Value approved_by = 14;
google.protobuf.StringValue approved_by_name = 15;
google.protobuf.Timestamp approved_at = 16;
google.protobuf.StringValue rejection_reason = 17;
google.protobuf.Int64Value transaction_id = 18;
google.protobuf.Timestamp created = 19;
}
message ProcessManualMembershipPaymentRequest
{
int64 user_id = 1;
int64 amount = 2;
string reference_number = 3;
google.protobuf.StringValue description = 4;
int64 admin_user_id = 5;
}
message ProcessManualMembershipPaymentResponse
{
int64 transaction_id = 1;
int64 order_id = 2;
int64 new_wallet_balance = 3;
string message = 4;
}