diff --git a/DysonNetwork.Pass/Wallet/Payment.cs b/DysonNetwork.Pass/Wallet/Payment.cs index 33f0e46..2b915f8 100644 --- a/DysonNetwork.Pass/Wallet/Payment.cs +++ b/DysonNetwork.Pass/Wallet/Payment.cs @@ -73,7 +73,7 @@ public class Order : ModelBase Amount = decimal.Parse(proto.Amount), ExpiredAt = proto.ExpiredAt.ToInstant(), PayeeWalletId = proto.HasPayeeWalletId ? Guid.Parse(proto.PayeeWalletId) : null, - TransactionId = proto.HasTransactionId ? Guid.Parse(proto.TransactionId) : null, + TransactionId = proto.TransactionId is not null ? Guid.Parse(proto.TransactionId) : null, Transaction = proto.Transaction is not null ? Transaction.FromProtoValue(proto.Transaction) : null, }; } diff --git a/DysonNetwork.Shared/Proto/wallet.proto b/DysonNetwork.Shared/Proto/wallet.proto index 4069e03..3a87c0e 100644 --- a/DysonNetwork.Shared/Proto/wallet.proto +++ b/DysonNetwork.Shared/Proto/wallet.proto @@ -9,208 +9,208 @@ import "google/protobuf/wrappers.proto"; import "google/protobuf/duration.proto"; message Wallet { - string id = 1; - repeated WalletPocket pockets = 2; - string account_id = 3; + string id = 1; + repeated WalletPocket pockets = 2; + string account_id = 3; } message WalletPocket { - string id = 1; - string currency = 2; - // Using string for decimal to avoid precision loss. - string amount = 3; - string wallet_id = 4; + string id = 1; + string currency = 2; + // Using string for decimal to avoid precision loss. + string amount = 3; + string wallet_id = 4; } enum SubscriptionStatus { - // Using proto3 enum naming convention - SUBSCRIPTION_STATUS_UNSPECIFIED = 0; - SUBSCRIPTION_STATUS_UNPAID = 1; - SUBSCRIPTION_STATUS_ACTIVE = 2; - SUBSCRIPTION_STATUS_EXPIRED = 3; - SUBSCRIPTION_STATUS_CANCELLED = 4; + // Using proto3 enum naming convention + SUBSCRIPTION_STATUS_UNSPECIFIED = 0; + SUBSCRIPTION_STATUS_UNPAID = 1; + SUBSCRIPTION_STATUS_ACTIVE = 2; + SUBSCRIPTION_STATUS_EXPIRED = 3; + SUBSCRIPTION_STATUS_CANCELLED = 4; } message Subscription { - string id = 1; - google.protobuf.Timestamp begun_at = 2; - optional google.protobuf.Timestamp ended_at = 3; - string identifier = 4; - bool is_active = 5; - bool is_free_trial = 6; - SubscriptionStatus status = 7; - string payment_method = 8; - PaymentDetails payment_details = 9; - // Using string for decimal to avoid precision loss. - string base_price = 10; - optional string coupon_id = 11; - optional Coupon coupon = 12; - optional google.protobuf.Timestamp renewal_at = 13; - string account_id = 14; - bool is_available = 15; - // Using string for decimal to avoid precision loss. - string final_price = 16; + string id = 1; + google.protobuf.Timestamp begun_at = 2; + optional google.protobuf.Timestamp ended_at = 3; + string identifier = 4; + bool is_active = 5; + bool is_free_trial = 6; + SubscriptionStatus status = 7; + string payment_method = 8; + PaymentDetails payment_details = 9; + // Using string for decimal to avoid precision loss. + string base_price = 10; + optional string coupon_id = 11; + optional Coupon coupon = 12; + optional google.protobuf.Timestamp renewal_at = 13; + string account_id = 14; + bool is_available = 15; + // Using string for decimal to avoid precision loss. + string final_price = 16; } message SubscriptionReferenceObject { - string id = 1; - string identifier = 2; - google.protobuf.Timestamp begun_at = 3; - optional google.protobuf.Timestamp ended_at = 4; - bool is_active = 5; - bool is_available = 6; - bool is_free_trial = 7; - SubscriptionStatus status = 8; - // Using string for decimal to avoid precision loss. - string base_price = 9; - // Using string for decimal to avoid precision loss. - string final_price = 10; - optional google.protobuf.Timestamp renewal_at = 11; - string account_id = 12; - optional string display_name = 13; + string id = 1; + string identifier = 2; + google.protobuf.Timestamp begun_at = 3; + optional google.protobuf.Timestamp ended_at = 4; + bool is_active = 5; + bool is_available = 6; + bool is_free_trial = 7; + SubscriptionStatus status = 8; + // Using string for decimal to avoid precision loss. + string base_price = 9; + // Using string for decimal to avoid precision loss. + string final_price = 10; + optional google.protobuf.Timestamp renewal_at = 11; + string account_id = 12; + optional string display_name = 13; } message PaymentDetails { - string currency = 1; - optional string order_id = 2; + string currency = 1; + optional string order_id = 2; } message Coupon { - string id = 1; - optional string identifier = 2; - optional string code = 3; - optional google.protobuf.Timestamp affected_at = 4; - optional google.protobuf.Timestamp expired_at = 5; - // Using string for decimal to avoid precision loss. - optional string discount_amount = 6; - optional google.protobuf.DoubleValue discount_rate = 7; - optional google.protobuf.Int32Value max_usage = 8; + string id = 1; + optional string identifier = 2; + optional string code = 3; + optional google.protobuf.Timestamp affected_at = 4; + optional google.protobuf.Timestamp expired_at = 5; + // Using string for decimal to avoid precision loss. + optional string discount_amount = 6; + optional google.protobuf.DoubleValue discount_rate = 7; + optional google.protobuf.Int32Value max_usage = 8; } service WalletService { - rpc GetWallet(GetWalletRequest) returns (Wallet); - rpc CreateWallet(CreateWalletRequest) returns (Wallet); - rpc GetOrCreateWalletPocket(GetOrCreateWalletPocketRequest) returns (WalletPocket); + rpc GetWallet(GetWalletRequest) returns (Wallet); + rpc CreateWallet(CreateWalletRequest) returns (Wallet); + rpc GetOrCreateWalletPocket(GetOrCreateWalletPocketRequest) returns (WalletPocket); } message GetWalletRequest { - string account_id = 1; + string account_id = 1; } message CreateWalletRequest { - string account_id = 1; + string account_id = 1; } message GetOrCreateWalletPocketRequest { - string wallet_id = 1; - string currency = 2; - optional string initial_amount = 3; + string wallet_id = 1; + string currency = 2; + optional string initial_amount = 3; } service PaymentService { - rpc CreateOrder(CreateOrderRequest) returns (Order); - rpc CreateTransactionWithAccount(CreateTransactionWithAccountRequest) returns (Transaction); - rpc CreateTransaction(CreateTransactionRequest) returns (Transaction); - rpc PayOrder(PayOrderRequest) returns (Order); - rpc CancelOrder(CancelOrderRequest) returns (Order); - rpc RefundOrder(RefundOrderRequest) returns (RefundOrderResponse); - rpc Transfer(TransferRequest) returns (Transaction); + rpc CreateOrder(CreateOrderRequest) returns (Order); + rpc CreateTransactionWithAccount(CreateTransactionWithAccountRequest) returns (Transaction); + rpc CreateTransaction(CreateTransactionRequest) returns (Transaction); + rpc PayOrder(PayOrderRequest) returns (Order); + rpc CancelOrder(CancelOrderRequest) returns (Order); + rpc RefundOrder(RefundOrderRequest) returns (RefundOrderResponse); + rpc Transfer(TransferRequest) returns (Transaction); } message CreateOrderRequest { - optional string payee_wallet_id = 1; - string currency = 2; - string amount = 3; - optional google.protobuf.Duration expiration = 4; - optional string app_identifier = 5; - optional string product_identifier = 8; - // Using bytes for meta to represent JSON. - optional bytes meta = 6; - optional string remarks = 9; - bool reuseable = 7; + optional string payee_wallet_id = 1; + string currency = 2; + string amount = 3; + optional google.protobuf.Duration expiration = 4; + optional string app_identifier = 5; + optional string product_identifier = 8; + // Using bytes for meta to represent JSON. + optional bytes meta = 6; + optional string remarks = 9; + bool reuseable = 7; } message Order { - string id = 1; - optional string payee_wallet_id = 2; - string currency = 3; - string amount = 4; - google.protobuf.Timestamp expired_at = 5; - optional string app_identifier = 6; - optional string product_identifier = 12; - // Using bytes for meta to represent JSON. - optional bytes meta = 7; - OrderStatus status = 8; - optional string transaction_id = 9; - optional Transaction transaction = 10; - optional string remarks = 11; + string id = 1; + optional string payee_wallet_id = 2; + google.protobuf.StringValue currency = 3; + string amount = 4; + google.protobuf.Timestamp expired_at = 5; + google.protobuf.StringValue app_identifier = 6; + google.protobuf.StringValue product_identifier = 12; + // Using bytes for meta to represent JSON. + optional bytes meta = 7; + OrderStatus status = 8; + google.protobuf.StringValue transaction_id = 9; + optional Transaction transaction = 10; + google.protobuf.StringValue remarks = 11; } enum OrderStatus { - ORDER_STATUS_UNSPECIFIED = 0; - ORDER_STATUS_UNPAID = 1; - ORDER_STATUS_PAID = 2; - ORDER_STATUS_EXPIRED = 3; - ORDER_STATUS_CANCELLED = 4; - ORDER_STATUS_FINISHED = 5; + ORDER_STATUS_UNSPECIFIED = 0; + ORDER_STATUS_UNPAID = 1; + ORDER_STATUS_PAID = 2; + ORDER_STATUS_EXPIRED = 3; + ORDER_STATUS_CANCELLED = 4; + ORDER_STATUS_FINISHED = 5; } message Transaction { - string id = 1; - optional string payer_wallet_id = 2; - optional string payee_wallet_id = 3; - string currency = 4; - string amount = 5; - optional string remarks = 6; - TransactionType type = 7; + string id = 1; + optional string payer_wallet_id = 2; + optional string payee_wallet_id = 3; + string currency = 4; + string amount = 5; + optional string remarks = 6; + TransactionType type = 7; } enum TransactionType { - TRANSACTION_TYPE_UNSPECIFIED = 0; - TRANSACTION_TYPE_SYSTEM = 1; - TRANSACTION_TYPE_ORDER = 2; - TRANSACTION_TYPE_TRANSFER = 3; + TRANSACTION_TYPE_UNSPECIFIED = 0; + TRANSACTION_TYPE_SYSTEM = 1; + TRANSACTION_TYPE_ORDER = 2; + TRANSACTION_TYPE_TRANSFER = 3; } message CreateTransactionWithAccountRequest { - optional string payer_account_id = 1; - optional string payee_account_id = 2; - string currency = 3; - string amount = 4; - optional string remarks = 5; - TransactionType type = 6; + optional string payer_account_id = 1; + optional string payee_account_id = 2; + string currency = 3; + string amount = 4; + optional string remarks = 5; + TransactionType type = 6; } message CreateTransactionRequest { - optional string payer_wallet_id = 1; - optional string payee_wallet_id = 2; - string currency = 3; - string amount = 4; - optional string remarks = 5; - TransactionType type = 6; + optional string payer_wallet_id = 1; + optional string payee_wallet_id = 2; + string currency = 3; + string amount = 4; + optional string remarks = 5; + TransactionType type = 6; } message PayOrderRequest { - string order_id = 1; - string payer_wallet_id = 2; + string order_id = 1; + string payer_wallet_id = 2; } message CancelOrderRequest { - string order_id = 1; + string order_id = 1; } message RefundOrderRequest { - string order_id = 1; + string order_id = 1; } message RefundOrderResponse { - Order order = 1; - Transaction refund_transaction = 2; + Order order = 1; + Transaction refund_transaction = 2; } message TransferRequest { - string payer_account_id = 1; - string payee_account_id = 2; - string currency = 3; - string amount = 4; + string payer_account_id = 1; + string payee_account_id = 2; + string currency = 3; + string amount = 4; }