diff --git a/api/payment/payment.pb.go b/api/payment/payment.pb.go new file mode 100644 index 0000000..85d7c3b --- /dev/null +++ b/api/payment/payment.pb.go @@ -0,0 +1,8719 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc v5.26.1 +// source: pb/payment.proto + +package payment + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type AntomPayQueryRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CheckoutSessionIds []string `protobuf:"bytes,1,rep,name=checkoutSessionIds,proto3" json:"checkoutSessionIds"` +} + +func (x *AntomPayQueryRequest) Reset() { + *x = AntomPayQueryRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AntomPayQueryRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AntomPayQueryRequest) ProtoMessage() {} + +func (x *AntomPayQueryRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AntomPayQueryRequest.ProtoReflect.Descriptor instead. +func (*AntomPayQueryRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{0} +} + +func (x *AntomPayQueryRequest) GetCheckoutSessionIds() []string { + if x != nil { + return x.CheckoutSessionIds + } + return nil +} + +type AntomPayQueryResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Infos []*PaymentOrderInfo `protobuf:"bytes,1,rep,name=infos,proto3" json:"infos"` +} + +func (x *AntomPayQueryResponse) Reset() { + *x = AntomPayQueryResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AntomPayQueryResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AntomPayQueryResponse) ProtoMessage() {} + +func (x *AntomPayQueryResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AntomPayQueryResponse.ProtoReflect.Descriptor instead. +func (*AntomPayQueryResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{1} +} + +func (x *AntomPayQueryResponse) GetInfos() []*PaymentOrderInfo { + if x != nil { + return x.Infos + } + return nil +} + +type AntomNotifyPayRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NotifyType string `protobuf:"bytes,1,opt,name=notifyType,proto3" json:"notifyType"` + RequestId string `protobuf:"bytes,2,opt,name=requestId,proto3" json:"requestId"` + PaymentId string `protobuf:"bytes,3,opt,name=paymentId,proto3" json:"paymentId"` + PaymentTime string `protobuf:"bytes,4,opt,name=paymentTime,proto3" json:"paymentTime"` + ResultStatus string `protobuf:"bytes,5,opt,name=resultStatus,proto3" json:"resultStatus"` + ResultMessage string `protobuf:"bytes,6,opt,name=resultMessage,proto3" json:"resultMessage"` +} + +func (x *AntomNotifyPayRequest) Reset() { + *x = AntomNotifyPayRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AntomNotifyPayRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AntomNotifyPayRequest) ProtoMessage() {} + +func (x *AntomNotifyPayRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AntomNotifyPayRequest.ProtoReflect.Descriptor instead. +func (*AntomNotifyPayRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{2} +} + +func (x *AntomNotifyPayRequest) GetNotifyType() string { + if x != nil { + return x.NotifyType + } + return "" +} + +func (x *AntomNotifyPayRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *AntomNotifyPayRequest) GetPaymentId() string { + if x != nil { + return x.PaymentId + } + return "" +} + +func (x *AntomNotifyPayRequest) GetPaymentTime() string { + if x != nil { + return x.PaymentTime + } + return "" +} + +func (x *AntomNotifyPayRequest) GetResultStatus() string { + if x != nil { + return x.ResultStatus + } + return "" +} + +func (x *AntomNotifyPayRequest) GetResultMessage() string { + if x != nil { + return x.ResultMessage + } + return "" +} + +type AntomNotifyPayResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Status string `protobuf:"bytes,1,opt,name=status,proto3" json:"status"` + OutTradeNo string `protobuf:"bytes,2,opt,name=outTradeNo,proto3" json:"outTradeNo"` +} + +func (x *AntomNotifyPayResponse) Reset() { + *x = AntomNotifyPayResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AntomNotifyPayResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AntomNotifyPayResponse) ProtoMessage() {} + +func (x *AntomNotifyPayResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AntomNotifyPayResponse.ProtoReflect.Descriptor instead. +func (*AntomNotifyPayResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{3} +} + +func (x *AntomNotifyPayResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *AntomNotifyPayResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +type CreatePayRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PostUrl string `protobuf:"bytes,1,opt,name=postUrl,proto3" json:"postUrl"` // 请求接口 + Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject"` // 订单标题 + ProductUUID string `protobuf:"bytes,3,opt,name=productUUID,proto3" json:"productUUID"` // 商品uid + ProductName string `protobuf:"bytes,4,opt,name=productName,proto3" json:"productName"` // 商品名称 + ProductImg string `protobuf:"bytes,5,opt,name=productImg,proto3" json:"productImg"` // 商品图像 + ProductDescription string `protobuf:"bytes,6,opt,name=productDescription,proto3" json:"productDescription"` // 商品描述 + QuitUrl string `protobuf:"bytes,7,opt,name=quitUrl,proto3" json:"quitUrl"` // 退出url + NotifyUrl string `protobuf:"bytes,8,opt,name=notifyUrl,proto3" json:"notifyUrl"` // 回调url + ReturnUrl string `protobuf:"bytes,9,opt,name=returnUrl,proto3" json:"returnUrl"` // 返回url + OutTradeNo string `protobuf:"bytes,10,opt,name=outTradeNo,proto3" json:"outTradeNo"` // 外部流水号 + ChannelTradeNo string `protobuf:"bytes,11,opt,name=channelTradeNo,proto3" json:"channelTradeNo"` // 渠道流水号 + CheckSessionId string `protobuf:"bytes,12,opt,name=checkSessionId,proto3" json:"checkSessionId"` // stripe的支付会话id + Amount int64 `protobuf:"varint,13,opt,name=amount,proto3" json:"amount"` // 金额 + Currency string `protobuf:"bytes,14,opt,name=currency,proto3" json:"currency"` // 币种 + Payee string `protobuf:"bytes,15,opt,name=payee,proto3" json:"payee"` // 收款方 + ChannelType string `protobuf:"bytes,16,opt,name=channelType,proto3" json:"channelType"` // 支付渠道 alipay-支付宝 wxpay-微信 stripe-Stripe支付 + Platform string `protobuf:"bytes,17,opt,name=platform,proto3" json:"platform"` // 支付具体来源,是app还是h5还是jsapi还是wap + Domain string `protobuf:"bytes,18,opt,name=domain,proto3" json:"domain"` // 使用平台 + BusinessType string `protobuf:"bytes,19,opt,name=businessType,proto3" json:"businessType"` // 业务类型,用来确认mq发送 + Language string `protobuf:"bytes,20,opt,name=language,proto3" json:"language"` // 语言,国际化 + ClientIp string `protobuf:"bytes,21,opt,name=clientIp,proto3" json:"clientIp"` + OpenID string `protobuf:"bytes,22,opt,name=openID,proto3" json:"openID"` // 微信的参数 + TimeExpire int32 `protobuf:"varint,23,opt,name=timeExpire,proto3" json:"timeExpire"` // 微信的参数 + Locale string `protobuf:"bytes,24,opt,name=locale,proto3" json:"locale"` // stripe参数,区域,跟页面国际化有关 +} + +func (x *CreatePayRequest) Reset() { + *x = CreatePayRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreatePayRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePayRequest) ProtoMessage() {} + +func (x *CreatePayRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreatePayRequest.ProtoReflect.Descriptor instead. +func (*CreatePayRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{4} +} + +func (x *CreatePayRequest) GetPostUrl() string { + if x != nil { + return x.PostUrl + } + return "" +} + +func (x *CreatePayRequest) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *CreatePayRequest) GetProductUUID() string { + if x != nil { + return x.ProductUUID + } + return "" +} + +func (x *CreatePayRequest) GetProductName() string { + if x != nil { + return x.ProductName + } + return "" +} + +func (x *CreatePayRequest) GetProductImg() string { + if x != nil { + return x.ProductImg + } + return "" +} + +func (x *CreatePayRequest) GetProductDescription() string { + if x != nil { + return x.ProductDescription + } + return "" +} + +func (x *CreatePayRequest) GetQuitUrl() string { + if x != nil { + return x.QuitUrl + } + return "" +} + +func (x *CreatePayRequest) GetNotifyUrl() string { + if x != nil { + return x.NotifyUrl + } + return "" +} + +func (x *CreatePayRequest) GetReturnUrl() string { + if x != nil { + return x.ReturnUrl + } + return "" +} + +func (x *CreatePayRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *CreatePayRequest) GetChannelTradeNo() string { + if x != nil { + return x.ChannelTradeNo + } + return "" +} + +func (x *CreatePayRequest) GetCheckSessionId() string { + if x != nil { + return x.CheckSessionId + } + return "" +} + +func (x *CreatePayRequest) GetAmount() int64 { + if x != nil { + return x.Amount + } + return 0 +} + +func (x *CreatePayRequest) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +func (x *CreatePayRequest) GetPayee() string { + if x != nil { + return x.Payee + } + return "" +} + +func (x *CreatePayRequest) GetChannelType() string { + if x != nil { + return x.ChannelType + } + return "" +} + +func (x *CreatePayRequest) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *CreatePayRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *CreatePayRequest) GetBusinessType() string { + if x != nil { + return x.BusinessType + } + return "" +} + +func (x *CreatePayRequest) GetLanguage() string { + if x != nil { + return x.Language + } + return "" +} + +func (x *CreatePayRequest) GetClientIp() string { + if x != nil { + return x.ClientIp + } + return "" +} + +func (x *CreatePayRequest) GetOpenID() string { + if x != nil { + return x.OpenID + } + return "" +} + +func (x *CreatePayRequest) GetTimeExpire() int32 { + if x != nil { + return x.TimeExpire + } + return 0 +} + +func (x *CreatePayRequest) GetLocale() string { + if x != nil { + return x.Locale + } + return "" +} + +type CreatePayResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url"` + LogRecordID string `protobuf:"bytes,2,opt,name=logRecordID,json=log_record_ID,proto3" json:"logRecordID"` + Msg string `protobuf:"bytes,3,opt,name=msg,proto3" json:"msg"` + Appid string `protobuf:"bytes,4,opt,name=appid,proto3" json:"appid"` + TimeStamp string `protobuf:"bytes,5,opt,name=timeStamp,proto3" json:"timeStamp"` + Package string `protobuf:"bytes,6,opt,name=package,proto3" json:"package"` + SignType string `protobuf:"bytes,7,opt,name=signType,proto3" json:"signType"` + NonceStr string `protobuf:"bytes,8,opt,name=nonceStr,proto3" json:"nonceStr"` + PaySign string `protobuf:"bytes,9,opt,name=paySign,proto3" json:"paySign"` + PrepayId string `protobuf:"bytes,10,opt,name=prepayId,proto3" json:"prepayId"` + PartnerId string `protobuf:"bytes,11,opt,name=partnerId,proto3" json:"partnerId"` + CheckoutSessionId string `protobuf:"bytes,12,opt,name=checkoutSessionId,proto3" json:"checkoutSessionId"` +} + +func (x *CreatePayResponse) Reset() { + *x = CreatePayResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreatePayResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreatePayResponse) ProtoMessage() {} + +func (x *CreatePayResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreatePayResponse.ProtoReflect.Descriptor instead. +func (*CreatePayResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{5} +} + +func (x *CreatePayResponse) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *CreatePayResponse) GetLogRecordID() string { + if x != nil { + return x.LogRecordID + } + return "" +} + +func (x *CreatePayResponse) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *CreatePayResponse) GetAppid() string { + if x != nil { + return x.Appid + } + return "" +} + +func (x *CreatePayResponse) GetTimeStamp() string { + if x != nil { + return x.TimeStamp + } + return "" +} + +func (x *CreatePayResponse) GetPackage() string { + if x != nil { + return x.Package + } + return "" +} + +func (x *CreatePayResponse) GetSignType() string { + if x != nil { + return x.SignType + } + return "" +} + +func (x *CreatePayResponse) GetNonceStr() string { + if x != nil { + return x.NonceStr + } + return "" +} + +func (x *CreatePayResponse) GetPaySign() string { + if x != nil { + return x.PaySign + } + return "" +} + +func (x *CreatePayResponse) GetPrepayId() string { + if x != nil { + return x.PrepayId + } + return "" +} + +func (x *CreatePayResponse) GetPartnerId() string { + if x != nil { + return x.PartnerId + } + return "" +} + +func (x *CreatePayResponse) GetCheckoutSessionId() string { + if x != nil { + return x.CheckoutSessionId + } + return "" +} + +type CreateRefundRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PostUrl string `protobuf:"bytes,1,opt,name=postUrl,proto3" json:"postUrl"` // 请求接口 + Subject string `protobuf:"bytes,2,opt,name=subject,proto3" json:"subject"` // 订单标题 + ProductUUID string `protobuf:"bytes,3,opt,name=productUUID,proto3" json:"productUUID"` // 商品uid + OutTradeNo string `protobuf:"bytes,4,opt,name=outTradeNo,proto3" json:"outTradeNo"` // 外部流水号 + ChannelTradeNo string `protobuf:"bytes,5,opt,name=channelTradeNo,proto3" json:"channelTradeNo"` // 渠道流水号 + CheckSessionId string `protobuf:"bytes,6,opt,name=checkSessionId,proto3" json:"checkSessionId"` // stripe的支付会话id + RefundAmount int64 `protobuf:"varint,7,opt,name=refundAmount,proto3" json:"refundAmount"` // 退款金额 + Currency string `protobuf:"bytes,8,opt,name=currency,proto3" json:"currency"` // 币种 + Payee string `protobuf:"bytes,9,opt,name=payee,proto3" json:"payee"` // 收款方 + ChannelType string `protobuf:"bytes,10,opt,name=channelType,proto3" json:"channelType"` // 支付渠道 alipay-支付宝 wxpay-微信 stripe-Stripe支付 + Platform string `protobuf:"bytes,11,opt,name=platform,proto3" json:"platform"` // 支付具体来源,是app还是h5还是jsapi还是wap + Domain string `protobuf:"bytes,12,opt,name=domain,proto3" json:"domain"` // 使用平台 + BusinessType string `protobuf:"bytes,13,opt,name=businessType,proto3" json:"businessType"` // 业务类型,用来确认mq发送 + Language string `protobuf:"bytes,14,opt,name=language,proto3" json:"language"` // 语言,国际化 + ClientIp string `protobuf:"bytes,15,opt,name=clientIp,proto3" json:"clientIp"` + OpenID string `protobuf:"bytes,16,opt,name=openID,proto3" json:"openID"` // 微信的参数 + CreatorId int64 `protobuf:"varint,17,opt,name=creatorId,proto3" json:"creatorId"` // 创建人id + CreatorName string `protobuf:"bytes,18,opt,name=creatorName,proto3" json:"creatorName"` // 创建人名称 + RefundReason string `protobuf:"bytes,19,opt,name=refundReason,proto3" json:"refundReason"` // 退款理由 +} + +func (x *CreateRefundRequest) Reset() { + *x = CreateRefundRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateRefundRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateRefundRequest) ProtoMessage() {} + +func (x *CreateRefundRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateRefundRequest.ProtoReflect.Descriptor instead. +func (*CreateRefundRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{6} +} + +func (x *CreateRefundRequest) GetPostUrl() string { + if x != nil { + return x.PostUrl + } + return "" +} + +func (x *CreateRefundRequest) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *CreateRefundRequest) GetProductUUID() string { + if x != nil { + return x.ProductUUID + } + return "" +} + +func (x *CreateRefundRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *CreateRefundRequest) GetChannelTradeNo() string { + if x != nil { + return x.ChannelTradeNo + } + return "" +} + +func (x *CreateRefundRequest) GetCheckSessionId() string { + if x != nil { + return x.CheckSessionId + } + return "" +} + +func (x *CreateRefundRequest) GetRefundAmount() int64 { + if x != nil { + return x.RefundAmount + } + return 0 +} + +func (x *CreateRefundRequest) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +func (x *CreateRefundRequest) GetPayee() string { + if x != nil { + return x.Payee + } + return "" +} + +func (x *CreateRefundRequest) GetChannelType() string { + if x != nil { + return x.ChannelType + } + return "" +} + +func (x *CreateRefundRequest) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *CreateRefundRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *CreateRefundRequest) GetBusinessType() string { + if x != nil { + return x.BusinessType + } + return "" +} + +func (x *CreateRefundRequest) GetLanguage() string { + if x != nil { + return x.Language + } + return "" +} + +func (x *CreateRefundRequest) GetClientIp() string { + if x != nil { + return x.ClientIp + } + return "" +} + +func (x *CreateRefundRequest) GetOpenID() string { + if x != nil { + return x.OpenID + } + return "" +} + +func (x *CreateRefundRequest) GetCreatorId() int64 { + if x != nil { + return x.CreatorId + } + return 0 +} + +func (x *CreateRefundRequest) GetCreatorName() string { + if x != nil { + return x.CreatorName + } + return "" +} + +func (x *CreateRefundRequest) GetRefundReason() string { + if x != nil { + return x.RefundReason + } + return "" +} + +type CreateRefundResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Code int64 `protobuf:"varint,1,opt,name=code,proto3" json:"code"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg"` +} + +func (x *CreateRefundResponse) Reset() { + *x = CreateRefundResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateRefundResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateRefundResponse) ProtoMessage() {} + +func (x *CreateRefundResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateRefundResponse.ProtoReflect.Descriptor instead. +func (*CreateRefundResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{7} +} + +func (x *CreateRefundResponse) GetCode() int64 { + if x != nil { + return x.Code + } + return 0 +} + +func (x *CreateRefundResponse) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type NotifyPayRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PostUrl string `protobuf:"bytes,1,opt,name=postUrl,proto3" json:"postUrl"` // 请求接口 + HttpRequest *HttpRequest `protobuf:"bytes,2,opt,name=http_request,json=httpRequest,proto3" json:"http_request"` + RawQuery string `protobuf:"bytes,3,opt,name=rawQuery,json=raw_query,proto3" json:"rawQuery"` +} + +func (x *NotifyPayRequest) Reset() { + *x = NotifyPayRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NotifyPayRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotifyPayRequest) ProtoMessage() {} + +func (x *NotifyPayRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NotifyPayRequest.ProtoReflect.Descriptor instead. +func (*NotifyPayRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{8} +} + +func (x *NotifyPayRequest) GetPostUrl() string { + if x != nil { + return x.PostUrl + } + return "" +} + +func (x *NotifyPayRequest) GetHttpRequest() *HttpRequest { + if x != nil { + return x.HttpRequest + } + return nil +} + +func (x *NotifyPayRequest) GetRawQuery() string { + if x != nil { + return x.RawQuery + } + return "" +} + +type NotifyPayResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` + OutTradeNo string `protobuf:"bytes,2,opt,name=outTradeNo,proto3" json:"outTradeNo"` +} + +func (x *NotifyPayResponse) Reset() { + *x = NotifyPayResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NotifyPayResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NotifyPayResponse) ProtoMessage() {} + +func (x *NotifyPayResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NotifyPayResponse.ProtoReflect.Descriptor instead. +func (*NotifyPayResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{9} +} + +func (x *NotifyPayResponse) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +func (x *NotifyPayResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +type HttpRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Method string `protobuf:"bytes,1,opt,name=method,proto3" json:"method"` + Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url"` + Headers map[string]string `protobuf:"bytes,3,rep,name=headers,proto3" json:"headers" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Body []byte `protobuf:"bytes,4,opt,name=body,proto3" json:"body"` +} + +func (x *HttpRequest) Reset() { + *x = HttpRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *HttpRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HttpRequest) ProtoMessage() {} + +func (x *HttpRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HttpRequest.ProtoReflect.Descriptor instead. +func (*HttpRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{10} +} + +func (x *HttpRequest) GetMethod() string { + if x != nil { + return x.Method + } + return "" +} + +func (x *HttpRequest) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *HttpRequest) GetHeaders() map[string]string { + if x != nil { + return x.Headers + } + return nil +} + +func (x *HttpRequest) GetBody() []byte { + if x != nil { + return x.Body + } + return nil +} + +type CommonMsg struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Msg string `protobuf:"bytes,1,opt,name=msg,proto3" json:"msg"` +} + +func (x *CommonMsg) Reset() { + *x = CommonMsg{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommonMsg) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommonMsg) ProtoMessage() {} + +func (x *CommonMsg) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CommonMsg.ProtoReflect.Descriptor instead. +func (*CommonMsg) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{11} +} + +func (x *CommonMsg) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type EmptyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *EmptyRequest) Reset() { + *x = EmptyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *EmptyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EmptyRequest) ProtoMessage() {} + +func (x *EmptyRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EmptyRequest.ProtoReflect.Descriptor instead. +func (*EmptyRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{12} +} + +type CreateStripeCheckoutSessionRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProductUUID string `protobuf:"bytes,1,opt,name=productUUID,proto3" json:"productUUID"` + ProductName string `protobuf:"bytes,2,opt,name=productName,proto3" json:"productName"` + ProductQuantity int64 `protobuf:"varint,3,opt,name=productQuantity,proto3" json:"productQuantity"` + ProductAllPrice int64 `protobuf:"varint,4,opt,name=productAllPrice,proto3" json:"productAllPrice"` + ProductDescription string `protobuf:"bytes,5,opt,name=productDescription,proto3" json:"productDescription"` + ProductImageUrl string `protobuf:"bytes,6,opt,name=productImageUrl,proto3" json:"productImageUrl"` + ProductPriceCurrency string `protobuf:"bytes,7,opt,name=productPriceCurrency,proto3" json:"productPriceCurrency"` + CreaterID string `protobuf:"bytes,8,opt,name=createrID,proto3" json:"createrID"` + CreaterName string `protobuf:"bytes,9,opt,name=createrName,proto3" json:"createrName"` + Domain string `protobuf:"bytes,10,opt,name=domain,proto3" json:"domain"` + SuccessUrl string `protobuf:"bytes,11,opt,name=successUrl,proto3" json:"successUrl"` + CancelUrl string `protobuf:"bytes,12,opt,name=cancelUrl,proto3" json:"cancelUrl"` + OutTradeNo string `protobuf:"bytes,13,opt,name=outTradeNo,proto3" json:"outTradeNo"` + Locale string `protobuf:"bytes,14,opt,name=locale,proto3" json:"locale"` +} + +func (x *CreateStripeCheckoutSessionRequest) Reset() { + *x = CreateStripeCheckoutSessionRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateStripeCheckoutSessionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateStripeCheckoutSessionRequest) ProtoMessage() {} + +func (x *CreateStripeCheckoutSessionRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateStripeCheckoutSessionRequest.ProtoReflect.Descriptor instead. +func (*CreateStripeCheckoutSessionRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{13} +} + +func (x *CreateStripeCheckoutSessionRequest) GetProductUUID() string { + if x != nil { + return x.ProductUUID + } + return "" +} + +func (x *CreateStripeCheckoutSessionRequest) GetProductName() string { + if x != nil { + return x.ProductName + } + return "" +} + +func (x *CreateStripeCheckoutSessionRequest) GetProductQuantity() int64 { + if x != nil { + return x.ProductQuantity + } + return 0 +} + +func (x *CreateStripeCheckoutSessionRequest) GetProductAllPrice() int64 { + if x != nil { + return x.ProductAllPrice + } + return 0 +} + +func (x *CreateStripeCheckoutSessionRequest) GetProductDescription() string { + if x != nil { + return x.ProductDescription + } + return "" +} + +func (x *CreateStripeCheckoutSessionRequest) GetProductImageUrl() string { + if x != nil { + return x.ProductImageUrl + } + return "" +} + +func (x *CreateStripeCheckoutSessionRequest) GetProductPriceCurrency() string { + if x != nil { + return x.ProductPriceCurrency + } + return "" +} + +func (x *CreateStripeCheckoutSessionRequest) GetCreaterID() string { + if x != nil { + return x.CreaterID + } + return "" +} + +func (x *CreateStripeCheckoutSessionRequest) GetCreaterName() string { + if x != nil { + return x.CreaterName + } + return "" +} + +func (x *CreateStripeCheckoutSessionRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *CreateStripeCheckoutSessionRequest) GetSuccessUrl() string { + if x != nil { + return x.SuccessUrl + } + return "" +} + +func (x *CreateStripeCheckoutSessionRequest) GetCancelUrl() string { + if x != nil { + return x.CancelUrl + } + return "" +} + +func (x *CreateStripeCheckoutSessionRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *CreateStripeCheckoutSessionRequest) GetLocale() string { + if x != nil { + return x.Locale + } + return "" +} + +type CreateStripeCheckoutSessionResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CheckoutSessionId string `protobuf:"bytes,1,opt,name=checkoutSessionId,proto3" json:"checkoutSessionId"` + CheckoutSessionUrl string `protobuf:"bytes,2,opt,name=checkoutSessionUrl,proto3" json:"checkoutSessionUrl"` +} + +func (x *CreateStripeCheckoutSessionResponse) Reset() { + *x = CreateStripeCheckoutSessionResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CreateStripeCheckoutSessionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateStripeCheckoutSessionResponse) ProtoMessage() {} + +func (x *CreateStripeCheckoutSessionResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateStripeCheckoutSessionResponse.ProtoReflect.Descriptor instead. +func (*CreateStripeCheckoutSessionResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{14} +} + +func (x *CreateStripeCheckoutSessionResponse) GetCheckoutSessionId() string { + if x != nil { + return x.CheckoutSessionId + } + return "" +} + +func (x *CreateStripeCheckoutSessionResponse) GetCheckoutSessionUrl() string { + if x != nil { + return x.CheckoutSessionUrl + } + return "" +} + +type GetCheckoutWebhookRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PostUrl string `protobuf:"bytes,1,opt,name=postUrl,proto3" json:"postUrl"` // 请求接口 + Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type"` // 事件类型,例如"payment_intent.succeeded" + Payload string `protobuf:"bytes,3,opt,name=payload,proto3" json:"payload"` // 事件的原始JSON payload + Signature string `protobuf:"bytes,4,opt,name=signature,proto3" json:"signature"` // Stripe-Signature头的值,用于验证事件 + WebhookKey string `protobuf:"bytes,5,opt,name=webhookKey,proto3" json:"webhookKey"` // Webhook密钥 +} + +func (x *GetCheckoutWebhookRequest) Reset() { + *x = GetCheckoutWebhookRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetCheckoutWebhookRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetCheckoutWebhookRequest) ProtoMessage() {} + +func (x *GetCheckoutWebhookRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetCheckoutWebhookRequest.ProtoReflect.Descriptor instead. +func (*GetCheckoutWebhookRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{15} +} + +func (x *GetCheckoutWebhookRequest) GetPostUrl() string { + if x != nil { + return x.PostUrl + } + return "" +} + +func (x *GetCheckoutWebhookRequest) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *GetCheckoutWebhookRequest) GetPayload() string { + if x != nil { + return x.Payload + } + return "" +} + +func (x *GetCheckoutWebhookRequest) GetSignature() string { + if x != nil { + return x.Signature + } + return "" +} + +func (x *GetCheckoutWebhookRequest) GetWebhookKey() string { + if x != nil { + return x.WebhookKey + } + return "" +} + +type GetCheckoutWebhookResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success"` // 处理是否成功 + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message"` // 可选的处理消息 + OutTradeNo string `protobuf:"bytes,3,opt,name=outTradeNo,proto3" json:"outTradeNo"` + PaymentIntentStatus string `protobuf:"bytes,4,opt,name=paymentIntentStatus,proto3" json:"paymentIntentStatus"` +} + +func (x *GetCheckoutWebhookResponse) Reset() { + *x = GetCheckoutWebhookResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetCheckoutWebhookResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetCheckoutWebhookResponse) ProtoMessage() {} + +func (x *GetCheckoutWebhookResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetCheckoutWebhookResponse.ProtoReflect.Descriptor instead. +func (*GetCheckoutWebhookResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{16} +} + +func (x *GetCheckoutWebhookResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *GetCheckoutWebhookResponse) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *GetCheckoutWebhookResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *GetCheckoutWebhookResponse) GetPaymentIntentStatus() string { + if x != nil { + return x.PaymentIntentStatus + } + return "" +} + +type GetStripePaymentIntentInfoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CheckoutSessionId string `protobuf:"bytes,1,opt,name=checkoutSessionId,proto3" json:"checkoutSessionId"` + CreaterID string `protobuf:"bytes,2,opt,name=createrID,proto3" json:"createrID"` +} + +func (x *GetStripePaymentIntentInfoRequest) Reset() { + *x = GetStripePaymentIntentInfoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetStripePaymentIntentInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetStripePaymentIntentInfoRequest) ProtoMessage() {} + +func (x *GetStripePaymentIntentInfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetStripePaymentIntentInfoRequest.ProtoReflect.Descriptor instead. +func (*GetStripePaymentIntentInfoRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{17} +} + +func (x *GetStripePaymentIntentInfoRequest) GetCheckoutSessionId() string { + if x != nil { + return x.CheckoutSessionId + } + return "" +} + +func (x *GetStripePaymentIntentInfoRequest) GetCreaterID() string { + if x != nil { + return x.CreaterID + } + return "" +} + +type GetStripePaymentIntentInfoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CheckoutSessionId string `protobuf:"bytes,1,opt,name=checkoutSessionId,proto3" json:"checkoutSessionId"` + CheckoutSessionStatus string `protobuf:"bytes,2,opt,name=checkoutSessionStatus,proto3" json:"checkoutSessionStatus"` + PaymentIntentId string `protobuf:"bytes,3,opt,name=paymentIntentId,proto3" json:"paymentIntentId"` + PaymentIntentCreated string `protobuf:"bytes,4,opt,name=paymentIntentCreated,proto3" json:"paymentIntentCreated"` + PaymentIntentStatus string `protobuf:"bytes,5,opt,name=paymentIntentStatus,proto3" json:"paymentIntentStatus"` + ChargeId string `protobuf:"bytes,6,opt,name=chargeId,proto3" json:"chargeId"` + PayPrice int64 `protobuf:"varint,7,opt,name=payPrice,proto3" json:"payPrice"` + PayExchangeRate string `protobuf:"bytes,8,opt,name=payExchangeRate,proto3" json:"payExchangeRate"` + PayCurrency string `protobuf:"bytes,9,opt,name=payCurrency,proto3" json:"payCurrency"` + AccountCurrency string `protobuf:"bytes,10,opt,name=accountCurrency,proto3" json:"accountCurrency"` + AfterRatePayPrice int64 `protobuf:"varint,11,opt,name=afterRatePayPrice,proto3" json:"afterRatePayPrice"` + PayHandingFee int64 `protobuf:"varint,12,opt,name=payHandingFee,proto3" json:"payHandingFee"` + AfterRatePayNetAmount int64 `protobuf:"varint,13,opt,name=afterRatePayNetAmount,proto3" json:"afterRatePayNetAmount"` + CustomerId string `protobuf:"bytes,14,opt,name=customerId,proto3" json:"customerId"` + RefundPrice int64 `protobuf:"varint,15,opt,name=refundPrice,proto3" json:"refundPrice"` + OutTradeNo string `protobuf:"bytes,16,opt,name=outTradeNo,proto3" json:"outTradeNo"` +} + +func (x *GetStripePaymentIntentInfoResponse) Reset() { + *x = GetStripePaymentIntentInfoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetStripePaymentIntentInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetStripePaymentIntentInfoResponse) ProtoMessage() {} + +func (x *GetStripePaymentIntentInfoResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[18] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetStripePaymentIntentInfoResponse.ProtoReflect.Descriptor instead. +func (*GetStripePaymentIntentInfoResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{18} +} + +func (x *GetStripePaymentIntentInfoResponse) GetCheckoutSessionId() string { + if x != nil { + return x.CheckoutSessionId + } + return "" +} + +func (x *GetStripePaymentIntentInfoResponse) GetCheckoutSessionStatus() string { + if x != nil { + return x.CheckoutSessionStatus + } + return "" +} + +func (x *GetStripePaymentIntentInfoResponse) GetPaymentIntentId() string { + if x != nil { + return x.PaymentIntentId + } + return "" +} + +func (x *GetStripePaymentIntentInfoResponse) GetPaymentIntentCreated() string { + if x != nil { + return x.PaymentIntentCreated + } + return "" +} + +func (x *GetStripePaymentIntentInfoResponse) GetPaymentIntentStatus() string { + if x != nil { + return x.PaymentIntentStatus + } + return "" +} + +func (x *GetStripePaymentIntentInfoResponse) GetChargeId() string { + if x != nil { + return x.ChargeId + } + return "" +} + +func (x *GetStripePaymentIntentInfoResponse) GetPayPrice() int64 { + if x != nil { + return x.PayPrice + } + return 0 +} + +func (x *GetStripePaymentIntentInfoResponse) GetPayExchangeRate() string { + if x != nil { + return x.PayExchangeRate + } + return "" +} + +func (x *GetStripePaymentIntentInfoResponse) GetPayCurrency() string { + if x != nil { + return x.PayCurrency + } + return "" +} + +func (x *GetStripePaymentIntentInfoResponse) GetAccountCurrency() string { + if x != nil { + return x.AccountCurrency + } + return "" +} + +func (x *GetStripePaymentIntentInfoResponse) GetAfterRatePayPrice() int64 { + if x != nil { + return x.AfterRatePayPrice + } + return 0 +} + +func (x *GetStripePaymentIntentInfoResponse) GetPayHandingFee() int64 { + if x != nil { + return x.PayHandingFee + } + return 0 +} + +func (x *GetStripePaymentIntentInfoResponse) GetAfterRatePayNetAmount() int64 { + if x != nil { + return x.AfterRatePayNetAmount + } + return 0 +} + +func (x *GetStripePaymentIntentInfoResponse) GetCustomerId() string { + if x != nil { + return x.CustomerId + } + return "" +} + +func (x *GetStripePaymentIntentInfoResponse) GetRefundPrice() int64 { + if x != nil { + return x.RefundPrice + } + return 0 +} + +func (x *GetStripePaymentIntentInfoResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +type GetRefundInfoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RefundId string `protobuf:"bytes,1,opt,name=refundId,proto3" json:"refundId"` + CreaterID string `protobuf:"bytes,2,opt,name=createrID,proto3" json:"createrID"` +} + +func (x *GetRefundInfoRequest) Reset() { + *x = GetRefundInfoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetRefundInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRefundInfoRequest) ProtoMessage() {} + +func (x *GetRefundInfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[19] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetRefundInfoRequest.ProtoReflect.Descriptor instead. +func (*GetRefundInfoRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{19} +} + +func (x *GetRefundInfoRequest) GetRefundId() string { + if x != nil { + return x.RefundId + } + return "" +} + +func (x *GetRefundInfoRequest) GetCreaterID() string { + if x != nil { + return x.CreaterID + } + return "" +} + +type GetRefundInfoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RefundStatus string `protobuf:"bytes,1,opt,name=refundStatus,proto3" json:"refundStatus"` +} + +func (x *GetRefundInfoResponse) Reset() { + *x = GetRefundInfoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetRefundInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetRefundInfoResponse) ProtoMessage() {} + +func (x *GetRefundInfoResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetRefundInfoResponse.ProtoReflect.Descriptor instead. +func (*GetRefundInfoResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{20} +} + +func (x *GetRefundInfoResponse) GetRefundStatus() string { + if x != nil { + return x.RefundStatus + } + return "" +} + +type AliWapPayRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subject string `protobuf:"bytes,1,opt,name=subject,proto3" json:"subject"` + ProductCode string `protobuf:"bytes,2,opt,name=productCode,json=product_code,proto3" json:"productCode"` + OutTradeNo string `protobuf:"bytes,3,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` + QuitUrl string `protobuf:"bytes,4,opt,name=quitUrl,json=quit_url,proto3" json:"quitUrl"` + NotifyUrl string `protobuf:"bytes,5,opt,name=notifyUrl,json=notify_url,proto3" json:"notifyUrl"` + ReturnUrl string `protobuf:"bytes,6,opt,name=returnUrl,json=return_url,proto3" json:"returnUrl"` + TotalAmount int32 `protobuf:"varint,7,opt,name=totalAmount,json=total_amount,proto3" json:"totalAmount"` + TimeExpire int32 `protobuf:"varint,8,opt,name=timeExpire,json=time_expire,proto3" json:"timeExpire"` + Domain string `protobuf:"bytes,9,opt,name=domain,proto3" json:"domain"` + Platform string `protobuf:"bytes,10,opt,name=platform,proto3" json:"platform"` +} + +func (x *AliWapPayRequest) Reset() { + *x = AliWapPayRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliWapPayRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliWapPayRequest) ProtoMessage() {} + +func (x *AliWapPayRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AliWapPayRequest.ProtoReflect.Descriptor instead. +func (*AliWapPayRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{21} +} + +func (x *AliWapPayRequest) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *AliWapPayRequest) GetProductCode() string { + if x != nil { + return x.ProductCode + } + return "" +} + +func (x *AliWapPayRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *AliWapPayRequest) GetQuitUrl() string { + if x != nil { + return x.QuitUrl + } + return "" +} + +func (x *AliWapPayRequest) GetNotifyUrl() string { + if x != nil { + return x.NotifyUrl + } + return "" +} + +func (x *AliWapPayRequest) GetReturnUrl() string { + if x != nil { + return x.ReturnUrl + } + return "" +} + +func (x *AliWapPayRequest) GetTotalAmount() int32 { + if x != nil { + return x.TotalAmount + } + return 0 +} + +func (x *AliWapPayRequest) GetTimeExpire() int32 { + if x != nil { + return x.TimeExpire + } + return 0 +} + +func (x *AliWapPayRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *AliWapPayRequest) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type AliWapPayResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url"` + LogRecordID string `protobuf:"bytes,2,opt,name=logRecordID,json=log_record_ID,proto3" json:"logRecordID"` + Msg string `protobuf:"bytes,3,opt,name=msg,proto3" json:"msg"` +} + +func (x *AliWapPayResponse) Reset() { + *x = AliWapPayResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliWapPayResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliWapPayResponse) ProtoMessage() {} + +func (x *AliWapPayResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AliWapPayResponse.ProtoReflect.Descriptor instead. +func (*AliWapPayResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{22} +} + +func (x *AliWapPayResponse) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *AliWapPayResponse) GetLogRecordID() string { + if x != nil { + return x.LogRecordID + } + return "" +} + +func (x *AliWapPayResponse) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type AliAppPayRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subject string `protobuf:"bytes,1,opt,name=subject,proto3" json:"subject"` + ProductCode string `protobuf:"bytes,2,opt,name=productCode,json=product_code,proto3" json:"productCode"` + OutTradeNo string `protobuf:"bytes,3,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` + QuitUrl string `protobuf:"bytes,4,opt,name=quitUrl,json=quit_url,proto3" json:"quitUrl"` + NotifyUrl string `protobuf:"bytes,5,opt,name=notifyUrl,json=notify_url,proto3" json:"notifyUrl"` + ReturnUrl string `protobuf:"bytes,6,opt,name=returnUrl,json=return_url,proto3" json:"returnUrl"` + TotalAmount string `protobuf:"bytes,7,opt,name=totalAmount,json=total_amount,proto3" json:"totalAmount"` + TimeExpire int32 `protobuf:"varint,8,opt,name=timeExpire,json=time_expire,proto3" json:"timeExpire"` + Domain string `protobuf:"bytes,9,opt,name=domain,proto3" json:"domain"` + Platform string `protobuf:"bytes,10,opt,name=platform,proto3" json:"platform"` + PayType int32 `protobuf:"varint,11,opt,name=payType,proto3" json:"payType"` +} + +func (x *AliAppPayRequest) Reset() { + *x = AliAppPayRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliAppPayRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliAppPayRequest) ProtoMessage() {} + +func (x *AliAppPayRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AliAppPayRequest.ProtoReflect.Descriptor instead. +func (*AliAppPayRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{23} +} + +func (x *AliAppPayRequest) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *AliAppPayRequest) GetProductCode() string { + if x != nil { + return x.ProductCode + } + return "" +} + +func (x *AliAppPayRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *AliAppPayRequest) GetQuitUrl() string { + if x != nil { + return x.QuitUrl + } + return "" +} + +func (x *AliAppPayRequest) GetNotifyUrl() string { + if x != nil { + return x.NotifyUrl + } + return "" +} + +func (x *AliAppPayRequest) GetReturnUrl() string { + if x != nil { + return x.ReturnUrl + } + return "" +} + +func (x *AliAppPayRequest) GetTotalAmount() string { + if x != nil { + return x.TotalAmount + } + return "" +} + +func (x *AliAppPayRequest) GetTimeExpire() int32 { + if x != nil { + return x.TimeExpire + } + return 0 +} + +func (x *AliAppPayRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *AliAppPayRequest) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *AliAppPayRequest) GetPayType() int32 { + if x != nil { + return x.PayType + } + return 0 +} + +type AliAppPayResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url"` + LogRecordID string `protobuf:"bytes,2,opt,name=logRecordID,json=log_record_ID,proto3" json:"logRecordID"` + Msg string `protobuf:"bytes,3,opt,name=msg,proto3" json:"msg"` +} + +func (x *AliAppPayResponse) Reset() { + *x = AliAppPayResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliAppPayResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliAppPayResponse) ProtoMessage() {} + +func (x *AliAppPayResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AliAppPayResponse.ProtoReflect.Descriptor instead. +func (*AliAppPayResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{24} +} + +func (x *AliAppPayResponse) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *AliAppPayResponse) GetLogRecordID() string { + if x != nil { + return x.LogRecordID + } + return "" +} + +func (x *AliAppPayResponse) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type AliNativePayRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subject string `protobuf:"bytes,1,opt,name=subject,proto3" json:"subject"` + OutTradeNo string `protobuf:"bytes,2,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` + NotifyUrl string `protobuf:"bytes,3,opt,name=notifyUrl,json=notify_url,proto3" json:"notifyUrl"` + TotalAmount int32 `protobuf:"varint,4,opt,name=totalAmount,json=total_amount,proto3" json:"totalAmount"` + TimeExpire int32 `protobuf:"varint,5,opt,name=timeExpire,json=time_expire,proto3" json:"timeExpire"` + Domain string `protobuf:"bytes,6,opt,name=domain,proto3" json:"domain"` + Platform string `protobuf:"bytes,7,opt,name=platform,proto3" json:"platform"` +} + +func (x *AliNativePayRequest) Reset() { + *x = AliNativePayRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliNativePayRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliNativePayRequest) ProtoMessage() {} + +func (x *AliNativePayRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[25] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AliNativePayRequest.ProtoReflect.Descriptor instead. +func (*AliNativePayRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{25} +} + +func (x *AliNativePayRequest) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *AliNativePayRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *AliNativePayRequest) GetNotifyUrl() string { + if x != nil { + return x.NotifyUrl + } + return "" +} + +func (x *AliNativePayRequest) GetTotalAmount() int32 { + if x != nil { + return x.TotalAmount + } + return 0 +} + +func (x *AliNativePayRequest) GetTimeExpire() int32 { + if x != nil { + return x.TimeExpire + } + return 0 +} + +func (x *AliNativePayRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *AliNativePayRequest) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +type AliNativePayResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg"` +} + +func (x *AliNativePayResponse) Reset() { + *x = AliNativePayResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliNativePayResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliNativePayResponse) ProtoMessage() {} + +func (x *AliNativePayResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[26] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AliNativePayResponse.ProtoReflect.Descriptor instead. +func (*AliNativePayResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{26} +} + +func (x *AliNativePayResponse) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *AliNativePayResponse) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type AliPcWabPayRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Subject string `protobuf:"bytes,1,opt,name=subject,proto3" json:"subject"` + OutTradeNo string `protobuf:"bytes,2,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` + NotifyUrl string `protobuf:"bytes,3,opt,name=notifyUrl,json=notify_url,proto3" json:"notifyUrl"` + TotalAmount int32 `protobuf:"varint,4,opt,name=totalAmount,json=total_amount,proto3" json:"totalAmount"` + TimeExpire int32 `protobuf:"varint,5,opt,name=timeExpire,json=time_expire,proto3" json:"timeExpire"` + Domain string `protobuf:"bytes,6,opt,name=domain,proto3" json:"domain"` + Platform string `protobuf:"bytes,7,opt,name=platform,proto3" json:"platform"` + QuitUrl string `protobuf:"bytes,8,opt,name=quitUrl,json=quit_url,proto3" json:"quitUrl"` + ReturnUrl string `protobuf:"bytes,9,opt,name=returnUrl,json=return_url,proto3" json:"returnUrl"` +} + +func (x *AliPcWabPayRequest) Reset() { + *x = AliPcWabPayRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliPcWabPayRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliPcWabPayRequest) ProtoMessage() {} + +func (x *AliPcWabPayRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AliPcWabPayRequest.ProtoReflect.Descriptor instead. +func (*AliPcWabPayRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{27} +} + +func (x *AliPcWabPayRequest) GetSubject() string { + if x != nil { + return x.Subject + } + return "" +} + +func (x *AliPcWabPayRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *AliPcWabPayRequest) GetNotifyUrl() string { + if x != nil { + return x.NotifyUrl + } + return "" +} + +func (x *AliPcWabPayRequest) GetTotalAmount() int32 { + if x != nil { + return x.TotalAmount + } + return 0 +} + +func (x *AliPcWabPayRequest) GetTimeExpire() int32 { + if x != nil { + return x.TimeExpire + } + return 0 +} + +func (x *AliPcWabPayRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *AliPcWabPayRequest) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *AliPcWabPayRequest) GetQuitUrl() string { + if x != nil { + return x.QuitUrl + } + return "" +} + +func (x *AliPcWabPayRequest) GetReturnUrl() string { + if x != nil { + return x.ReturnUrl + } + return "" +} + +type AliPcWabPayResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PageRedirectionData string `protobuf:"bytes,1,opt,name=pageRedirectionData,json=page_redirection_data,proto3" json:"pageRedirectionData"` + Msg string `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg"` +} + +func (x *AliPcWabPayResponse) Reset() { + *x = AliPcWabPayResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliPcWabPayResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliPcWabPayResponse) ProtoMessage() {} + +func (x *AliPcWabPayResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AliPcWabPayResponse.ProtoReflect.Descriptor instead. +func (*AliPcWabPayResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{28} +} + +func (x *AliPcWabPayResponse) GetPageRedirectionData() string { + if x != nil { + return x.PageRedirectionData + } + return "" +} + +func (x *AliPcWabPayResponse) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type AliReFundRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OutTradeNo string `protobuf:"bytes,1,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` + TotalAmount int32 `protobuf:"varint,2,opt,name=totalAmount,json=total_amount,proto3" json:"totalAmount"` +} + +func (x *AliReFundRequest) Reset() { + *x = AliReFundRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliReFundRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliReFundRequest) ProtoMessage() {} + +func (x *AliReFundRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AliReFundRequest.ProtoReflect.Descriptor instead. +func (*AliReFundRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{29} +} + +func (x *AliReFundRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *AliReFundRequest) GetTotalAmount() int32 { + if x != nil { + return x.TotalAmount + } + return 0 +} + +type AliReFundResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TradeNo string `protobuf:"bytes,1,opt,name=tradeNo,json=trade_no,proto3" json:"tradeNo"` + OutTradeNo string `protobuf:"bytes,2,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` + BuyerLogonId string `protobuf:"bytes,3,opt,name=buyer_logon_id,proto3" json:"buyer_logon_id"` + RefundFee string `protobuf:"bytes,4,opt,name=refund_fee,proto3" json:"refund_fee"` + Msg string `protobuf:"bytes,5,opt,name=msg,proto3" json:"msg"` +} + +func (x *AliReFundResponse) Reset() { + *x = AliReFundResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliReFundResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliReFundResponse) ProtoMessage() {} + +func (x *AliReFundResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AliReFundResponse.ProtoReflect.Descriptor instead. +func (*AliReFundResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{30} +} + +func (x *AliReFundResponse) GetTradeNo() string { + if x != nil { + return x.TradeNo + } + return "" +} + +func (x *AliReFundResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *AliReFundResponse) GetBuyerLogonId() string { + if x != nil { + return x.BuyerLogonId + } + return "" +} + +func (x *AliReFundResponse) GetRefundFee() string { + if x != nil { + return x.RefundFee + } + return "" +} + +func (x *AliReFundResponse) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type AliNotifyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RawQuery string `protobuf:"bytes,1,opt,name=rawQuery,json=raw_query,proto3" json:"rawQuery"` +} + +func (x *AliNotifyRequest) Reset() { + *x = AliNotifyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliNotifyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliNotifyRequest) ProtoMessage() {} + +func (x *AliNotifyRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AliNotifyRequest.ProtoReflect.Descriptor instead. +func (*AliNotifyRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{31} +} + +func (x *AliNotifyRequest) GetRawQuery() string { + if x != nil { + return x.RawQuery + } + return "" +} + +type AliNotifyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NotifyTime string `protobuf:"bytes,1,opt,name=notifyTime,json=notify_time,proto3" json:"notifyTime"` + NotifyType string `protobuf:"bytes,2,opt,name=notifyType,json=notify_type,proto3" json:"notifyType"` + NotifyId string `protobuf:"bytes,3,opt,name=notifyId,json=notify_id,proto3" json:"notifyId"` + AppId string `protobuf:"bytes,4,opt,name=appId,json=app_id,proto3" json:"appId"` + Version string `protobuf:"bytes,5,opt,name=version,proto3" json:"version"` + SignType string `protobuf:"bytes,6,opt,name=signType,json=sign_type,proto3" json:"signType"` + Sign string `protobuf:"bytes,7,opt,name=sign,proto3" json:"sign"` + TradeNo string `protobuf:"bytes,8,opt,name=tradeNo,json=trade_no,proto3" json:"tradeNo"` + OutTradeNo string `protobuf:"bytes,9,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` + BuyerLogonId string `protobuf:"bytes,10,opt,name=buyerLogonId,json=buyer_logon_id,proto3" json:"buyerLogonId"` + BuyerId string `protobuf:"bytes,11,opt,name=buyerId,json=buyer_id,proto3" json:"buyerId"` + TradeStatus string `protobuf:"bytes,12,opt,name=tradeStatus,json=trade_status,proto3" json:"tradeStatus"` +} + +func (x *AliNotifyResponse) Reset() { + *x = AliNotifyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliNotifyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliNotifyResponse) ProtoMessage() {} + +func (x *AliNotifyResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[32] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AliNotifyResponse.ProtoReflect.Descriptor instead. +func (*AliNotifyResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{32} +} + +func (x *AliNotifyResponse) GetNotifyTime() string { + if x != nil { + return x.NotifyTime + } + return "" +} + +func (x *AliNotifyResponse) GetNotifyType() string { + if x != nil { + return x.NotifyType + } + return "" +} + +func (x *AliNotifyResponse) GetNotifyId() string { + if x != nil { + return x.NotifyId + } + return "" +} + +func (x *AliNotifyResponse) GetAppId() string { + if x != nil { + return x.AppId + } + return "" +} + +func (x *AliNotifyResponse) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *AliNotifyResponse) GetSignType() string { + if x != nil { + return x.SignType + } + return "" +} + +func (x *AliNotifyResponse) GetSign() string { + if x != nil { + return x.Sign + } + return "" +} + +func (x *AliNotifyResponse) GetTradeNo() string { + if x != nil { + return x.TradeNo + } + return "" +} + +func (x *AliNotifyResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *AliNotifyResponse) GetBuyerLogonId() string { + if x != nil { + return x.BuyerLogonId + } + return "" +} + +func (x *AliNotifyResponse) GetBuyerId() string { + if x != nil { + return x.BuyerId + } + return "" +} + +func (x *AliNotifyResponse) GetTradeStatus() string { + if x != nil { + return x.TradeStatus + } + return "" +} + +type AliQueryByOutTradeNoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OutTradeNo string `protobuf:"bytes,1,opt,name=outTradeNo,proto3" json:"outTradeNo"` +} + +func (x *AliQueryByOutTradeNoRequest) Reset() { + *x = AliQueryByOutTradeNoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliQueryByOutTradeNoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliQueryByOutTradeNoRequest) ProtoMessage() {} + +func (x *AliQueryByOutTradeNoRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[33] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AliQueryByOutTradeNoRequest.ProtoReflect.Descriptor instead. +func (*AliQueryByOutTradeNoRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{33} +} + +func (x *AliQueryByOutTradeNoRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +type AliQueryByOutTradeNoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TradeNo string `protobuf:"bytes,1,opt,name=tradeNo,json=trade_no,proto3" json:"tradeNo"` + OutTradeNo string `protobuf:"bytes,2,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` + BuyerLogonId string `protobuf:"bytes,3,opt,name=buyerLogonId,json=buyer_logon_id,proto3" json:"buyerLogonId"` + TradeStatus string `protobuf:"bytes,4,opt,name=tradeStatus,json=trade_status,proto3" json:"tradeStatus"` + TotalAmount string `protobuf:"bytes,5,opt,name=totalAmount,json=total_amount,proto3" json:"totalAmount"` + BuyerUserID string `protobuf:"bytes,6,opt,name=buyerUserID,json=buyer_user_id,proto3" json:"buyerUserID"` +} + +func (x *AliQueryByOutTradeNoResponse) Reset() { + *x = AliQueryByOutTradeNoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliQueryByOutTradeNoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliQueryByOutTradeNoResponse) ProtoMessage() {} + +func (x *AliQueryByOutTradeNoResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[34] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AliQueryByOutTradeNoResponse.ProtoReflect.Descriptor instead. +func (*AliQueryByOutTradeNoResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{34} +} + +func (x *AliQueryByOutTradeNoResponse) GetTradeNo() string { + if x != nil { + return x.TradeNo + } + return "" +} + +func (x *AliQueryByOutTradeNoResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *AliQueryByOutTradeNoResponse) GetBuyerLogonId() string { + if x != nil { + return x.BuyerLogonId + } + return "" +} + +func (x *AliQueryByOutTradeNoResponse) GetTradeStatus() string { + if x != nil { + return x.TradeStatus + } + return "" +} + +func (x *AliQueryByOutTradeNoResponse) GetTotalAmount() string { + if x != nil { + return x.TotalAmount + } + return "" +} + +func (x *AliQueryByOutTradeNoResponse) GetBuyerUserID() string { + if x != nil { + return x.BuyerUserID + } + return "" +} + +type AliRefundQueryByOutTradeNoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OutTradeNo string `protobuf:"bytes,1,opt,name=outTradeNo,proto3" json:"outTradeNo"` +} + +func (x *AliRefundQueryByOutTradeNoRequest) Reset() { + *x = AliRefundQueryByOutTradeNoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliRefundQueryByOutTradeNoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliRefundQueryByOutTradeNoRequest) ProtoMessage() {} + +func (x *AliRefundQueryByOutTradeNoRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[35] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AliRefundQueryByOutTradeNoRequest.ProtoReflect.Descriptor instead. +func (*AliRefundQueryByOutTradeNoRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{35} +} + +func (x *AliRefundQueryByOutTradeNoRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +type AliRefundQueryByOutTradeNoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TradeNo string `protobuf:"bytes,1,opt,name=tradeNo,json=trade_no,proto3" json:"tradeNo"` + OutTradeNo string `protobuf:"bytes,2,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` + OutRequestNo string `protobuf:"bytes,3,opt,name=out_request_no,proto3" json:"out_request_no"` + TotalAmount string `protobuf:"bytes,4,opt,name=total_amount,proto3" json:"total_amount"` + RefundAmount string `protobuf:"bytes,5,opt,name=refund_amount,proto3" json:"refund_amount"` + RefundStatus string `protobuf:"bytes,6,opt,name=refund_status,proto3" json:"refund_status"` +} + +func (x *AliRefundQueryByOutTradeNoResponse) Reset() { + *x = AliRefundQueryByOutTradeNoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AliRefundQueryByOutTradeNoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AliRefundQueryByOutTradeNoResponse) ProtoMessage() {} + +func (x *AliRefundQueryByOutTradeNoResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AliRefundQueryByOutTradeNoResponse.ProtoReflect.Descriptor instead. +func (*AliRefundQueryByOutTradeNoResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{36} +} + +func (x *AliRefundQueryByOutTradeNoResponse) GetTradeNo() string { + if x != nil { + return x.TradeNo + } + return "" +} + +func (x *AliRefundQueryByOutTradeNoResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *AliRefundQueryByOutTradeNoResponse) GetOutRequestNo() string { + if x != nil { + return x.OutRequestNo + } + return "" +} + +func (x *AliRefundQueryByOutTradeNoResponse) GetTotalAmount() string { + if x != nil { + return x.TotalAmount + } + return "" +} + +func (x *AliRefundQueryByOutTradeNoResponse) GetRefundAmount() string { + if x != nil { + return x.RefundAmount + } + return "" +} + +func (x *AliRefundQueryByOutTradeNoResponse) GetRefundStatus() string { + if x != nil { + return x.RefundStatus + } + return "" +} + +type WechatJsApiPayRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Description string `protobuf:"bytes,1,opt,name=Description,json=description,proto3" json:"Description"` + OutTradeNo string `protobuf:"bytes,2,opt,name=OutTradeNo,json=outTradeNo,proto3" json:"OutTradeNo"` + Cent int64 `protobuf:"varint,3,opt,name=Cent,json=cent,proto3" json:"Cent"` + OpenID string `protobuf:"bytes,4,opt,name=OpenID,json=openID,proto3" json:"OpenID"` + NotifyUrl string `protobuf:"bytes,5,opt,name=NotifyUrl,json=notifyUrl,proto3" json:"NotifyUrl"` + AppID string `protobuf:"bytes,6,opt,name=AppID,json=appID,proto3" json:"AppID"` + ClientIP string `protobuf:"bytes,7,opt,name=ClientIP,proto3" json:"ClientIP"` + RecordId uint32 `protobuf:"varint,9,opt,name=recordId,proto3" json:"recordId"` + Domain string `protobuf:"bytes,10,opt,name=domain,proto3" json:"domain"` + Platform string `protobuf:"bytes,11,opt,name=platform,proto3" json:"platform"` + Scene string `protobuf:"bytes,12,opt,name=scene,proto3" json:"scene"` + TimeExpire int32 `protobuf:"varint,13,opt,name=timeExpire,json=time_expire,proto3" json:"timeExpire"` +} + +func (x *WechatJsApiPayRequest) Reset() { + *x = WechatJsApiPayRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatJsApiPayRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatJsApiPayRequest) ProtoMessage() {} + +func (x *WechatJsApiPayRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[37] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WechatJsApiPayRequest.ProtoReflect.Descriptor instead. +func (*WechatJsApiPayRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{37} +} + +func (x *WechatJsApiPayRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *WechatJsApiPayRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *WechatJsApiPayRequest) GetCent() int64 { + if x != nil { + return x.Cent + } + return 0 +} + +func (x *WechatJsApiPayRequest) GetOpenID() string { + if x != nil { + return x.OpenID + } + return "" +} + +func (x *WechatJsApiPayRequest) GetNotifyUrl() string { + if x != nil { + return x.NotifyUrl + } + return "" +} + +func (x *WechatJsApiPayRequest) GetAppID() string { + if x != nil { + return x.AppID + } + return "" +} + +func (x *WechatJsApiPayRequest) GetClientIP() string { + if x != nil { + return x.ClientIP + } + return "" +} + +func (x *WechatJsApiPayRequest) GetRecordId() uint32 { + if x != nil { + return x.RecordId + } + return 0 +} + +func (x *WechatJsApiPayRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *WechatJsApiPayRequest) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *WechatJsApiPayRequest) GetScene() string { + if x != nil { + return x.Scene + } + return "" +} + +func (x *WechatJsApiPayRequest) GetTimeExpire() int32 { + if x != nil { + return x.TimeExpire + } + return 0 +} + +type WechatJsApiPayResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Appid string `protobuf:"bytes,1,opt,name=Appid,json=appid,proto3" json:"Appid"` + TimeStamp string `protobuf:"bytes,2,opt,name=TimeStamp,json=timeStamp,proto3" json:"TimeStamp"` + Package string `protobuf:"bytes,3,opt,name=Package,json=package,proto3" json:"Package"` + SignType string `protobuf:"bytes,4,opt,name=SignType,json=signType,proto3" json:"SignType"` + NonceStr string `protobuf:"bytes,5,opt,name=NonceStr,json=nonceStr,proto3" json:"NonceStr"` + PaySign string `protobuf:"bytes,6,opt,name=PaySign,json=paySign,proto3" json:"PaySign"` + PrepayId string `protobuf:"bytes,7,opt,name=PrepayId,json=prepayId,proto3" json:"PrepayId"` +} + +func (x *WechatJsApiPayResponse) Reset() { + *x = WechatJsApiPayResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatJsApiPayResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatJsApiPayResponse) ProtoMessage() {} + +func (x *WechatJsApiPayResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[38] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WechatJsApiPayResponse.ProtoReflect.Descriptor instead. +func (*WechatJsApiPayResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{38} +} + +func (x *WechatJsApiPayResponse) GetAppid() string { + if x != nil { + return x.Appid + } + return "" +} + +func (x *WechatJsApiPayResponse) GetTimeStamp() string { + if x != nil { + return x.TimeStamp + } + return "" +} + +func (x *WechatJsApiPayResponse) GetPackage() string { + if x != nil { + return x.Package + } + return "" +} + +func (x *WechatJsApiPayResponse) GetSignType() string { + if x != nil { + return x.SignType + } + return "" +} + +func (x *WechatJsApiPayResponse) GetNonceStr() string { + if x != nil { + return x.NonceStr + } + return "" +} + +func (x *WechatJsApiPayResponse) GetPaySign() string { + if x != nil { + return x.PaySign + } + return "" +} + +func (x *WechatJsApiPayResponse) GetPrepayId() string { + if x != nil { + return x.PrepayId + } + return "" +} + +type WechatAppPayResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Appid string `protobuf:"bytes,1,opt,name=Appid,json=appid,proto3" json:"Appid"` + TimeStamp string `protobuf:"bytes,2,opt,name=TimeStamp,json=timeStamp,proto3" json:"TimeStamp"` + Package string `protobuf:"bytes,3,opt,name=Package,json=package,proto3" json:"Package"` + SignType string `protobuf:"bytes,4,opt,name=SignType,json=signType,proto3" json:"SignType"` + NonceStr string `protobuf:"bytes,5,opt,name=NonceStr,json=nonceStr,proto3" json:"NonceStr"` + PaySign string `protobuf:"bytes,6,opt,name=PaySign,json=paySign,proto3" json:"PaySign"` + PrepayId string `protobuf:"bytes,7,opt,name=PrepayId,json=prepayId,proto3" json:"PrepayId"` + PartnerId string `protobuf:"bytes,8,opt,name=PartnerId,json=partnerId,proto3" json:"PartnerId"` + Msg string `protobuf:"bytes,9,opt,name=msg,proto3" json:"msg"` +} + +func (x *WechatAppPayResponse) Reset() { + *x = WechatAppPayResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatAppPayResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatAppPayResponse) ProtoMessage() {} + +func (x *WechatAppPayResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[39] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WechatAppPayResponse.ProtoReflect.Descriptor instead. +func (*WechatAppPayResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{39} +} + +func (x *WechatAppPayResponse) GetAppid() string { + if x != nil { + return x.Appid + } + return "" +} + +func (x *WechatAppPayResponse) GetTimeStamp() string { + if x != nil { + return x.TimeStamp + } + return "" +} + +func (x *WechatAppPayResponse) GetPackage() string { + if x != nil { + return x.Package + } + return "" +} + +func (x *WechatAppPayResponse) GetSignType() string { + if x != nil { + return x.SignType + } + return "" +} + +func (x *WechatAppPayResponse) GetNonceStr() string { + if x != nil { + return x.NonceStr + } + return "" +} + +func (x *WechatAppPayResponse) GetPaySign() string { + if x != nil { + return x.PaySign + } + return "" +} + +func (x *WechatAppPayResponse) GetPrepayId() string { + if x != nil { + return x.PrepayId + } + return "" +} + +func (x *WechatAppPayResponse) GetPartnerId() string { + if x != nil { + return x.PartnerId + } + return "" +} + +func (x *WechatAppPayResponse) GetMsg() string { + if x != nil { + return x.Msg + } + return "" +} + +type WechatJsApiQueryByOutTradeNoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OutTradeNo string `protobuf:"bytes,1,opt,name=outTradeNo,proto3" json:"outTradeNo"` +} + +func (x *WechatJsApiQueryByOutTradeNoRequest) Reset() { + *x = WechatJsApiQueryByOutTradeNoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatJsApiQueryByOutTradeNoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatJsApiQueryByOutTradeNoRequest) ProtoMessage() {} + +func (x *WechatJsApiQueryByOutTradeNoRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[40] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WechatJsApiQueryByOutTradeNoRequest.ProtoReflect.Descriptor instead. +func (*WechatJsApiQueryByOutTradeNoRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{40} +} + +func (x *WechatJsApiQueryByOutTradeNoRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +type WechatJsApiQueryByOutTradeNoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AppID string `protobuf:"bytes,1,opt,name=appID,proto3" json:"appID"` + MchID string `protobuf:"bytes,2,opt,name=mchID,json=mch_id,proto3" json:"mchID"` + OutTradeNo string `protobuf:"bytes,3,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` + TransactionId string `protobuf:"bytes,4,opt,name=transactionId,json=transaction_id,proto3" json:"transactionId"` + TradeType string `protobuf:"bytes,5,opt,name=tradeType,json=trade_type,proto3" json:"tradeType"` + TradeState string `protobuf:"bytes,6,opt,name=tradeState,json=trade_state,proto3" json:"tradeState"` + BankType string `protobuf:"bytes,7,opt,name=bankType,json=bank_ype,proto3" json:"bankType"` + SuccessTime string `protobuf:"bytes,8,opt,name=successTime,json=success_time,proto3" json:"successTime"` + OpenID string `protobuf:"bytes,9,opt,name=openID,json=open_id,proto3" json:"openID"` + Total int32 `protobuf:"varint,10,opt,name=total,proto3" json:"total"` +} + +func (x *WechatJsApiQueryByOutTradeNoResponse) Reset() { + *x = WechatJsApiQueryByOutTradeNoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatJsApiQueryByOutTradeNoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatJsApiQueryByOutTradeNoResponse) ProtoMessage() {} + +func (x *WechatJsApiQueryByOutTradeNoResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[41] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WechatJsApiQueryByOutTradeNoResponse.ProtoReflect.Descriptor instead. +func (*WechatJsApiQueryByOutTradeNoResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{41} +} + +func (x *WechatJsApiQueryByOutTradeNoResponse) GetAppID() string { + if x != nil { + return x.AppID + } + return "" +} + +func (x *WechatJsApiQueryByOutTradeNoResponse) GetMchID() string { + if x != nil { + return x.MchID + } + return "" +} + +func (x *WechatJsApiQueryByOutTradeNoResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *WechatJsApiQueryByOutTradeNoResponse) GetTransactionId() string { + if x != nil { + return x.TransactionId + } + return "" +} + +func (x *WechatJsApiQueryByOutTradeNoResponse) GetTradeType() string { + if x != nil { + return x.TradeType + } + return "" +} + +func (x *WechatJsApiQueryByOutTradeNoResponse) GetTradeState() string { + if x != nil { + return x.TradeState + } + return "" +} + +func (x *WechatJsApiQueryByOutTradeNoResponse) GetBankType() string { + if x != nil { + return x.BankType + } + return "" +} + +func (x *WechatJsApiQueryByOutTradeNoResponse) GetSuccessTime() string { + if x != nil { + return x.SuccessTime + } + return "" +} + +func (x *WechatJsApiQueryByOutTradeNoResponse) GetOpenID() string { + if x != nil { + return x.OpenID + } + return "" +} + +func (x *WechatJsApiQueryByOutTradeNoResponse) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 +} + +type WechatAppQueryByOutTradeNoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OutTradeNo string `protobuf:"bytes,1,opt,name=outTradeNo,proto3" json:"outTradeNo"` +} + +func (x *WechatAppQueryByOutTradeNoRequest) Reset() { + *x = WechatAppQueryByOutTradeNoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatAppQueryByOutTradeNoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatAppQueryByOutTradeNoRequest) ProtoMessage() {} + +func (x *WechatAppQueryByOutTradeNoRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[42] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WechatAppQueryByOutTradeNoRequest.ProtoReflect.Descriptor instead. +func (*WechatAppQueryByOutTradeNoRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{42} +} + +func (x *WechatAppQueryByOutTradeNoRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +type WechatAppQueryByOutTradeNoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AppID string `protobuf:"bytes,1,opt,name=appID,proto3" json:"appID"` // 服务提供商的应用ID + MchID string `protobuf:"bytes,2,opt,name=mchID,json=mch_id,proto3" json:"mchID"` // 服务商商户ID + // string subAppId = 3 [json_name = "sub_appid"]; // 子应用ID + // string subMchId = 4 [json_name = "sub_mchid"];// 子商户ID + OutTradeNo string `protobuf:"bytes,5,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` // 订单号 + TransactionId string `protobuf:"bytes,6,opt,name=transactionId,json=transaction_id,proto3" json:"transactionId"` // 微信交易ID + TradeType string `protobuf:"bytes,7,opt,name=tradeType,json=trade_type,proto3" json:"tradeType"` // 交易类型 + TradeState string `protobuf:"bytes,8,opt,name=tradeState,json=trade_state,proto3" json:"tradeState"` // 交易状态 + TradeStateDesc string `protobuf:"bytes,9,opt,name=tradeStateDesc,json=trade_state_desc,proto3" json:"tradeStateDesc"` // 交易状态描述 + BankType string `protobuf:"bytes,10,opt,name=bankType,json=bank_type,proto3" json:"bankType"` // 银行类型 + Attach string `protobuf:"bytes,11,opt,name=attach,proto3" json:"attach"` // 附加数据 + SuccessTime string `protobuf:"bytes,12,opt,name=successTime,json=success_time,proto3" json:"successTime"` // 支付成功时间 + // 包含促销详情列表 + PromotionDetail []*WechatAppQueryByOutTradeNoResponse_PromotionDetail `protobuf:"bytes,13,rep,name=promotionDetail,json=promotion_detail,proto3" json:"promotionDetail"` + // 付款人信息 + Payer *WechatAppQueryByOutTradeNoResponse_Payer `protobuf:"bytes,14,opt,name=payer,proto3" json:"payer"` + // 金额信息 + Amount *WechatAppQueryByOutTradeNoResponse_Amount `protobuf:"bytes,15,opt,name=amount,proto3" json:"amount"` +} + +func (x *WechatAppQueryByOutTradeNoResponse) Reset() { + *x = WechatAppQueryByOutTradeNoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatAppQueryByOutTradeNoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatAppQueryByOutTradeNoResponse) ProtoMessage() {} + +func (x *WechatAppQueryByOutTradeNoResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[43] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WechatAppQueryByOutTradeNoResponse.ProtoReflect.Descriptor instead. +func (*WechatAppQueryByOutTradeNoResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{43} +} + +func (x *WechatAppQueryByOutTradeNoResponse) GetAppID() string { + if x != nil { + return x.AppID + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse) GetMchID() string { + if x != nil { + return x.MchID + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse) GetTransactionId() string { + if x != nil { + return x.TransactionId + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse) GetTradeType() string { + if x != nil { + return x.TradeType + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse) GetTradeState() string { + if x != nil { + return x.TradeState + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse) GetTradeStateDesc() string { + if x != nil { + return x.TradeStateDesc + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse) GetBankType() string { + if x != nil { + return x.BankType + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse) GetAttach() string { + if x != nil { + return x.Attach + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse) GetSuccessTime() string { + if x != nil { + return x.SuccessTime + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse) GetPromotionDetail() []*WechatAppQueryByOutTradeNoResponse_PromotionDetail { + if x != nil { + return x.PromotionDetail + } + return nil +} + +func (x *WechatAppQueryByOutTradeNoResponse) GetPayer() *WechatAppQueryByOutTradeNoResponse_Payer { + if x != nil { + return x.Payer + } + return nil +} + +func (x *WechatAppQueryByOutTradeNoResponse) GetAmount() *WechatAppQueryByOutTradeNoResponse_Amount { + if x != nil { + return x.Amount + } + return nil +} + +type GetPayByOutTradeNoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OutTradeNo string `protobuf:"bytes,4,opt,name=OutTradeNo,proto3" json:"OutTradeNo"` +} + +func (x *GetPayByOutTradeNoRequest) Reset() { + *x = GetPayByOutTradeNoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPayByOutTradeNoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPayByOutTradeNoRequest) ProtoMessage() {} + +func (x *GetPayByOutTradeNoRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[44] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPayByOutTradeNoRequest.ProtoReflect.Descriptor instead. +func (*GetPayByOutTradeNoRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{44} +} + +func (x *GetPayByOutTradeNoRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +type GetPayByOutTradeNoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OutTradeNo string `protobuf:"bytes,1,opt,name=outTradeNo,proto3" json:"outTradeNo"` + RecordId uint32 `protobuf:"varint,2,opt,name=recordId,proto3" json:"recordId"` + Cent string `protobuf:"bytes,3,opt,name=cent,proto3" json:"cent"` + Platform string `protobuf:"bytes,4,opt,name=platform,proto3" json:"platform"` + Domain string `protobuf:"bytes,5,opt,name=domain,proto3" json:"domain"` + Scene string `protobuf:"bytes,6,opt,name=scene,proto3" json:"scene"` +} + +func (x *GetPayByOutTradeNoResponse) Reset() { + *x = GetPayByOutTradeNoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetPayByOutTradeNoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetPayByOutTradeNoResponse) ProtoMessage() {} + +func (x *GetPayByOutTradeNoResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[45] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetPayByOutTradeNoResponse.ProtoReflect.Descriptor instead. +func (*GetPayByOutTradeNoResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{45} +} + +func (x *GetPayByOutTradeNoResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *GetPayByOutTradeNoResponse) GetRecordId() uint32 { + if x != nil { + return x.RecordId + } + return 0 +} + +func (x *GetPayByOutTradeNoResponse) GetCent() string { + if x != nil { + return x.Cent + } + return "" +} + +func (x *GetPayByOutTradeNoResponse) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *GetPayByOutTradeNoResponse) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *GetPayByOutTradeNoResponse) GetScene() string { + if x != nil { + return x.Scene + } + return "" +} + +type WechatJsApiRefundsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RefundId string `protobuf:"bytes,1,opt,name=RefundId,proto3" json:"RefundId"` + OutRefundNo string `protobuf:"bytes,2,opt,name=OutRefundNo,proto3" json:"OutRefundNo"` + TransactionId string `protobuf:"bytes,3,opt,name=TransactionId,proto3" json:"TransactionId"` + OutTradeNo string `protobuf:"bytes,4,opt,name=OutTradeNo,proto3" json:"OutTradeNo"` + SuccessTime string `protobuf:"bytes,5,opt,name=SuccessTime,proto3" json:"SuccessTime"` + CreateTime string `protobuf:"bytes,6,opt,name=CreateTime,proto3" json:"CreateTime"` + Status string `protobuf:"bytes,7,opt,name=Status,proto3" json:"Status"` + Amount string `protobuf:"bytes,8,opt,name=Amount,proto3" json:"Amount"` +} + +func (x *WechatJsApiRefundsResponse) Reset() { + *x = WechatJsApiRefundsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatJsApiRefundsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatJsApiRefundsResponse) ProtoMessage() {} + +func (x *WechatJsApiRefundsResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[46] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WechatJsApiRefundsResponse.ProtoReflect.Descriptor instead. +func (*WechatJsApiRefundsResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{46} +} + +func (x *WechatJsApiRefundsResponse) GetRefundId() string { + if x != nil { + return x.RefundId + } + return "" +} + +func (x *WechatJsApiRefundsResponse) GetOutRefundNo() string { + if x != nil { + return x.OutRefundNo + } + return "" +} + +func (x *WechatJsApiRefundsResponse) GetTransactionId() string { + if x != nil { + return x.TransactionId + } + return "" +} + +func (x *WechatJsApiRefundsResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *WechatJsApiRefundsResponse) GetSuccessTime() string { + if x != nil { + return x.SuccessTime + } + return "" +} + +func (x *WechatJsApiRefundsResponse) GetCreateTime() string { + if x != nil { + return x.CreateTime + } + return "" +} + +func (x *WechatJsApiRefundsResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *WechatJsApiRefundsResponse) GetAmount() string { + if x != nil { + return x.Amount + } + return "" +} + +type WechatNativePayRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description"` + OutTradeNo string `protobuf:"bytes,2,opt,name=outTradeNo,proto3" json:"outTradeNo"` + Cent int32 `protobuf:"varint,3,opt,name=cent,proto3" json:"cent"` + NotifyUrl string `protobuf:"bytes,5,opt,name=notifyUrl,proto3" json:"notifyUrl"` + AppID string `protobuf:"bytes,6,opt,name=appID,proto3" json:"appID"` + ClientIP string `protobuf:"bytes,7,opt,name=clientIP,json=ClientIP,proto3" json:"clientIP"` + RecordId uint32 `protobuf:"varint,8,opt,name=recordId,proto3" json:"recordId"` + Domain string `protobuf:"bytes,9,opt,name=domain,proto3" json:"domain"` + Platform string `protobuf:"bytes,10,opt,name=platform,proto3" json:"platform"` + Scene string `protobuf:"bytes,11,opt,name=scene,proto3" json:"scene"` + TimeExpire int32 `protobuf:"varint,12,opt,name=timeExpire,json=time_expire,proto3" json:"timeExpire"` +} + +func (x *WechatNativePayRequest) Reset() { + *x = WechatNativePayRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatNativePayRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatNativePayRequest) ProtoMessage() {} + +func (x *WechatNativePayRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[47] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WechatNativePayRequest.ProtoReflect.Descriptor instead. +func (*WechatNativePayRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{47} +} + +func (x *WechatNativePayRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *WechatNativePayRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *WechatNativePayRequest) GetCent() int32 { + if x != nil { + return x.Cent + } + return 0 +} + +func (x *WechatNativePayRequest) GetNotifyUrl() string { + if x != nil { + return x.NotifyUrl + } + return "" +} + +func (x *WechatNativePayRequest) GetAppID() string { + if x != nil { + return x.AppID + } + return "" +} + +func (x *WechatNativePayRequest) GetClientIP() string { + if x != nil { + return x.ClientIP + } + return "" +} + +func (x *WechatNativePayRequest) GetRecordId() uint32 { + if x != nil { + return x.RecordId + } + return 0 +} + +func (x *WechatNativePayRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *WechatNativePayRequest) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *WechatNativePayRequest) GetScene() string { + if x != nil { + return x.Scene + } + return "" +} + +func (x *WechatNativePayRequest) GetTimeExpire() int32 { + if x != nil { + return x.TimeExpire + } + return 0 +} + +type WechatNativePayResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CodeUrl string `protobuf:"bytes,1,opt,name=codeUrl,json=code_url,proto3" json:"codeUrl"` +} + +func (x *WechatNativePayResponse) Reset() { + *x = WechatNativePayResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatNativePayResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatNativePayResponse) ProtoMessage() {} + +func (x *WechatNativePayResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[48] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WechatNativePayResponse.ProtoReflect.Descriptor instead. +func (*WechatNativePayResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{48} +} + +func (x *WechatNativePayResponse) GetCodeUrl() string { + if x != nil { + return x.CodeUrl + } + return "" +} + +type WechatNativeQueryByOutTradeNoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OutTradeNo string `protobuf:"bytes,1,opt,name=outTradeNo,proto3" json:"outTradeNo"` +} + +func (x *WechatNativeQueryByOutTradeNoRequest) Reset() { + *x = WechatNativeQueryByOutTradeNoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatNativeQueryByOutTradeNoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatNativeQueryByOutTradeNoRequest) ProtoMessage() {} + +func (x *WechatNativeQueryByOutTradeNoRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[49] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WechatNativeQueryByOutTradeNoRequest.ProtoReflect.Descriptor instead. +func (*WechatNativeQueryByOutTradeNoRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{49} +} + +func (x *WechatNativeQueryByOutTradeNoRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +type WechatRefundQueryByOutRefundNoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OutRefundNo string `protobuf:"bytes,1,opt,name=outRefundNo,json=out_refund_no,proto3" json:"outRefundNo"` +} + +func (x *WechatRefundQueryByOutRefundNoRequest) Reset() { + *x = WechatRefundQueryByOutRefundNoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatRefundQueryByOutRefundNoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatRefundQueryByOutRefundNoRequest) ProtoMessage() {} + +func (x *WechatRefundQueryByOutRefundNoRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[50] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WechatRefundQueryByOutRefundNoRequest.ProtoReflect.Descriptor instead. +func (*WechatRefundQueryByOutRefundNoRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{50} +} + +func (x *WechatRefundQueryByOutRefundNoRequest) GetOutRefundNo() string { + if x != nil { + return x.OutRefundNo + } + return "" +} + +type WechatRefundQueryByOutRefundNoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RefundId string `protobuf:"bytes,1,opt,name=refundId,json=refund_id,proto3" json:"refundId"` + OutRefundNo string `protobuf:"bytes,2,opt,name=outRefundNo,json=out_refund_no,proto3" json:"outRefundNo"` + TransactionId string `protobuf:"bytes,3,opt,name=transactionId,json=transaction_id,proto3" json:"transactionId"` + OutTradeNo string `protobuf:"bytes,4,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` + Channel string `protobuf:"bytes,5,opt,name=channel,proto3" json:"channel"` + UserReceivedAccount string `protobuf:"bytes,6,opt,name=userReceivedAccount,json=user_received_account,proto3" json:"userReceivedAccount"` + SuccessTime string `protobuf:"bytes,7,opt,name=successTime,json=success_time,proto3" json:"successTime"` + CreateTime string `protobuf:"bytes,8,opt,name=createTime,json=create_time,proto3" json:"createTime"` + Status string `protobuf:"bytes,9,opt,name=status,proto3" json:"status"` + Total int32 `protobuf:"varint,10,opt,name=total,proto3" json:"total"` +} + +func (x *WechatRefundQueryByOutRefundNoResponse) Reset() { + *x = WechatRefundQueryByOutRefundNoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatRefundQueryByOutRefundNoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatRefundQueryByOutRefundNoResponse) ProtoMessage() {} + +func (x *WechatRefundQueryByOutRefundNoResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[51] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WechatRefundQueryByOutRefundNoResponse.ProtoReflect.Descriptor instead. +func (*WechatRefundQueryByOutRefundNoResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{51} +} + +func (x *WechatRefundQueryByOutRefundNoResponse) GetRefundId() string { + if x != nil { + return x.RefundId + } + return "" +} + +func (x *WechatRefundQueryByOutRefundNoResponse) GetOutRefundNo() string { + if x != nil { + return x.OutRefundNo + } + return "" +} + +func (x *WechatRefundQueryByOutRefundNoResponse) GetTransactionId() string { + if x != nil { + return x.TransactionId + } + return "" +} + +func (x *WechatRefundQueryByOutRefundNoResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *WechatRefundQueryByOutRefundNoResponse) GetChannel() string { + if x != nil { + return x.Channel + } + return "" +} + +func (x *WechatRefundQueryByOutRefundNoResponse) GetUserReceivedAccount() string { + if x != nil { + return x.UserReceivedAccount + } + return "" +} + +func (x *WechatRefundQueryByOutRefundNoResponse) GetSuccessTime() string { + if x != nil { + return x.SuccessTime + } + return "" +} + +func (x *WechatRefundQueryByOutRefundNoResponse) GetCreateTime() string { + if x != nil { + return x.CreateTime + } + return "" +} + +func (x *WechatRefundQueryByOutRefundNoResponse) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *WechatRefundQueryByOutRefundNoResponse) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 +} + +type WechatNativeQueryByOutTradeNoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AppID string `protobuf:"bytes,1,opt,name=appID,proto3" json:"appID"` + MchID string `protobuf:"bytes,2,opt,name=mchID,json=mch_id,proto3" json:"mchID"` + OutTradeNo string `protobuf:"bytes,3,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` + TransactionId string `protobuf:"bytes,4,opt,name=transactionId,json=transaction_id,proto3" json:"transactionId"` + TradeType string `protobuf:"bytes,5,opt,name=tradeType,json=trade_type,proto3" json:"tradeType"` + TradeState string `protobuf:"bytes,6,opt,name=tradeState,json=trade_state,proto3" json:"tradeState"` + BankType string `protobuf:"bytes,7,opt,name=bankType,json=bank_ype,proto3" json:"bankType"` + SuccessTime string `protobuf:"bytes,8,opt,name=successTime,json=success_time,proto3" json:"successTime"` + OpenID string `protobuf:"bytes,9,opt,name=openID,json=open_id,proto3" json:"openID"` + Total int32 `protobuf:"varint,10,opt,name=total,proto3" json:"total"` +} + +func (x *WechatNativeQueryByOutTradeNoResponse) Reset() { + *x = WechatNativeQueryByOutTradeNoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatNativeQueryByOutTradeNoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatNativeQueryByOutTradeNoResponse) ProtoMessage() {} + +func (x *WechatNativeQueryByOutTradeNoResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[52] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WechatNativeQueryByOutTradeNoResponse.ProtoReflect.Descriptor instead. +func (*WechatNativeQueryByOutTradeNoResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{52} +} + +func (x *WechatNativeQueryByOutTradeNoResponse) GetAppID() string { + if x != nil { + return x.AppID + } + return "" +} + +func (x *WechatNativeQueryByOutTradeNoResponse) GetMchID() string { + if x != nil { + return x.MchID + } + return "" +} + +func (x *WechatNativeQueryByOutTradeNoResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *WechatNativeQueryByOutTradeNoResponse) GetTransactionId() string { + if x != nil { + return x.TransactionId + } + return "" +} + +func (x *WechatNativeQueryByOutTradeNoResponse) GetTradeType() string { + if x != nil { + return x.TradeType + } + return "" +} + +func (x *WechatNativeQueryByOutTradeNoResponse) GetTradeState() string { + if x != nil { + return x.TradeState + } + return "" +} + +func (x *WechatNativeQueryByOutTradeNoResponse) GetBankType() string { + if x != nil { + return x.BankType + } + return "" +} + +func (x *WechatNativeQueryByOutTradeNoResponse) GetSuccessTime() string { + if x != nil { + return x.SuccessTime + } + return "" +} + +func (x *WechatNativeQueryByOutTradeNoResponse) GetOpenID() string { + if x != nil { + return x.OpenID + } + return "" +} + +func (x *WechatNativeQueryByOutTradeNoResponse) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 +} + +type WechatAppPayRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Description string `protobuf:"bytes,1,opt,name=Description,json=description,proto3" json:"Description"` + OutTradeNo string `protobuf:"bytes,2,opt,name=OutTradeNo,json=outTradeNo,proto3" json:"OutTradeNo"` + Cent int64 `protobuf:"varint,3,opt,name=Cent,json=cent,proto3" json:"Cent"` + OpenID string `protobuf:"bytes,4,opt,name=OpenID,json=openID,proto3" json:"OpenID"` + NotifyUrl string `protobuf:"bytes,5,opt,name=NotifyUrl,json=notifyUrl,proto3" json:"NotifyUrl"` + AppID string `protobuf:"bytes,6,opt,name=AppID,json=appID,proto3" json:"AppID"` + ClientIP string `protobuf:"bytes,7,opt,name=ClientIP,proto3" json:"ClientIP"` + RecordId uint32 `protobuf:"varint,9,opt,name=recordId,proto3" json:"recordId"` + Domain string `protobuf:"bytes,10,opt,name=domain,proto3" json:"domain"` + Platform string `protobuf:"bytes,11,opt,name=platform,proto3" json:"platform"` + Scene string `protobuf:"bytes,12,opt,name=scene,proto3" json:"scene"` + TimeExpire int32 `protobuf:"varint,13,opt,name=timeExpire,json=time_expire,proto3" json:"timeExpire"` +} + +func (x *WechatAppPayRequest) Reset() { + *x = WechatAppPayRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatAppPayRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatAppPayRequest) ProtoMessage() {} + +func (x *WechatAppPayRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[53] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WechatAppPayRequest.ProtoReflect.Descriptor instead. +func (*WechatAppPayRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{53} +} + +func (x *WechatAppPayRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *WechatAppPayRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *WechatAppPayRequest) GetCent() int64 { + if x != nil { + return x.Cent + } + return 0 +} + +func (x *WechatAppPayRequest) GetOpenID() string { + if x != nil { + return x.OpenID + } + return "" +} + +func (x *WechatAppPayRequest) GetNotifyUrl() string { + if x != nil { + return x.NotifyUrl + } + return "" +} + +func (x *WechatAppPayRequest) GetAppID() string { + if x != nil { + return x.AppID + } + return "" +} + +func (x *WechatAppPayRequest) GetClientIP() string { + if x != nil { + return x.ClientIP + } + return "" +} + +func (x *WechatAppPayRequest) GetRecordId() uint32 { + if x != nil { + return x.RecordId + } + return 0 +} + +func (x *WechatAppPayRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *WechatAppPayRequest) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *WechatAppPayRequest) GetScene() string { + if x != nil { + return x.Scene + } + return "" +} + +func (x *WechatAppPayRequest) GetTimeExpire() int32 { + if x != nil { + return x.TimeExpire + } + return 0 +} + +type WechatJsApiRefundsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Reason string `protobuf:"bytes,1,opt,name=Reason,proto3" json:"Reason"` + OutTradeNo string `protobuf:"bytes,2,opt,name=OutTradeNo,proto3" json:"OutTradeNo"` + OutRefundNo string `protobuf:"bytes,3,opt,name=OutRefundNo,proto3" json:"OutRefundNo"` + NotifyUrl string `protobuf:"bytes,4,opt,name=NotifyUrl,proto3" json:"NotifyUrl"` + Cent int64 `protobuf:"varint,5,opt,name=Cent,proto3" json:"Cent"` + OpenID string `protobuf:"bytes,6,opt,name=OpenID,proto3" json:"OpenID"` + Total int64 `protobuf:"varint,7,opt,name=Total,proto3" json:"Total"` +} + +func (x *WechatJsApiRefundsRequest) Reset() { + *x = WechatJsApiRefundsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatJsApiRefundsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatJsApiRefundsRequest) ProtoMessage() {} + +func (x *WechatJsApiRefundsRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[54] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WechatJsApiRefundsRequest.ProtoReflect.Descriptor instead. +func (*WechatJsApiRefundsRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{54} +} + +func (x *WechatJsApiRefundsRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *WechatJsApiRefundsRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *WechatJsApiRefundsRequest) GetOutRefundNo() string { + if x != nil { + return x.OutRefundNo + } + return "" +} + +func (x *WechatJsApiRefundsRequest) GetNotifyUrl() string { + if x != nil { + return x.NotifyUrl + } + return "" +} + +func (x *WechatJsApiRefundsRequest) GetCent() int64 { + if x != nil { + return x.Cent + } + return 0 +} + +func (x *WechatJsApiRefundsRequest) GetOpenID() string { + if x != nil { + return x.OpenID + } + return "" +} + +func (x *WechatJsApiRefundsRequest) GetTotal() int64 { + if x != nil { + return x.Total + } + return 0 +} + +type WechatH5PayRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Description string `protobuf:"bytes,1,opt,name=Description,json=description,proto3" json:"Description"` + OutTradeNo string `protobuf:"bytes,2,opt,name=OutTradeNo,json=outTradeNo,proto3" json:"OutTradeNo"` + Cent int64 `protobuf:"varint,3,opt,name=Cent,json=cent,proto3" json:"Cent"` + OpenID string `protobuf:"bytes,4,opt,name=OpenID,json=openID,proto3" json:"OpenID"` + NotifyUrl string `protobuf:"bytes,5,opt,name=NotifyUrl,json=notifyUrl,proto3" json:"NotifyUrl"` + AppID string `protobuf:"bytes,6,opt,name=AppID,json=appID,proto3" json:"AppID"` + ClientIP string `protobuf:"bytes,7,opt,name=ClientIP,proto3" json:"ClientIP"` + RecordId uint32 `protobuf:"varint,9,opt,name=recordId,proto3" json:"recordId"` + Domain string `protobuf:"bytes,10,opt,name=domain,proto3" json:"domain"` + Platform string `protobuf:"bytes,11,opt,name=platform,proto3" json:"platform"` + Scene string `protobuf:"bytes,12,opt,name=scene,proto3" json:"scene"` + TimeExpire int32 `protobuf:"varint,13,opt,name=timeExpire,json=time_expire,proto3" json:"timeExpire"` +} + +func (x *WechatH5PayRequest) Reset() { + *x = WechatH5PayRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatH5PayRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatH5PayRequest) ProtoMessage() {} + +func (x *WechatH5PayRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[55] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WechatH5PayRequest.ProtoReflect.Descriptor instead. +func (*WechatH5PayRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{55} +} + +func (x *WechatH5PayRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *WechatH5PayRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *WechatH5PayRequest) GetCent() int64 { + if x != nil { + return x.Cent + } + return 0 +} + +func (x *WechatH5PayRequest) GetOpenID() string { + if x != nil { + return x.OpenID + } + return "" +} + +func (x *WechatH5PayRequest) GetNotifyUrl() string { + if x != nil { + return x.NotifyUrl + } + return "" +} + +func (x *WechatH5PayRequest) GetAppID() string { + if x != nil { + return x.AppID + } + return "" +} + +func (x *WechatH5PayRequest) GetClientIP() string { + if x != nil { + return x.ClientIP + } + return "" +} + +func (x *WechatH5PayRequest) GetRecordId() uint32 { + if x != nil { + return x.RecordId + } + return 0 +} + +func (x *WechatH5PayRequest) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *WechatH5PayRequest) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *WechatH5PayRequest) GetScene() string { + if x != nil { + return x.Scene + } + return "" +} + +func (x *WechatH5PayRequest) GetTimeExpire() int32 { + if x != nil { + return x.TimeExpire + } + return 0 +} + +type WechatH5PayResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + H5Url string `protobuf:"bytes,1,opt,name=h5Url,json=h5_url,proto3" json:"h5Url"` +} + +func (x *WechatH5PayResponse) Reset() { + *x = WechatH5PayResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatH5PayResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatH5PayResponse) ProtoMessage() {} + +func (x *WechatH5PayResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[56] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WechatH5PayResponse.ProtoReflect.Descriptor instead. +func (*WechatH5PayResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{56} +} + +func (x *WechatH5PayResponse) GetH5Url() string { + if x != nil { + return x.H5Url + } + return "" +} + +type WechatH5QueryByOutTradeNoRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OutTradeNo string `protobuf:"bytes,1,opt,name=outTradeNo,proto3" json:"outTradeNo"` +} + +func (x *WechatH5QueryByOutTradeNoRequest) Reset() { + *x = WechatH5QueryByOutTradeNoRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatH5QueryByOutTradeNoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatH5QueryByOutTradeNoRequest) ProtoMessage() {} + +func (x *WechatH5QueryByOutTradeNoRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[57] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WechatH5QueryByOutTradeNoRequest.ProtoReflect.Descriptor instead. +func (*WechatH5QueryByOutTradeNoRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{57} +} + +func (x *WechatH5QueryByOutTradeNoRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +type WechatH5QueryByOutTradeNoResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AppID string `protobuf:"bytes,1,opt,name=appID,proto3" json:"appID"` + MchID string `protobuf:"bytes,2,opt,name=mchID,json=mch_id,proto3" json:"mchID"` + OutTradeNo string `protobuf:"bytes,3,opt,name=outTradeNo,json=out_trade_no,proto3" json:"outTradeNo"` + TransactionId string `protobuf:"bytes,4,opt,name=transactionId,json=transaction_id,proto3" json:"transactionId"` + TradeType string `protobuf:"bytes,5,opt,name=tradeType,json=trade_type,proto3" json:"tradeType"` + TradeState string `protobuf:"bytes,6,opt,name=tradeState,json=trade_state,proto3" json:"tradeState"` + TradeStateDesc string `protobuf:"bytes,7,opt,name=tradeStateDesc,json=trade_state_desc,proto3" json:"tradeStateDesc"` + BankType string `protobuf:"bytes,8,opt,name=bankType,json=bank_ype,proto3" json:"bankType"` + SuccessTime string `protobuf:"bytes,9,opt,name=successTime,json=success_time,proto3" json:"successTime"` + OpenID string `protobuf:"bytes,10,opt,name=openID,json=open_id,proto3" json:"openID"` + Total int32 `protobuf:"varint,11,opt,name=total,proto3" json:"total"` +} + +func (x *WechatH5QueryByOutTradeNoResponse) Reset() { + *x = WechatH5QueryByOutTradeNoResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatH5QueryByOutTradeNoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatH5QueryByOutTradeNoResponse) ProtoMessage() {} + +func (x *WechatH5QueryByOutTradeNoResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[58] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WechatH5QueryByOutTradeNoResponse.ProtoReflect.Descriptor instead. +func (*WechatH5QueryByOutTradeNoResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{58} +} + +func (x *WechatH5QueryByOutTradeNoResponse) GetAppID() string { + if x != nil { + return x.AppID + } + return "" +} + +func (x *WechatH5QueryByOutTradeNoResponse) GetMchID() string { + if x != nil { + return x.MchID + } + return "" +} + +func (x *WechatH5QueryByOutTradeNoResponse) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *WechatH5QueryByOutTradeNoResponse) GetTransactionId() string { + if x != nil { + return x.TransactionId + } + return "" +} + +func (x *WechatH5QueryByOutTradeNoResponse) GetTradeType() string { + if x != nil { + return x.TradeType + } + return "" +} + +func (x *WechatH5QueryByOutTradeNoResponse) GetTradeState() string { + if x != nil { + return x.TradeState + } + return "" +} + +func (x *WechatH5QueryByOutTradeNoResponse) GetTradeStateDesc() string { + if x != nil { + return x.TradeStateDesc + } + return "" +} + +func (x *WechatH5QueryByOutTradeNoResponse) GetBankType() string { + if x != nil { + return x.BankType + } + return "" +} + +func (x *WechatH5QueryByOutTradeNoResponse) GetSuccessTime() string { + if x != nil { + return x.SuccessTime + } + return "" +} + +func (x *WechatH5QueryByOutTradeNoResponse) GetOpenID() string { + if x != nil { + return x.OpenID + } + return "" +} + +func (x *WechatH5QueryByOutTradeNoResponse) GetTotal() int32 { + if x != nil { + return x.Total + } + return 0 +} + +type WechatPayOkRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OutTradeNo string `protobuf:"bytes,1,opt,name=outTradeNo,proto3" json:"outTradeNo"` + Body string `protobuf:"bytes,2,opt,name=body,proto3" json:"body"` +} + +func (x *WechatPayOkRequest) Reset() { + *x = WechatPayOkRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatPayOkRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatPayOkRequest) ProtoMessage() {} + +func (x *WechatPayOkRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[59] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WechatPayOkRequest.ProtoReflect.Descriptor instead. +func (*WechatPayOkRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{59} +} + +func (x *WechatPayOkRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *WechatPayOkRequest) GetBody() string { + if x != nil { + return x.Body + } + return "" +} + +type CommonResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Success bool `protobuf:"varint,1,opt,name=Success,json=success,proto3" json:"Success"` + ID uint32 `protobuf:"varint,2,opt,name=ID,proto3" json:"ID"` +} + +func (x *CommonResponse) Reset() { + *x = CommonResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CommonResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CommonResponse) ProtoMessage() {} + +func (x *CommonResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[60] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CommonResponse.ProtoReflect.Descriptor instead. +func (*CommonResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{60} +} + +func (x *CommonResponse) GetSuccess() bool { + if x != nil { + return x.Success + } + return false +} + +func (x *CommonResponse) GetID() uint32 { + if x != nil { + return x.ID + } + return 0 +} + +type PayQueryRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PayType string `protobuf:"bytes,1,opt,name=payType,proto3" json:"payType"` + OutTradeNo string `protobuf:"bytes,2,opt,name=outTradeNo,proto3" json:"outTradeNo"` +} + +func (x *PayQueryRequest) Reset() { + *x = PayQueryRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayQueryRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayQueryRequest) ProtoMessage() {} + +func (x *PayQueryRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[61] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PayQueryRequest.ProtoReflect.Descriptor instead. +func (*PayQueryRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{61} +} + +func (x *PayQueryRequest) GetPayType() string { + if x != nil { + return x.PayType + } + return "" +} + +func (x *PayQueryRequest) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +type PayQueryResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Infos []*PaymentOrderInfo `protobuf:"bytes,1,rep,name=infos,proto3" json:"infos"` +} + +func (x *PayQueryResponse) Reset() { + *x = PayQueryResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PayQueryResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PayQueryResponse) ProtoMessage() {} + +func (x *PayQueryResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[62] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PayQueryResponse.ProtoReflect.Descriptor instead. +func (*PayQueryResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{62} +} + +func (x *PayQueryResponse) GetInfos() []*PaymentOrderInfo { + if x != nil { + return x.Infos + } + return nil +} + +type PaymentOrderInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id"` + CreatedAt string `protobuf:"bytes,2,opt,name=createdAt,proto3" json:"createdAt"` + UpdatedAt string `protobuf:"bytes,3,opt,name=updatedAt,proto3" json:"updatedAt"` + OutTradeNo string `protobuf:"bytes,4,opt,name=outTradeNo,proto3" json:"outTradeNo"` // 外部流水号 + ChannelTradeNo string `protobuf:"bytes,5,opt,name=channelTradeNo,proto3" json:"channelTradeNo"` // 渠道流水号 + Amount int64 `protobuf:"varint,6,opt,name=amount,proto3" json:"amount"` // 用户支付总金额 + Currency string `protobuf:"bytes,7,opt,name=currency,proto3" json:"currency"` // 币种 + Status string `protobuf:"bytes,8,opt,name=status,proto3" json:"status"` + PayTime string `protobuf:"bytes,9,opt,name=payTime,proto3" json:"payTime"` + RefundTime string `protobuf:"bytes,10,opt,name=refundTime,proto3" json:"refundTime"` + Payee string `protobuf:"bytes,11,opt,name=payee,proto3" json:"payee"` + ChannelType string `protobuf:"bytes,12,opt,name=channelType,proto3" json:"channelType"` // 支付渠道 alipay-支付宝 wxpay-微信 stripe-Stripe支付 + Platform string `protobuf:"bytes,13,opt,name=platform,proto3" json:"platform"` // 支付具体来源,是app还是h5还是jsapi还是wap + Domain string `protobuf:"bytes,14,opt,name=domain,proto3" json:"domain"` // 使用平台 + BusinessType string `protobuf:"bytes,15,opt,name=businessType,proto3" json:"businessType"` // 业务类型,用来确认mq发送 + LogId int64 `protobuf:"varint,16,opt,name=logId,proto3" json:"logId"` + CheckSessionId string `protobuf:"bytes,17,opt,name=checkSessionId,proto3" json:"checkSessionId"` + ProductUUID string `protobuf:"bytes,18,opt,name=productUUID,proto3" json:"productUUID"` + ProductName string `protobuf:"bytes,19,opt,name=productName,proto3" json:"productName"` + ProductImg string `protobuf:"bytes,20,opt,name=productImg,proto3" json:"productImg"` + ProductDescription string `protobuf:"bytes,21,opt,name=productDescription,proto3" json:"productDescription"` + Fee int64 `protobuf:"varint,22,opt,name=fee,proto3" json:"fee"` // 手续费 + NetIncome int64 `protobuf:"varint,23,opt,name=netIncome,proto3" json:"netIncome"` // 净收入【允许退款的最大金额】 +} + +func (x *PaymentOrderInfo) Reset() { + *x = PaymentOrderInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PaymentOrderInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PaymentOrderInfo) ProtoMessage() {} + +func (x *PaymentOrderInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[63] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PaymentOrderInfo.ProtoReflect.Descriptor instead. +func (*PaymentOrderInfo) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{63} +} + +func (x *PaymentOrderInfo) GetId() int64 { + if x != nil { + return x.Id + } + return 0 +} + +func (x *PaymentOrderInfo) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +func (x *PaymentOrderInfo) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +func (x *PaymentOrderInfo) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *PaymentOrderInfo) GetChannelTradeNo() string { + if x != nil { + return x.ChannelTradeNo + } + return "" +} + +func (x *PaymentOrderInfo) GetAmount() int64 { + if x != nil { + return x.Amount + } + return 0 +} + +func (x *PaymentOrderInfo) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +func (x *PaymentOrderInfo) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *PaymentOrderInfo) GetPayTime() string { + if x != nil { + return x.PayTime + } + return "" +} + +func (x *PaymentOrderInfo) GetRefundTime() string { + if x != nil { + return x.RefundTime + } + return "" +} + +func (x *PaymentOrderInfo) GetPayee() string { + if x != nil { + return x.Payee + } + return "" +} + +func (x *PaymentOrderInfo) GetChannelType() string { + if x != nil { + return x.ChannelType + } + return "" +} + +func (x *PaymentOrderInfo) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *PaymentOrderInfo) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *PaymentOrderInfo) GetBusinessType() string { + if x != nil { + return x.BusinessType + } + return "" +} + +func (x *PaymentOrderInfo) GetLogId() int64 { + if x != nil { + return x.LogId + } + return 0 +} + +func (x *PaymentOrderInfo) GetCheckSessionId() string { + if x != nil { + return x.CheckSessionId + } + return "" +} + +func (x *PaymentOrderInfo) GetProductUUID() string { + if x != nil { + return x.ProductUUID + } + return "" +} + +func (x *PaymentOrderInfo) GetProductName() string { + if x != nil { + return x.ProductName + } + return "" +} + +func (x *PaymentOrderInfo) GetProductImg() string { + if x != nil { + return x.ProductImg + } + return "" +} + +func (x *PaymentOrderInfo) GetProductDescription() string { + if x != nil { + return x.ProductDescription + } + return "" +} + +func (x *PaymentOrderInfo) GetFee() int64 { + if x != nil { + return x.Fee + } + return 0 +} + +func (x *PaymentOrderInfo) GetNetIncome() int64 { + if x != nil { + return x.NetIncome + } + return 0 +} + +type ExportPayRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + StartTime string `protobuf:"bytes,1,opt,name=startTime,proto3" json:"startTime"` // 开始时间 + EndTime string `protobuf:"bytes,2,opt,name=endTime,proto3" json:"endTime"` // 结束时间 + ReportType string `protobuf:"bytes,3,opt,name=reportType,proto3" json:"reportType"` + ReportRangeNum string `protobuf:"bytes,4,opt,name=reportRangeNum,proto3" json:"reportRangeNum"` // 年月 + ChannelType string `protobuf:"bytes,5,opt,name=channelType,proto3" json:"channelType"` // 交易渠道 + Currency string `protobuf:"bytes,6,opt,name=currency,proto3" json:"currency"` + SortBy string `protobuf:"bytes,7,opt,name=sortBy,proto3" json:"sortBy"` // 时间排序asc,desc +} + +func (x *ExportPayRequest) Reset() { + *x = ExportPayRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportPayRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportPayRequest) ProtoMessage() {} + +func (x *ExportPayRequest) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[64] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExportPayRequest.ProtoReflect.Descriptor instead. +func (*ExportPayRequest) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{64} +} + +func (x *ExportPayRequest) GetStartTime() string { + if x != nil { + return x.StartTime + } + return "" +} + +func (x *ExportPayRequest) GetEndTime() string { + if x != nil { + return x.EndTime + } + return "" +} + +func (x *ExportPayRequest) GetReportType() string { + if x != nil { + return x.ReportType + } + return "" +} + +func (x *ExportPayRequest) GetReportRangeNum() string { + if x != nil { + return x.ReportRangeNum + } + return "" +} + +func (x *ExportPayRequest) GetChannelType() string { + if x != nil { + return x.ChannelType + } + return "" +} + +func (x *ExportPayRequest) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +func (x *ExportPayRequest) GetSortBy() string { + if x != nil { + return x.SortBy + } + return "" +} + +type ExportPayResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReportType string `protobuf:"bytes,1,opt,name=reportType,proto3" json:"reportType"` // 日报 月报 + OrderNum int32 `protobuf:"varint,2,opt,name=orderNum,proto3" json:"orderNum"` // 成功交易的订单数 + Overview []*Overview `protobuf:"bytes,3,rep,name=overview,proto3" json:"overview"` // 总览 + ChannelIncomes []*ChannelIncome `protobuf:"bytes,4,rep,name=channelIncomes,proto3" json:"channelIncomes"` // 渠道交易情况 + BusinessInfos []*BusinessInfo `protobuf:"bytes,5,rep,name=businessInfos,proto3" json:"businessInfos"` // 业务交易情况 + OrderDetails []*OrderDetail `protobuf:"bytes,6,rep,name=orderDetails,proto3" json:"orderDetails"` // sheet2,订单详情 +} + +func (x *ExportPayResponse) Reset() { + *x = ExportPayResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExportPayResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExportPayResponse) ProtoMessage() {} + +func (x *ExportPayResponse) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[65] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExportPayResponse.ProtoReflect.Descriptor instead. +func (*ExportPayResponse) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{65} +} + +func (x *ExportPayResponse) GetReportType() string { + if x != nil { + return x.ReportType + } + return "" +} + +func (x *ExportPayResponse) GetOrderNum() int32 { + if x != nil { + return x.OrderNum + } + return 0 +} + +func (x *ExportPayResponse) GetOverview() []*Overview { + if x != nil { + return x.Overview + } + return nil +} + +func (x *ExportPayResponse) GetChannelIncomes() []*ChannelIncome { + if x != nil { + return x.ChannelIncomes + } + return nil +} + +func (x *ExportPayResponse) GetBusinessInfos() []*BusinessInfo { + if x != nil { + return x.BusinessInfos + } + return nil +} + +func (x *ExportPayResponse) GetOrderDetails() []*OrderDetail { + if x != nil { + return x.OrderDetails + } + return nil +} + +type OrderDetail struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PaymentOrderId int64 `protobuf:"varint,1,opt,name=paymentOrderId,proto3" json:"paymentOrderId"` + CreatedAt string `protobuf:"bytes,2,opt,name=createdAt,proto3" json:"createdAt"` + UpdatedAt string `protobuf:"bytes,3,opt,name=updatedAt,proto3" json:"updatedAt"` + OutTradeNo string `protobuf:"bytes,4,opt,name=outTradeNo,proto3" json:"outTradeNo"` // 外部流水号 + ChannelTradeNo string `protobuf:"bytes,5,opt,name=channelTradeNo,proto3" json:"channelTradeNo"` // 渠道流水号 + Currency string `protobuf:"bytes,6,opt,name=currency,proto3" json:"currency"` // 币种 + PayAmount int64 `protobuf:"varint,7,opt,name=payAmount,proto3" json:"payAmount"` // 付款金额 + Fee int64 `protobuf:"varint,8,opt,name=fee,proto3" json:"fee"` // 手续费 + NetIncome int64 `protobuf:"varint,9,opt,name=netIncome,proto3" json:"netIncome"` // 净收入 + Status string `protobuf:"bytes,10,opt,name=status,proto3" json:"status"` + PayTime string `protobuf:"bytes,11,opt,name=payTime,proto3" json:"payTime"` + ChannelType string `protobuf:"bytes,12,opt,name=channelType,proto3" json:"channelType"` // 支付渠道 alipay-支付宝 wxpay-微信 stripe-Stripe支付 + Platform string `protobuf:"bytes,13,opt,name=platform,proto3" json:"platform"` // 支付具体来源,是app还是h5还是jsapi还是wap + Domain string `protobuf:"bytes,14,opt,name=domain,proto3" json:"domain"` // 使用平台 + BusinessType string `protobuf:"bytes,15,opt,name=businessType,proto3" json:"businessType"` // 业务类型,用来确认mq发送 + LogId int64 `protobuf:"varint,16,opt,name=logId,proto3" json:"logId"` + CheckSessionId string `protobuf:"bytes,17,opt,name=checkSessionId,proto3" json:"checkSessionId"` + ProductUUID string `protobuf:"bytes,18,opt,name=productUUID,proto3" json:"productUUID"` + ProductName string `protobuf:"bytes,19,opt,name=productName,proto3" json:"productName"` + ProductImg string `protobuf:"bytes,20,opt,name=productImg,proto3" json:"productImg"` + ProductDescription string `protobuf:"bytes,21,opt,name=productDescription,proto3" json:"productDescription"` +} + +func (x *OrderDetail) Reset() { + *x = OrderDetail{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *OrderDetail) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OrderDetail) ProtoMessage() {} + +func (x *OrderDetail) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[66] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OrderDetail.ProtoReflect.Descriptor instead. +func (*OrderDetail) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{66} +} + +func (x *OrderDetail) GetPaymentOrderId() int64 { + if x != nil { + return x.PaymentOrderId + } + return 0 +} + +func (x *OrderDetail) GetCreatedAt() string { + if x != nil { + return x.CreatedAt + } + return "" +} + +func (x *OrderDetail) GetUpdatedAt() string { + if x != nil { + return x.UpdatedAt + } + return "" +} + +func (x *OrderDetail) GetOutTradeNo() string { + if x != nil { + return x.OutTradeNo + } + return "" +} + +func (x *OrderDetail) GetChannelTradeNo() string { + if x != nil { + return x.ChannelTradeNo + } + return "" +} + +func (x *OrderDetail) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +func (x *OrderDetail) GetPayAmount() int64 { + if x != nil { + return x.PayAmount + } + return 0 +} + +func (x *OrderDetail) GetFee() int64 { + if x != nil { + return x.Fee + } + return 0 +} + +func (x *OrderDetail) GetNetIncome() int64 { + if x != nil { + return x.NetIncome + } + return 0 +} + +func (x *OrderDetail) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *OrderDetail) GetPayTime() string { + if x != nil { + return x.PayTime + } + return "" +} + +func (x *OrderDetail) GetChannelType() string { + if x != nil { + return x.ChannelType + } + return "" +} + +func (x *OrderDetail) GetPlatform() string { + if x != nil { + return x.Platform + } + return "" +} + +func (x *OrderDetail) GetDomain() string { + if x != nil { + return x.Domain + } + return "" +} + +func (x *OrderDetail) GetBusinessType() string { + if x != nil { + return x.BusinessType + } + return "" +} + +func (x *OrderDetail) GetLogId() int64 { + if x != nil { + return x.LogId + } + return 0 +} + +func (x *OrderDetail) GetCheckSessionId() string { + if x != nil { + return x.CheckSessionId + } + return "" +} + +func (x *OrderDetail) GetProductUUID() string { + if x != nil { + return x.ProductUUID + } + return "" +} + +func (x *OrderDetail) GetProductName() string { + if x != nil { + return x.ProductName + } + return "" +} + +func (x *OrderDetail) GetProductImg() string { + if x != nil { + return x.ProductImg + } + return "" +} + +func (x *OrderDetail) GetProductDescription() string { + if x != nil { + return x.ProductDescription + } + return "" +} + +type BusinessInfo struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + BusinessName string `protobuf:"bytes,1,opt,name=BusinessName,proto3" json:"BusinessName"` // 业务名称 + Currency string `protobuf:"bytes,2,opt,name=currency,proto3" json:"currency"` // 交易币种 + OrderNum int32 `protobuf:"varint,3,opt,name=orderNum,proto3" json:"orderNum"` // 成功交易的订单数 + TotalIncome int64 `protobuf:"varint,4,opt,name=totalIncome,proto3" json:"totalIncome"` // 总收入 + TotalFee int64 `protobuf:"varint,5,opt,name=totalFee,proto3" json:"totalFee"` // 总手续费 + TotalRefundAmount int64 `protobuf:"varint,6,opt,name=totalRefundAmount,proto3" json:"totalRefundAmount"` // 总退款费 + NetIncome int64 `protobuf:"varint,7,opt,name=netIncome,proto3" json:"netIncome"` // 净收入 +} + +func (x *BusinessInfo) Reset() { + *x = BusinessInfo{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BusinessInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BusinessInfo) ProtoMessage() {} + +func (x *BusinessInfo) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[67] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BusinessInfo.ProtoReflect.Descriptor instead. +func (*BusinessInfo) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{67} +} + +func (x *BusinessInfo) GetBusinessName() string { + if x != nil { + return x.BusinessName + } + return "" +} + +func (x *BusinessInfo) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +func (x *BusinessInfo) GetOrderNum() int32 { + if x != nil { + return x.OrderNum + } + return 0 +} + +func (x *BusinessInfo) GetTotalIncome() int64 { + if x != nil { + return x.TotalIncome + } + return 0 +} + +func (x *BusinessInfo) GetTotalFee() int64 { + if x != nil { + return x.TotalFee + } + return 0 +} + +func (x *BusinessInfo) GetTotalRefundAmount() int64 { + if x != nil { + return x.TotalRefundAmount + } + return 0 +} + +func (x *BusinessInfo) GetNetIncome() int64 { + if x != nil { + return x.NetIncome + } + return 0 +} + +type Overview struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Currency string `protobuf:"bytes,1,opt,name=currency,proto3" json:"currency"` // 交易币种 + OrderNum int32 `protobuf:"varint,2,opt,name=orderNum,proto3" json:"orderNum"` // 成功交易的订单数 + TotalIncome int64 `protobuf:"varint,3,opt,name=totalIncome,proto3" json:"totalIncome"` // 总收入 + TotalFee int64 `protobuf:"varint,4,opt,name=totalFee,proto3" json:"totalFee"` // 总手续费 + TotalRefundAmount int64 `protobuf:"varint,5,opt,name=totalRefundAmount,proto3" json:"totalRefundAmount"` // 总退款费 + NetIncome int64 `protobuf:"varint,6,opt,name=netIncome,proto3" json:"netIncome"` // 净收入 +} + +func (x *Overview) Reset() { + *x = Overview{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Overview) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Overview) ProtoMessage() {} + +func (x *Overview) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[68] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Overview.ProtoReflect.Descriptor instead. +func (*Overview) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{68} +} + +func (x *Overview) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +func (x *Overview) GetOrderNum() int32 { + if x != nil { + return x.OrderNum + } + return 0 +} + +func (x *Overview) GetTotalIncome() int64 { + if x != nil { + return x.TotalIncome + } + return 0 +} + +func (x *Overview) GetTotalFee() int64 { + if x != nil { + return x.TotalFee + } + return 0 +} + +func (x *Overview) GetTotalRefundAmount() int64 { + if x != nil { + return x.TotalRefundAmount + } + return 0 +} + +func (x *Overview) GetNetIncome() int64 { + if x != nil { + return x.NetIncome + } + return 0 +} + +type ChannelIncome struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ChannelType string `protobuf:"bytes,1,opt,name=channelType,proto3" json:"channelType"` // 交易渠道 + Currency string `protobuf:"bytes,2,opt,name=currency,proto3" json:"currency"` // 交易币种 + OrderNum int32 `protobuf:"varint,3,opt,name=orderNum,proto3" json:"orderNum"` // 成功交易的订单数 + TotalIncome int64 `protobuf:"varint,4,opt,name=totalIncome,proto3" json:"totalIncome"` // 总收入 + TotalFee int64 `protobuf:"varint,5,opt,name=totalFee,proto3" json:"totalFee"` // 总手续费 + TotalRefundAmount int64 `protobuf:"varint,6,opt,name=totalRefundAmount,proto3" json:"totalRefundAmount"` // 总退款费 + NetIncome int64 `protobuf:"varint,7,opt,name=netIncome,proto3" json:"netIncome"` // 净收入 +} + +func (x *ChannelIncome) Reset() { + *x = ChannelIncome{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ChannelIncome) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChannelIncome) ProtoMessage() {} + +func (x *ChannelIncome) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[69] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChannelIncome.ProtoReflect.Descriptor instead. +func (*ChannelIncome) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{69} +} + +func (x *ChannelIncome) GetChannelType() string { + if x != nil { + return x.ChannelType + } + return "" +} + +func (x *ChannelIncome) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +func (x *ChannelIncome) GetOrderNum() int32 { + if x != nil { + return x.OrderNum + } + return 0 +} + +func (x *ChannelIncome) GetTotalIncome() int64 { + if x != nil { + return x.TotalIncome + } + return 0 +} + +func (x *ChannelIncome) GetTotalFee() int64 { + if x != nil { + return x.TotalFee + } + return 0 +} + +func (x *ChannelIncome) GetTotalRefundAmount() int64 { + if x != nil { + return x.TotalRefundAmount + } + return 0 +} + +func (x *ChannelIncome) GetNetIncome() int64 { + if x != nil { + return x.NetIncome + } + return 0 +} + +type WechatAppQueryByOutTradeNoResponse_Payer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Openid string `protobuf:"bytes,1,opt,name=openid,proto3" json:"openid"` +} + +func (x *WechatAppQueryByOutTradeNoResponse_Payer) Reset() { + *x = WechatAppQueryByOutTradeNoResponse_Payer{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatAppQueryByOutTradeNoResponse_Payer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatAppQueryByOutTradeNoResponse_Payer) ProtoMessage() {} + +func (x *WechatAppQueryByOutTradeNoResponse_Payer) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[71] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WechatAppQueryByOutTradeNoResponse_Payer.ProtoReflect.Descriptor instead. +func (*WechatAppQueryByOutTradeNoResponse_Payer) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{43, 0} +} + +func (x *WechatAppQueryByOutTradeNoResponse_Payer) GetOpenid() string { + if x != nil { + return x.Openid + } + return "" +} + +type WechatAppQueryByOutTradeNoResponse_Amount struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Total int64 `protobuf:"varint,1,opt,name=total,proto3" json:"total"` // 总金额 + PayerTotal int64 `protobuf:"varint,2,opt,name=payerTotal,json=payer_total,proto3" json:"payerTotal"` // 付款人支付的金额 + Currency string `protobuf:"bytes,3,opt,name=currency,proto3" json:"currency"` // 货币类型 + PayerCurrency string `protobuf:"bytes,4,opt,name=payerCurrency,json=payer_currency,proto3" json:"payerCurrency"` // 付款人货币类型 +} + +func (x *WechatAppQueryByOutTradeNoResponse_Amount) Reset() { + *x = WechatAppQueryByOutTradeNoResponse_Amount{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatAppQueryByOutTradeNoResponse_Amount) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatAppQueryByOutTradeNoResponse_Amount) ProtoMessage() {} + +func (x *WechatAppQueryByOutTradeNoResponse_Amount) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[72] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WechatAppQueryByOutTradeNoResponse_Amount.ProtoReflect.Descriptor instead. +func (*WechatAppQueryByOutTradeNoResponse_Amount) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{43, 1} +} + +func (x *WechatAppQueryByOutTradeNoResponse_Amount) GetTotal() int64 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *WechatAppQueryByOutTradeNoResponse_Amount) GetPayerTotal() int64 { + if x != nil { + return x.PayerTotal + } + return 0 +} + +func (x *WechatAppQueryByOutTradeNoResponse_Amount) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse_Amount) GetPayerCurrency() string { + if x != nil { + return x.PayerCurrency + } + return "" +} + +type WechatAppQueryByOutTradeNoResponse_PromotionDetail struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CouponId string `protobuf:"bytes,1,opt,name=couponId,json=coupon_id,proto3" json:"couponId"` // 优惠券ID + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name"` // 名称 + Scope string `protobuf:"bytes,3,opt,name=scope,proto3" json:"scope"` // 范围 + Type string `protobuf:"bytes,4,opt,name=type,proto3" json:"type"` // 类型 + Amount int64 `protobuf:"varint,5,opt,name=amount,proto3" json:"amount"` // 金额 + StockId string `protobuf:"bytes,6,opt,name=stockId,json=stock_id,proto3" json:"stockId"` // 库存ID + WechatpayContribute int64 `protobuf:"varint,7,opt,name=wechatpayContribute,json=wechatpay_contribute,proto3" json:"wechatpayContribute"` // 微信支付贡献的金额 + MerchantContribute int64 `protobuf:"varint,8,opt,name=merchantContribute,json=merchant_contribute,proto3" json:"merchantContribute"` // 商户贡献的金额 + OtherContribute int64 `protobuf:"varint,9,opt,name=otherContribute,json=other_contribute,proto3" json:"otherContribute"` // 其他贡献的金额 + Currency string `protobuf:"bytes,10,opt,name=currency,proto3" json:"currency"` // 货币类型 +} + +func (x *WechatAppQueryByOutTradeNoResponse_PromotionDetail) Reset() { + *x = WechatAppQueryByOutTradeNoResponse_PromotionDetail{} + if protoimpl.UnsafeEnabled { + mi := &file_pb_payment_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *WechatAppQueryByOutTradeNoResponse_PromotionDetail) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WechatAppQueryByOutTradeNoResponse_PromotionDetail) ProtoMessage() {} + +func (x *WechatAppQueryByOutTradeNoResponse_PromotionDetail) ProtoReflect() protoreflect.Message { + mi := &file_pb_payment_proto_msgTypes[73] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WechatAppQueryByOutTradeNoResponse_PromotionDetail.ProtoReflect.Descriptor instead. +func (*WechatAppQueryByOutTradeNoResponse_PromotionDetail) Descriptor() ([]byte, []int) { + return file_pb_payment_proto_rawDescGZIP(), []int{43, 2} +} + +func (x *WechatAppQueryByOutTradeNoResponse_PromotionDetail) GetCouponId() string { + if x != nil { + return x.CouponId + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse_PromotionDetail) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse_PromotionDetail) GetScope() string { + if x != nil { + return x.Scope + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse_PromotionDetail) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse_PromotionDetail) GetAmount() int64 { + if x != nil { + return x.Amount + } + return 0 +} + +func (x *WechatAppQueryByOutTradeNoResponse_PromotionDetail) GetStockId() string { + if x != nil { + return x.StockId + } + return "" +} + +func (x *WechatAppQueryByOutTradeNoResponse_PromotionDetail) GetWechatpayContribute() int64 { + if x != nil { + return x.WechatpayContribute + } + return 0 +} + +func (x *WechatAppQueryByOutTradeNoResponse_PromotionDetail) GetMerchantContribute() int64 { + if x != nil { + return x.MerchantContribute + } + return 0 +} + +func (x *WechatAppQueryByOutTradeNoResponse_PromotionDetail) GetOtherContribute() int64 { + if x != nil { + return x.OtherContribute + } + return 0 +} + +func (x *WechatAppQueryByOutTradeNoResponse_PromotionDetail) GetCurrency() string { + if x != nil { + return x.Currency + } + return "" +} + +var File_pb_payment_proto protoreflect.FileDescriptor + +var file_pb_payment_proto_rawDesc = []byte{ + 0x0a, 0x10, 0x70, 0x62, 0x2f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x07, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x46, 0x0a, 0x14, 0x41, + 0x6e, 0x74, 0x6f, 0x6d, 0x50, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x12, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x73, 0x22, 0x48, 0x0a, 0x15, 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x50, 0x61, 0x79, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x05, + 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0xdf, 0x01, + 0x0a, 0x15, 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, + 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, 0x74, + 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, + 0x50, 0x0a, 0x16, 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, + 0x6f, 0x22, 0xec, 0x05, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, + 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, + 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, + 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x67, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x67, 0x12, 0x2e, + 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, + 0x0a, 0x07, 0x71, 0x75, 0x69, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x71, 0x75, 0x69, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x69, + 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x6f, 0x74, + 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x55, 0x72, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x4e, 0x6f, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x26, 0x0a, 0x0e, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x0c, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x79, 0x65, + 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x79, 0x65, 0x65, 0x12, 0x20, + 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x11, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, + 0x54, 0x79, 0x70, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x75, 0x73, 0x69, + 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, + 0x75, 0x61, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, + 0x75, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70, + 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70, + 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, + 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x17, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x74, 0x69, + 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, + 0x22, 0xe3, 0x02, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x22, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x52, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, + 0x6f, 0x67, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x03, + 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x12, 0x14, + 0x0a, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, + 0x70, 0x70, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, + 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, + 0x6d, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x73, 0x69, 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x73, 0x69, 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6e, 0x6f, 0x6e, 0x63, + 0x65, 0x53, 0x74, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, + 0x65, 0x53, 0x74, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x1a, + 0x0a, 0x08, 0x70, 0x72, 0x65, 0x70, 0x61, 0x79, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x70, 0x72, 0x65, 0x70, 0x61, 0x79, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, + 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, + 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xdf, 0x04, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, + 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x55, 0x55, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x26, 0x0a, 0x0e, + 0x63, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x75, + 0x6e, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x63, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x63, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x61, 0x79, 0x65, 0x65, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x79, 0x65, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70, 0x18, 0x0f, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x70, 0x12, 0x16, 0x0a, 0x06, + 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, + 0x65, 0x6e, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x49, + 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x6f, 0x72, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x52, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x75, + 0x6e, 0x64, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x3c, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, + 0x63, 0x6f, 0x64, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x82, 0x01, 0x0a, 0x10, 0x4e, 0x6f, 0x74, 0x69, 0x66, + 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, + 0x6f, 0x73, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6f, + 0x73, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x37, 0x0a, 0x0c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, + 0x0a, 0x08, 0x72, 0x61, 0x77, 0x51, 0x75, 0x65, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x72, 0x61, 0x77, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x45, 0x0a, 0x11, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, + 0x73, 0x67, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x4e, 0x6f, 0x22, 0xc4, 0x01, 0x0a, 0x0b, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x3b, 0x0a, 0x07, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, + 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x1a, 0x3a, 0x0a, + 0x0c, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x1d, 0x0a, 0x09, 0x43, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x4d, 0x73, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x0e, 0x0a, 0x0c, 0x45, 0x6d, 0x70, 0x74, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x98, 0x04, 0x0a, 0x22, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, + 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, 0x44, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, + 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x51, 0x75, + 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x28, 0x0a, + 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x41, 0x6c, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x41, + 0x6c, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, + 0x6c, 0x12, 0x32, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x14, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x50, 0x72, 0x69, 0x63, 0x65, 0x43, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, + 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x72, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1e, 0x0a, + 0x0a, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x6c, 0x12, 0x1c, 0x0a, + 0x09, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x72, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x55, 0x72, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, + 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x6f, 0x63, + 0x61, 0x6c, 0x65, 0x22, 0x83, 0x01, 0x0a, 0x23, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, + 0x72, 0x69, 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x12, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x22, 0xa1, 0x01, 0x0a, 0x19, 0x47, 0x65, + 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, + 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x6f, 0x73, 0x74, 0x55, 0x72, + 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, + 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1e, 0x0a, + 0x0a, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x4b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x4b, 0x65, 0x79, 0x22, 0xa2, 0x01, + 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x57, 0x65, 0x62, + 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, + 0x12, 0x30, 0x0a, 0x13, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x22, 0x6f, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x50, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, + 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x72, 0x49, 0x44, 0x22, 0xb2, 0x05, 0x0a, 0x22, 0x47, 0x65, 0x74, 0x53, 0x74, 0x72, 0x69, 0x70, + 0x65, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x6e, + 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x15, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, + 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, + 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x14, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x12, 0x30, 0x0a, 0x13, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1a, + 0x0a, 0x08, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x63, 0x68, 0x61, 0x72, 0x67, 0x65, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, + 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x70, 0x61, + 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x61, 0x79, 0x45, 0x78, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x70, 0x61, 0x79, 0x45, 0x78, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x61, 0x74, 0x65, + 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x79, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, + 0x63, 0x79, 0x12, 0x28, 0x0a, 0x0f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x2c, 0x0a, 0x11, + 0x61, 0x66, 0x74, 0x65, 0x72, 0x52, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x50, 0x72, 0x69, 0x63, + 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x61, 0x66, 0x74, 0x65, 0x72, 0x52, 0x61, + 0x74, 0x65, 0x50, 0x61, 0x79, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x70, 0x61, + 0x79, 0x48, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x46, 0x65, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x48, 0x61, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x46, 0x65, 0x65, + 0x12, 0x34, 0x0a, 0x15, 0x61, 0x66, 0x74, 0x65, 0x72, 0x52, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, + 0x4e, 0x65, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x15, 0x61, 0x66, 0x74, 0x65, 0x72, 0x52, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x4e, 0x65, 0x74, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x65, 0x72, 0x49, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, + 0x50, 0x72, 0x69, 0x63, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x72, 0x65, 0x66, + 0x75, 0x6e, 0x64, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, + 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0x50, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, + 0x65, 0x66, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x49, 0x44, 0x22, 0x3b, 0x0a, 0x15, 0x47, 0x65, + 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x66, 0x75, 0x6e, + 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xc2, 0x02, 0x0a, 0x10, 0x41, 0x6c, 0x69, 0x57, + 0x61, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, + 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x72, 0x6f, + 0x64, 0x75, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, + 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x19, 0x0a, 0x07, 0x71, + 0x75, 0x69, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, + 0x69, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, + 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, + 0x79, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, + 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x45, + 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, 0x6d, + 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x5b, 0x0a, 0x11, + 0x41, 0x6c, 0x69, 0x57, 0x61, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x75, 0x72, 0x6c, 0x12, 0x22, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x5f, 0x72, 0x65, + 0x63, 0x6f, 0x72, 0x64, 0x5f, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xdc, 0x02, 0x0a, 0x10, 0x41, 0x6c, + 0x69, 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, + 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0a, 0x6f, + 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x19, 0x0a, + 0x07, 0x71, 0x75, 0x69, 0x74, 0x55, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x71, 0x75, 0x69, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x69, + 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, 0x74, + 0x69, 0x66, 0x79, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x1d, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x69, 0x6d, + 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x18, + 0x0a, 0x07, 0x70, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x07, 0x70, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0x5b, 0x0a, 0x11, 0x41, 0x6c, 0x69, 0x41, + 0x70, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, + 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, + 0x22, 0x0a, 0x0b, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x44, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x6f, 0x67, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, + 0x5f, 0x49, 0x44, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xe8, 0x01, 0x0a, 0x13, 0x41, 0x6c, 0x69, 0x4e, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, + 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x1d, 0x0a, 0x09, 0x6e, 0x6f, 0x74, + 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x79, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, + 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0a, 0x74, + 0x69, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, + 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x22, 0x3a, 0x0a, 0x14, 0x41, 0x6c, 0x69, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0xa1, 0x02, 0x0a, + 0x12, 0x41, 0x6c, 0x69, 0x50, 0x63, 0x57, 0x61, 0x62, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, + 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, + 0x1d, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x75, 0x72, 0x6c, 0x12, 0x21, + 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, + 0x72, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x19, 0x0a, 0x07, 0x71, 0x75, 0x69, 0x74, 0x55, 0x72, + 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x71, 0x75, 0x69, 0x74, 0x5f, 0x75, 0x72, + 0x6c, 0x12, 0x1d, 0x0a, 0x09, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x55, 0x72, 0x6c, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x5f, 0x75, 0x72, 0x6c, + 0x22, 0x5b, 0x0a, 0x13, 0x41, 0x6c, 0x69, 0x50, 0x63, 0x57, 0x61, 0x62, 0x50, 0x61, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x13, 0x70, 0x61, 0x67, 0x65, 0x52, + 0x65, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x72, 0x65, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x12, 0x10, 0x0a, 0x03, 0x6d, + 0x73, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x57, 0x0a, + 0x10, 0x41, 0x6c, 0x69, 0x52, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, + 0x5f, 0x6e, 0x6f, 0x12, 0x21, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xaa, 0x01, 0x0a, 0x11, 0x41, 0x6c, 0x69, 0x52, 0x65, + 0x46, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x07, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, + 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x62, 0x75, 0x79, + 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x62, 0x75, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x65, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x66, 0x65, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6d, 0x73, 0x67, 0x22, 0x2f, 0x0a, 0x10, 0x41, 0x6c, 0x69, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x08, 0x72, 0x61, 0x77, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x61, 0x77, 0x5f, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x22, 0xf5, 0x02, 0x0a, 0x11, 0x41, 0x6c, 0x69, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x6e, + 0x6f, 0x74, 0x69, 0x66, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x08, + 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x5f, 0x69, 0x64, 0x12, 0x15, 0x0a, 0x05, 0x61, 0x70, 0x70, + 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x70, 0x70, 0x5f, 0x69, 0x64, + 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x08, 0x73, 0x69, + 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x69, + 0x67, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x67, 0x6e, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x69, 0x67, 0x6e, 0x12, 0x19, 0x0a, 0x07, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, + 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x24, 0x0a, 0x0c, 0x62, 0x75, 0x79, 0x65, + 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x62, 0x75, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x19, + 0x0a, 0x07, 0x62, 0x75, 0x79, 0x65, 0x72, 0x49, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x62, 0x75, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0b, 0x74, 0x72, 0x61, + 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x3d, 0x0a, 0x1b, + 0x41, 0x6c, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, + 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0xeb, 0x01, 0x0a, 0x1c, + 0x41, 0x6c, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x07, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, + 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x24, 0x0a, 0x0c, 0x62, 0x75, 0x79, + 0x65, 0x72, 0x4c, 0x6f, 0x67, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x62, 0x75, 0x79, 0x65, 0x72, 0x5f, 0x6c, 0x6f, 0x67, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, + 0x21, 0x0a, 0x0b, 0x74, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x41, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0b, 0x62, 0x75, 0x79, 0x65, 0x72, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x62, 0x75, 0x79, 0x65, + 0x72, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x22, 0x43, 0x0a, 0x21, 0x41, 0x6c, 0x69, + 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0xf9, + 0x01, 0x0a, 0x22, 0x41, 0x6c, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, + 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, + 0x6e, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x75, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x5f, 0x6e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x75, 0x74, 0x5f, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6e, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, + 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x66, + 0x75, 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xdc, 0x02, 0x0a, 0x15, 0x57, + 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x65, 0x6e, 0x74, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, + 0x65, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, + 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, + 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x49, 0x50, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x49, 0x50, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, + 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x22, 0xd4, 0x01, 0x0a, 0x16, 0x57, 0x65, + 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x54, 0x69, + 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x61, 0x63, 0x6b, + 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x63, 0x6b, 0x61, + 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x50, 0x61, + 0x79, 0x53, 0x69, 0x67, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, + 0x53, 0x69, 0x67, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x65, 0x70, 0x61, 0x79, 0x49, 0x64, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x65, 0x70, 0x61, 0x79, 0x49, 0x64, + 0x22, 0x82, 0x02, 0x0a, 0x14, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x69, 0x64, 0x12, + 0x1c, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x18, 0x0a, + 0x07, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x53, 0x69, 0x67, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x4e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x6f, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x72, 0x12, + 0x18, 0x0a, 0x07, 0x50, 0x61, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x70, 0x61, 0x79, 0x53, 0x69, 0x67, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x50, 0x72, 0x65, + 0x70, 0x61, 0x79, 0x49, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x65, + 0x70, 0x61, 0x79, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, + 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x73, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6d, 0x73, 0x67, 0x22, 0x45, 0x0a, 0x23, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, + 0x73, 0x41, 0x70, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, + 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0xca, 0x02, 0x0a, + 0x24, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, 0x15, 0x0a, 0x05, 0x6d, + 0x63, 0x68, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x63, 0x68, 0x5f, + 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, + 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x25, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x72, + 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x62, + 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, + 0x61, 0x6e, 0x6b, 0x5f, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x06, 0x6f, 0x70, + 0x65, 0x6e, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x65, 0x6e, + 0x5f, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x43, 0x0a, 0x21, 0x57, 0x65, 0x63, + 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0xcc, + 0x08, 0x0a, 0x22, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, 0x15, 0x0a, 0x05, 0x6d, + 0x63, 0x68, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x63, 0x68, 0x5f, + 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, + 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x25, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x09, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x72, + 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x0e, 0x74, + 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x44, 0x65, 0x73, 0x63, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x5f, 0x64, 0x65, 0x73, 0x63, 0x12, 0x1b, 0x0a, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x12, 0x21, 0x0a, 0x0b, 0x73, 0x75, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x66, 0x0a, + 0x0f, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, + 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x12, 0x47, 0x0a, 0x05, 0x70, 0x61, 0x79, 0x65, 0x72, 0x18, 0x0e, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, + 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, + 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x50, 0x61, 0x79, 0x65, 0x72, 0x52, 0x05, 0x70, 0x61, 0x79, 0x65, 0x72, 0x12, 0x4a, + 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, + 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, + 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x41, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x1f, 0x0a, 0x05, 0x50, 0x61, + 0x79, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x69, 0x64, 0x1a, 0x82, 0x01, 0x0a, 0x06, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1f, 0x0a, 0x0a, + 0x70, 0x61, 0x79, 0x65, 0x72, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0b, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x1a, 0x0a, + 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x25, 0x0a, 0x0d, 0x70, 0x61, 0x79, + 0x65, 0x72, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x70, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, + 0x1a, 0xca, 0x02, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x12, 0x1b, 0x0a, 0x08, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x49, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x75, 0x70, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x19, 0x0a, 0x07, 0x73, 0x74, 0x6f, 0x63, 0x6b, + 0x49, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x74, 0x6f, 0x63, 0x6b, 0x5f, + 0x69, 0x64, 0x12, 0x31, 0x0a, 0x13, 0x77, 0x65, 0x63, 0x68, 0x61, 0x74, 0x70, 0x61, 0x79, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x14, 0x77, 0x65, 0x63, 0x68, 0x61, 0x74, 0x70, 0x61, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x2f, 0x0a, 0x12, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, + 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x13, 0x6d, 0x65, 0x72, 0x63, 0x68, 0x61, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x29, 0x0a, 0x0f, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x10, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x22, 0x3b, 0x0a, + 0x19, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x75, + 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0xb6, 0x01, 0x0a, 0x1a, 0x47, + 0x65, 0x74, 0x50, 0x61, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, + 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, + 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x14, 0x0a, + 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, + 0x65, 0x6e, 0x65, 0x22, 0x92, 0x02, 0x0a, 0x1a, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, + 0x41, 0x70, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x49, 0x64, 0x12, 0x20, + 0x0a, 0x0b, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, + 0x12, 0x24, 0x0a, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x4f, 0x75, 0x74, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x53, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x16, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xc5, 0x02, 0x0a, 0x16, 0x57, 0x65, 0x63, + 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x6f, 0x74, + 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, 0x1a, 0x0a, + 0x08, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x50, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x50, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x49, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x65, + 0x6e, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x12, + 0x1f, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, + 0x22, 0x34, 0x0a, 0x17, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x07, 0x63, + 0x6f, 0x64, 0x65, 0x55, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, + 0x64, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0x46, 0x0a, 0x24, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, + 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0x4b, + 0x0a, 0x25, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x52, 0x65, + 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x75, + 0x74, 0x5f, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x6e, 0x6f, 0x22, 0xf2, 0x02, 0x0a, 0x26, + 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x08, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, + 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, + 0x5f, 0x69, 0x64, 0x12, 0x22, 0x0a, 0x0b, 0x6f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, + 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6f, 0x75, 0x74, 0x5f, 0x72, 0x65, + 0x66, 0x75, 0x6e, 0x64, 0x5f, 0x6e, 0x6f, 0x12, 0x25, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x20, + 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, + 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x32, 0x0a, 0x13, 0x75, 0x73, + 0x65, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x72, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, + 0x0a, 0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x22, 0xcb, 0x02, 0x0a, 0x25, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, + 0x70, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, + 0x12, 0x15, 0x0a, 0x05, 0x6d, 0x63, 0x68, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x6d, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, + 0x5f, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x25, 0x0a, 0x0d, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0e, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x12, 0x1d, 0x0a, 0x09, 0x74, 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x1f, 0x0a, 0x0a, 0x74, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x5f, 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0b, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, + 0x17, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0xda, + 0x02, 0x0a, 0x13, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x75, 0x74, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, + 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x65, 0x6e, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, + 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, + 0x65, 0x6e, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, + 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, + 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x49, 0x44, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x49, 0x50, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x43, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x49, 0x50, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x49, 0x64, + 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x18, 0x0c, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x74, 0x69, + 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x22, 0xd5, 0x01, 0x0a, 0x19, + 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, + 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x52, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x52, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, + 0x6f, 0x12, 0x20, 0x0a, 0x0b, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, + 0x64, 0x4e, 0x6f, 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x55, 0x72, + 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x43, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x04, 0x43, 0x65, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x12, 0x14, 0x0a, + 0x05, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x54, 0x6f, + 0x74, 0x61, 0x6c, 0x22, 0xd9, 0x02, 0x0a, 0x12, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, + 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x44, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, + 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x12, 0x0a, 0x04, + 0x43, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x63, 0x65, 0x6e, 0x74, + 0x12, 0x16, 0x0a, 0x06, 0x4f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x79, 0x55, 0x72, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x6f, 0x74, + 0x69, 0x66, 0x79, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x41, 0x70, 0x70, 0x49, 0x44, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x50, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x50, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x49, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x72, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x65, 0x6e, + 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x12, 0x1f, + 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x22, + 0x2c, 0x0a, 0x13, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x50, 0x61, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x15, 0x0a, 0x05, 0x68, 0x35, 0x55, 0x72, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x68, 0x35, 0x5f, 0x75, 0x72, 0x6c, 0x22, 0x42, 0x0a, + 0x20, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, + 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, + 0x6f, 0x22, 0xf1, 0x02, 0x0a, 0x21, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x61, 0x70, 0x70, 0x49, 0x44, 0x12, 0x15, 0x0a, + 0x05, 0x6d, 0x63, 0x68, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x63, + 0x68, 0x5f, 0x69, 0x64, 0x12, 0x20, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, + 0x4e, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x75, 0x74, 0x5f, 0x74, 0x72, + 0x61, 0x64, 0x65, 0x5f, 0x6e, 0x6f, 0x12, 0x25, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x1d, 0x0a, + 0x09, 0x74, 0x72, 0x61, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0a, + 0x74, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, + 0x0e, 0x74, 0x72, 0x61, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x44, 0x65, 0x73, 0x63, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x74, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, 0x61, 0x6e, 0x6b, 0x5f, + 0x79, 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0b, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x54, 0x69, + 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x06, 0x6f, 0x70, 0x65, 0x6e, 0x49, 0x44, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6f, 0x70, 0x65, 0x6e, 0x5f, 0x69, 0x64, 0x12, + 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x22, 0x48, 0x0a, 0x12, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x50, + 0x61, 0x79, 0x4f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, + 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x62, + 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x22, + 0x3a, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x49, + 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x49, 0x44, 0x22, 0x4b, 0x0a, 0x0f, 0x50, + 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, + 0x0a, 0x07, 0x70, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x70, 0x61, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, + 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x22, 0x43, 0x0a, 0x10, 0x50, 0x61, 0x79, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x05, + 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, + 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x69, 0x6e, 0x66, 0x6f, 0x73, 0x22, 0xbe, 0x05, + 0x0a, 0x10, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x26, + 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, + 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, + 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x72, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x70, 0x61, 0x79, 0x65, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x70, 0x61, 0x79, + 0x65, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, + 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x62, 0x75, 0x73, 0x69, + 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, + 0x6c, 0x6f, 0x67, 0x49, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x6c, 0x6f, 0x67, + 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, + 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, 0x44, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, + 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, + 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x67, 0x18, 0x14, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x6d, 0x67, 0x12, 0x2e, + 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, + 0x75, 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, + 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x66, 0x65, 0x65, + 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x17, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x22, 0xe8, + 0x01, 0x0a, 0x10, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, + 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, + 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x6f, 0x72, 0x74, 0x42, 0x79, 0x22, 0xb5, 0x02, 0x0a, 0x11, 0x45, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x2d, 0x0a, 0x08, 0x6f, + 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, + 0x52, 0x08, 0x6f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x12, 0x3e, 0x0a, 0x0e, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x52, 0x0e, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0d, 0x62, 0x75, + 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x15, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x42, 0x75, 0x73, 0x69, + 0x6e, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0d, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, + 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x73, 0x12, 0x38, 0x0a, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x52, 0x0c, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x22, 0xa1, 0x05, 0x0a, 0x0b, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x12, 0x26, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, + 0x72, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x41, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, + 0x65, 0x4e, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6f, 0x75, 0x74, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x1a, 0x0a, + 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x79, + 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x61, + 0x79, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x65, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x66, 0x65, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x74, + 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6e, 0x65, + 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x70, 0x61, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, + 0x22, 0x0a, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x54, 0x79, 0x70, 0x65, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x6f, 0x67, 0x49, 0x64, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x05, 0x6c, 0x6f, 0x67, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x68, 0x65, + 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, 0x55, 0x49, 0x44, + 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x55, + 0x55, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x4e, 0x61, + 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, + 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x49, 0x6d, 0x67, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x64, 0x75, + 0x63, 0x74, 0x49, 0x6d, 0x67, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, + 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x12, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xf4, 0x01, 0x0a, 0x0c, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, + 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x22, 0x0a, 0x0c, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, + 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x42, 0x75, + 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, + 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, + 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, + 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x65, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x65, 0x65, + 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, + 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, + 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x22, 0xcc, 0x01, 0x0a, + 0x08, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, + 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, + 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x63, + 0x6f, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x46, 0x65, 0x65, 0x12, + 0x2c, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, + 0x6c, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x22, 0xf3, 0x01, 0x0a, 0x0d, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x20, 0x0a, + 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, + 0x1a, 0x0a, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x4e, 0x75, 0x6d, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, + 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x74, 0x6f, + 0x74, 0x61, 0x6c, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x46, 0x65, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x46, 0x65, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, + 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x41, 0x6d, 0x6f, + 0x75, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, 0x65, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x6e, 0x65, 0x74, 0x49, 0x6e, 0x63, 0x6f, 0x6d, + 0x65, 0x32, 0x82, 0x16, 0x0a, 0x07, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x42, 0x0a, + 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x42, 0x0a, 0x09, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, 0x12, 0x19, + 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, + 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x14, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, + 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x18, 0x2e, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x50, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x50, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x45, 0x78, 0x70, 0x6f, 0x72, + 0x74, 0x50, 0x61, 0x79, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x12, 0x1c, 0x2e, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x75, + 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x69, + 0x70, 0x65, 0x47, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x79, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, + 0x12, 0x22, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, + 0x65, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, + 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4b, 0x0a, 0x10, 0x41, + 0x6c, 0x69, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x12, + 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, + 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x50, 0x0a, 0x15, 0x57, 0x65, 0x63, 0x68, + 0x61, 0x74, 0x46, 0x65, 0x6e, 0x67, 0x4c, 0x69, 0x61, 0x6e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, + 0x6b, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x79, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x50, 0x61, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x51, 0x0a, 0x0c, 0x41, 0x6e, + 0x74, 0x6f, 0x6d, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x12, 0x1e, 0x2e, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, + 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, + 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x63, 0x0a, + 0x20, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x6e, 0x74, 0x6f, 0x6d, 0x50, 0x61, 0x79, 0x42, 0x79, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x12, 0x1d, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, 0x74, 0x6f, + 0x6d, 0x50, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1e, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6e, 0x74, 0x6f, 0x6d, + 0x50, 0x61, 0x79, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x7a, 0x0a, 0x1b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, + 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x2b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, + 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, + 0x74, 0x72, 0x69, 0x70, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6f, 0x75, 0x74, 0x53, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, + 0x0a, 0x09, 0x41, 0x6c, 0x69, 0x57, 0x61, 0x70, 0x50, 0x61, 0x79, 0x12, 0x19, 0x2e, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x57, 0x61, 0x70, 0x50, 0x61, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x41, 0x6c, 0x69, 0x57, 0x61, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x41, 0x6c, 0x69, 0x41, 0x70, 0x70, 0x50, 0x61, + 0x79, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x41, + 0x70, 0x70, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x41, 0x6c, + 0x69, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, 0x12, 0x1c, 0x2e, 0x70, 0x61, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x41, 0x6c, 0x69, + 0x50, 0x63, 0x57, 0x61, 0x62, 0x50, 0x61, 0x79, 0x12, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x50, 0x63, 0x57, 0x61, 0x62, 0x50, 0x61, 0x79, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, + 0x41, 0x6c, 0x69, 0x50, 0x63, 0x57, 0x61, 0x62, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x41, 0x6c, 0x69, 0x52, 0x65, 0x46, 0x75, + 0x6e, 0x64, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, + 0x52, 0x65, 0x46, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x52, 0x65, 0x46, 0x75, 0x6e, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x44, 0x0a, 0x09, 0x41, + 0x6c, 0x69, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x12, 0x19, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, + 0x69, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x65, 0x0a, 0x14, 0x41, 0x6c, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, + 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x24, 0x2e, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, + 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x25, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, 0x51, 0x75, 0x65, + 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x1a, 0x41, 0x6c, 0x69, 0x52, + 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x2a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x41, 0x6c, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, + 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x41, 0x6c, 0x69, + 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, + 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x53, 0x0a, 0x0e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, + 0x50, 0x61, 0x79, 0x12, 0x1e, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, + 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, + 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x7d, 0x0a, 0x1c, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, + 0x4a, 0x73, 0x41, 0x70, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, + 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x2c, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, + 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, + 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x42, + 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x22, 0x2e, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, 0x42, 0x79, 0x4f, 0x75, + 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x23, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x61, 0x79, + 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x12, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, + 0x4a, 0x73, 0x41, 0x70, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x12, 0x22, 0x2e, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4a, 0x73, 0x41, + 0x70, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x23, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, + 0x74, 0x4a, 0x73, 0x41, 0x70, 0x69, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x42, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x50, 0x61, + 0x79, 0x4f, 0x6b, 0x12, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, + 0x63, 0x68, 0x61, 0x74, 0x50, 0x61, 0x79, 0x4f, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x17, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x4d, 0x0a, 0x0c, 0x57, + 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, 0x12, 0x1c, 0x2e, 0x70, 0x61, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x50, + 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x50, 0x61, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x1a, 0x57, 0x65, + 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, + 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x2a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, + 0x65, 0x63, 0x68, 0x61, 0x74, 0x41, 0x70, 0x70, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, + 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x0f, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, 0x12, 0x1f, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, 0x79, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x50, 0x61, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x80, 0x01, 0x0a, 0x1d, + 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x2d, 0x2e, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, + 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x70, + 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x4e, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, + 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x83, + 0x01, 0x0a, 0x1e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, + 0x6f, 0x12, 0x2e, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, + 0x61, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, + 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2f, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, + 0x61, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, + 0x75, 0x74, 0x52, 0x65, 0x66, 0x75, 0x6e, 0x64, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x4a, 0x0a, 0x0b, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, + 0x50, 0x61, 0x79, 0x12, 0x1b, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, + 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x50, 0x61, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1c, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, + 0x74, 0x48, 0x35, 0x50, 0x61, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x74, 0x0a, 0x19, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x12, 0x29, 0x2e, + 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, + 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x70, 0x61, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x2e, 0x57, 0x65, 0x63, 0x68, 0x61, 0x74, 0x48, 0x35, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x42, 0x79, 0x4f, 0x75, 0x74, 0x54, 0x72, 0x61, 0x64, 0x65, 0x4e, 0x6f, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x0b, 0x5a, 0x09, 0x2e, 0x2f, 0x70, 0x61, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_pb_payment_proto_rawDescOnce sync.Once + file_pb_payment_proto_rawDescData = file_pb_payment_proto_rawDesc +) + +func file_pb_payment_proto_rawDescGZIP() []byte { + file_pb_payment_proto_rawDescOnce.Do(func() { + file_pb_payment_proto_rawDescData = protoimpl.X.CompressGZIP(file_pb_payment_proto_rawDescData) + }) + return file_pb_payment_proto_rawDescData +} + +var file_pb_payment_proto_msgTypes = make([]protoimpl.MessageInfo, 74) +var file_pb_payment_proto_goTypes = []interface{}{ + (*AntomPayQueryRequest)(nil), // 0: payment.AntomPayQueryRequest + (*AntomPayQueryResponse)(nil), // 1: payment.AntomPayQueryResponse + (*AntomNotifyPayRequest)(nil), // 2: payment.AntomNotifyPayRequest + (*AntomNotifyPayResponse)(nil), // 3: payment.AntomNotifyPayResponse + (*CreatePayRequest)(nil), // 4: payment.CreatePayRequest + (*CreatePayResponse)(nil), // 5: payment.CreatePayResponse + (*CreateRefundRequest)(nil), // 6: payment.CreateRefundRequest + (*CreateRefundResponse)(nil), // 7: payment.CreateRefundResponse + (*NotifyPayRequest)(nil), // 8: payment.NotifyPayRequest + (*NotifyPayResponse)(nil), // 9: payment.NotifyPayResponse + (*HttpRequest)(nil), // 10: payment.HttpRequest + (*CommonMsg)(nil), // 11: payment.CommonMsg + (*EmptyRequest)(nil), // 12: payment.EmptyRequest + (*CreateStripeCheckoutSessionRequest)(nil), // 13: payment.CreateStripeCheckoutSessionRequest + (*CreateStripeCheckoutSessionResponse)(nil), // 14: payment.CreateStripeCheckoutSessionResponse + (*GetCheckoutWebhookRequest)(nil), // 15: payment.GetCheckoutWebhookRequest + (*GetCheckoutWebhookResponse)(nil), // 16: payment.GetCheckoutWebhookResponse + (*GetStripePaymentIntentInfoRequest)(nil), // 17: payment.GetStripePaymentIntentInfoRequest + (*GetStripePaymentIntentInfoResponse)(nil), // 18: payment.GetStripePaymentIntentInfoResponse + (*GetRefundInfoRequest)(nil), // 19: payment.GetRefundInfoRequest + (*GetRefundInfoResponse)(nil), // 20: payment.GetRefundInfoResponse + (*AliWapPayRequest)(nil), // 21: payment.AliWapPayRequest + (*AliWapPayResponse)(nil), // 22: payment.AliWapPayResponse + (*AliAppPayRequest)(nil), // 23: payment.AliAppPayRequest + (*AliAppPayResponse)(nil), // 24: payment.AliAppPayResponse + (*AliNativePayRequest)(nil), // 25: payment.AliNativePayRequest + (*AliNativePayResponse)(nil), // 26: payment.AliNativePayResponse + (*AliPcWabPayRequest)(nil), // 27: payment.AliPcWabPayRequest + (*AliPcWabPayResponse)(nil), // 28: payment.AliPcWabPayResponse + (*AliReFundRequest)(nil), // 29: payment.AliReFundRequest + (*AliReFundResponse)(nil), // 30: payment.AliReFundResponse + (*AliNotifyRequest)(nil), // 31: payment.AliNotifyRequest + (*AliNotifyResponse)(nil), // 32: payment.AliNotifyResponse + (*AliQueryByOutTradeNoRequest)(nil), // 33: payment.AliQueryByOutTradeNoRequest + (*AliQueryByOutTradeNoResponse)(nil), // 34: payment.AliQueryByOutTradeNoResponse + (*AliRefundQueryByOutTradeNoRequest)(nil), // 35: payment.AliRefundQueryByOutTradeNoRequest + (*AliRefundQueryByOutTradeNoResponse)(nil), // 36: payment.AliRefundQueryByOutTradeNoResponse + (*WechatJsApiPayRequest)(nil), // 37: payment.WechatJsApiPayRequest + (*WechatJsApiPayResponse)(nil), // 38: payment.WechatJsApiPayResponse + (*WechatAppPayResponse)(nil), // 39: payment.WechatAppPayResponse + (*WechatJsApiQueryByOutTradeNoRequest)(nil), // 40: payment.WechatJsApiQueryByOutTradeNoRequest + (*WechatJsApiQueryByOutTradeNoResponse)(nil), // 41: payment.WechatJsApiQueryByOutTradeNoResponse + (*WechatAppQueryByOutTradeNoRequest)(nil), // 42: payment.WechatAppQueryByOutTradeNoRequest + (*WechatAppQueryByOutTradeNoResponse)(nil), // 43: payment.WechatAppQueryByOutTradeNoResponse + (*GetPayByOutTradeNoRequest)(nil), // 44: payment.GetPayByOutTradeNoRequest + (*GetPayByOutTradeNoResponse)(nil), // 45: payment.GetPayByOutTradeNoResponse + (*WechatJsApiRefundsResponse)(nil), // 46: payment.WechatJsApiRefundsResponse + (*WechatNativePayRequest)(nil), // 47: payment.WechatNativePayRequest + (*WechatNativePayResponse)(nil), // 48: payment.WechatNativePayResponse + (*WechatNativeQueryByOutTradeNoRequest)(nil), // 49: payment.WechatNativeQueryByOutTradeNoRequest + (*WechatRefundQueryByOutRefundNoRequest)(nil), // 50: payment.WechatRefundQueryByOutRefundNoRequest + (*WechatRefundQueryByOutRefundNoResponse)(nil), // 51: payment.WechatRefundQueryByOutRefundNoResponse + (*WechatNativeQueryByOutTradeNoResponse)(nil), // 52: payment.WechatNativeQueryByOutTradeNoResponse + (*WechatAppPayRequest)(nil), // 53: payment.WechatAppPayRequest + (*WechatJsApiRefundsRequest)(nil), // 54: payment.WechatJsApiRefundsRequest + (*WechatH5PayRequest)(nil), // 55: payment.WechatH5PayRequest + (*WechatH5PayResponse)(nil), // 56: payment.WechatH5PayResponse + (*WechatH5QueryByOutTradeNoRequest)(nil), // 57: payment.WechatH5QueryByOutTradeNoRequest + (*WechatH5QueryByOutTradeNoResponse)(nil), // 58: payment.WechatH5QueryByOutTradeNoResponse + (*WechatPayOkRequest)(nil), // 59: payment.WechatPayOkRequest + (*CommonResponse)(nil), // 60: payment.CommonResponse + (*PayQueryRequest)(nil), // 61: payment.PayQueryRequest + (*PayQueryResponse)(nil), // 62: payment.PayQueryResponse + (*PaymentOrderInfo)(nil), // 63: payment.PaymentOrderInfo + (*ExportPayRequest)(nil), // 64: payment.ExportPayRequest + (*ExportPayResponse)(nil), // 65: payment.ExportPayResponse + (*OrderDetail)(nil), // 66: payment.OrderDetail + (*BusinessInfo)(nil), // 67: payment.BusinessInfo + (*Overview)(nil), // 68: payment.Overview + (*ChannelIncome)(nil), // 69: payment.ChannelIncome + nil, // 70: payment.HttpRequest.HeadersEntry + (*WechatAppQueryByOutTradeNoResponse_Payer)(nil), // 71: payment.WechatAppQueryByOutTradeNoResponse.Payer + (*WechatAppQueryByOutTradeNoResponse_Amount)(nil), // 72: payment.WechatAppQueryByOutTradeNoResponse.Amount + (*WechatAppQueryByOutTradeNoResponse_PromotionDetail)(nil), // 73: payment.WechatAppQueryByOutTradeNoResponse.PromotionDetail +} +var file_pb_payment_proto_depIdxs = []int32{ + 63, // 0: payment.AntomPayQueryResponse.infos:type_name -> payment.PaymentOrderInfo + 10, // 1: payment.NotifyPayRequest.http_request:type_name -> payment.HttpRequest + 70, // 2: payment.HttpRequest.headers:type_name -> payment.HttpRequest.HeadersEntry + 73, // 3: payment.WechatAppQueryByOutTradeNoResponse.promotionDetail:type_name -> payment.WechatAppQueryByOutTradeNoResponse.PromotionDetail + 71, // 4: payment.WechatAppQueryByOutTradeNoResponse.payer:type_name -> payment.WechatAppQueryByOutTradeNoResponse.Payer + 72, // 5: payment.WechatAppQueryByOutTradeNoResponse.amount:type_name -> payment.WechatAppQueryByOutTradeNoResponse.Amount + 63, // 6: payment.PayQueryResponse.infos:type_name -> payment.PaymentOrderInfo + 68, // 7: payment.ExportPayResponse.overview:type_name -> payment.Overview + 69, // 8: payment.ExportPayResponse.channelIncomes:type_name -> payment.ChannelIncome + 67, // 9: payment.ExportPayResponse.businessInfos:type_name -> payment.BusinessInfo + 66, // 10: payment.ExportPayResponse.orderDetails:type_name -> payment.OrderDetail + 4, // 11: payment.Payment.CreatePay:input_type -> payment.CreatePayRequest + 8, // 12: payment.Payment.NotifyPay:input_type -> payment.NotifyPayRequest + 61, // 13: payment.Payment.QueryPayByOutTradeNo:input_type -> payment.PayQueryRequest + 64, // 14: payment.Payment.QueryExportPay:input_type -> payment.ExportPayRequest + 6, // 15: payment.Payment.CreateRefund:input_type -> payment.CreateRefundRequest + 15, // 16: payment.Payment.StripeGermanyWebhook:input_type -> payment.GetCheckoutWebhookRequest + 8, // 17: payment.Payment.AliCommonWebhook:input_type -> payment.NotifyPayRequest + 8, // 18: payment.Payment.WechatFengLianWebhook:input_type -> payment.NotifyPayRequest + 2, // 19: payment.Payment.AntomWebhook:input_type -> payment.AntomNotifyPayRequest + 0, // 20: payment.Payment.QueryAntomPayByCheckoutSessionId:input_type -> payment.AntomPayQueryRequest + 13, // 21: payment.Payment.CreateStripeCheckoutSession:input_type -> payment.CreateStripeCheckoutSessionRequest + 21, // 22: payment.Payment.AliWapPay:input_type -> payment.AliWapPayRequest + 23, // 23: payment.Payment.AliAppPay:input_type -> payment.AliAppPayRequest + 25, // 24: payment.Payment.AliNativePay:input_type -> payment.AliNativePayRequest + 27, // 25: payment.Payment.AliPcWabPay:input_type -> payment.AliPcWabPayRequest + 29, // 26: payment.Payment.AliReFund:input_type -> payment.AliReFundRequest + 31, // 27: payment.Payment.AliNotify:input_type -> payment.AliNotifyRequest + 33, // 28: payment.Payment.AliQueryByOutTradeNo:input_type -> payment.AliQueryByOutTradeNoRequest + 35, // 29: payment.Payment.AliRefundQueryByOutTradeNo:input_type -> payment.AliRefundQueryByOutTradeNoRequest + 37, // 30: payment.Payment.WechatJsApiPay:input_type -> payment.WechatJsApiPayRequest + 40, // 31: payment.Payment.WechatJsApiQueryByOutTradeNo:input_type -> payment.WechatJsApiQueryByOutTradeNoRequest + 44, // 32: payment.Payment.GetPayByOutTradeNo:input_type -> payment.GetPayByOutTradeNoRequest + 54, // 33: payment.Payment.WechatJsApiRefunds:input_type -> payment.WechatJsApiRefundsRequest + 59, // 34: payment.Payment.SetPayOk:input_type -> payment.WechatPayOkRequest + 53, // 35: payment.Payment.WechatAppPay:input_type -> payment.WechatAppPayRequest + 42, // 36: payment.Payment.WechatAppQueryByOutTradeNo:input_type -> payment.WechatAppQueryByOutTradeNoRequest + 47, // 37: payment.Payment.WechatNativePay:input_type -> payment.WechatNativePayRequest + 49, // 38: payment.Payment.WechatNativeQueryByOutTradeNo:input_type -> payment.WechatNativeQueryByOutTradeNoRequest + 50, // 39: payment.Payment.WechatRefundQueryByOutRefundNo:input_type -> payment.WechatRefundQueryByOutRefundNoRequest + 55, // 40: payment.Payment.WechatH5Pay:input_type -> payment.WechatH5PayRequest + 57, // 41: payment.Payment.WechatH5QueryByOutTradeNo:input_type -> payment.WechatH5QueryByOutTradeNoRequest + 5, // 42: payment.Payment.CreatePay:output_type -> payment.CreatePayResponse + 9, // 43: payment.Payment.NotifyPay:output_type -> payment.NotifyPayResponse + 62, // 44: payment.Payment.QueryPayByOutTradeNo:output_type -> payment.PayQueryResponse + 65, // 45: payment.Payment.QueryExportPay:output_type -> payment.ExportPayResponse + 7, // 46: payment.Payment.CreateRefund:output_type -> payment.CreateRefundResponse + 16, // 47: payment.Payment.StripeGermanyWebhook:output_type -> payment.GetCheckoutWebhookResponse + 9, // 48: payment.Payment.AliCommonWebhook:output_type -> payment.NotifyPayResponse + 9, // 49: payment.Payment.WechatFengLianWebhook:output_type -> payment.NotifyPayResponse + 3, // 50: payment.Payment.AntomWebhook:output_type -> payment.AntomNotifyPayResponse + 1, // 51: payment.Payment.QueryAntomPayByCheckoutSessionId:output_type -> payment.AntomPayQueryResponse + 14, // 52: payment.Payment.CreateStripeCheckoutSession:output_type -> payment.CreateStripeCheckoutSessionResponse + 22, // 53: payment.Payment.AliWapPay:output_type -> payment.AliWapPayResponse + 24, // 54: payment.Payment.AliAppPay:output_type -> payment.AliAppPayResponse + 26, // 55: payment.Payment.AliNativePay:output_type -> payment.AliNativePayResponse + 28, // 56: payment.Payment.AliPcWabPay:output_type -> payment.AliPcWabPayResponse + 30, // 57: payment.Payment.AliReFund:output_type -> payment.AliReFundResponse + 32, // 58: payment.Payment.AliNotify:output_type -> payment.AliNotifyResponse + 34, // 59: payment.Payment.AliQueryByOutTradeNo:output_type -> payment.AliQueryByOutTradeNoResponse + 36, // 60: payment.Payment.AliRefundQueryByOutTradeNo:output_type -> payment.AliRefundQueryByOutTradeNoResponse + 38, // 61: payment.Payment.WechatJsApiPay:output_type -> payment.WechatJsApiPayResponse + 41, // 62: payment.Payment.WechatJsApiQueryByOutTradeNo:output_type -> payment.WechatJsApiQueryByOutTradeNoResponse + 45, // 63: payment.Payment.GetPayByOutTradeNo:output_type -> payment.GetPayByOutTradeNoResponse + 46, // 64: payment.Payment.WechatJsApiRefunds:output_type -> payment.WechatJsApiRefundsResponse + 60, // 65: payment.Payment.SetPayOk:output_type -> payment.CommonResponse + 39, // 66: payment.Payment.WechatAppPay:output_type -> payment.WechatAppPayResponse + 43, // 67: payment.Payment.WechatAppQueryByOutTradeNo:output_type -> payment.WechatAppQueryByOutTradeNoResponse + 48, // 68: payment.Payment.WechatNativePay:output_type -> payment.WechatNativePayResponse + 52, // 69: payment.Payment.WechatNativeQueryByOutTradeNo:output_type -> payment.WechatNativeQueryByOutTradeNoResponse + 51, // 70: payment.Payment.WechatRefundQueryByOutRefundNo:output_type -> payment.WechatRefundQueryByOutRefundNoResponse + 56, // 71: payment.Payment.WechatH5Pay:output_type -> payment.WechatH5PayResponse + 58, // 72: payment.Payment.WechatH5QueryByOutTradeNo:output_type -> payment.WechatH5QueryByOutTradeNoResponse + 42, // [42:73] is the sub-list for method output_type + 11, // [11:42] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name +} + +func init() { file_pb_payment_proto_init() } +func file_pb_payment_proto_init() { + if File_pb_payment_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_pb_payment_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AntomPayQueryRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AntomPayQueryResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AntomNotifyPayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AntomNotifyPayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreatePayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreatePayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateRefundRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateRefundResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NotifyPayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NotifyPayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*HttpRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommonMsg); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EmptyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateStripeCheckoutSessionRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CreateStripeCheckoutSessionResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetCheckoutWebhookRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetCheckoutWebhookResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetStripePaymentIntentInfoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetStripePaymentIntentInfoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRefundInfoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetRefundInfoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliWapPayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliWapPayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliAppPayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliAppPayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliNativePayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliNativePayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliPcWabPayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliPcWabPayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliReFundRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliReFundResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliNotifyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliNotifyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliQueryByOutTradeNoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliQueryByOutTradeNoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliRefundQueryByOutTradeNoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*AliRefundQueryByOutTradeNoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatJsApiPayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatJsApiPayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatAppPayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatJsApiQueryByOutTradeNoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatJsApiQueryByOutTradeNoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatAppQueryByOutTradeNoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatAppQueryByOutTradeNoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPayByOutTradeNoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetPayByOutTradeNoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatJsApiRefundsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatNativePayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatNativePayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatNativeQueryByOutTradeNoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatRefundQueryByOutRefundNoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatRefundQueryByOutRefundNoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatNativeQueryByOutTradeNoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatAppPayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatJsApiRefundsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatH5PayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatH5PayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatH5QueryByOutTradeNoRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatH5QueryByOutTradeNoResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatPayOkRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CommonResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PayQueryRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PayQueryResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PaymentOrderInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportPayRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExportPayResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*OrderDetail); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BusinessInfo); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Overview); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ChannelIncome); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[71].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatAppQueryByOutTradeNoResponse_Payer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatAppQueryByOutTradeNoResponse_Amount); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_pb_payment_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*WechatAppQueryByOutTradeNoResponse_PromotionDetail); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_pb_payment_proto_rawDesc, + NumEnums: 0, + NumMessages: 74, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_pb_payment_proto_goTypes, + DependencyIndexes: file_pb_payment_proto_depIdxs, + MessageInfos: file_pb_payment_proto_msgTypes, + }.Build() + File_pb_payment_proto = out.File + file_pb_payment_proto_rawDesc = nil + file_pb_payment_proto_goTypes = nil + file_pb_payment_proto_depIdxs = nil +} diff --git a/api/payment/payment.proto b/api/payment/payment.proto new file mode 100644 index 0000000..abe77c6 --- /dev/null +++ b/api/payment/payment.proto @@ -0,0 +1,742 @@ +syntax = "proto3"; +package payment; + +option go_package = "./payment"; + +//import "pb/descriptor.proto"; +service Payment{ + + // 统一渠道支付 + rpc CreatePay(CreatePayRequest) returns (CreatePayResponse); // 创建支付 + rpc NotifyPay(NotifyPayRequest) returns (NotifyPayResponse); // 支付回调 + rpc QueryPayByOutTradeNo(PayQueryRequest) returns (PayQueryResponse);// 根据外部流水号和来源,查看付款信息 + rpc QueryExportPay(ExportPayRequest) returns (ExportPayResponse); // 导出数据报表 + rpc CreateRefund(CreateRefundRequest) returns (CreateRefundResponse); // 发起退款,暂定公共 + + rpc StripeGermanyWebhook(GetCheckoutWebhookRequest) returns(GetCheckoutWebhookResponse){};// stripe支付回调, 德国账号 + + rpc AliCommonWebhook(NotifyPayRequest) returns (NotifyPayResponse){}; // 支付宝支付回调,通用 + + rpc WechatFengLianWebhook(NotifyPayRequest) returns (NotifyPayResponse){}; // 微信支付回调,丰链 + rpc AntomWebhook(AntomNotifyPayRequest) returns (AntomNotifyPayResponse){}; // Antom支付回调 + rpc QueryAntomPayByCheckoutSessionId(AntomPayQueryRequest) returns (AntomPayQueryResponse){}; // 根据checkoutSessionIds查询支付情况 + + + + // ========== 下面的暂时没用 + + + // stripe支付 + rpc CreateStripeCheckoutSession(CreateStripeCheckoutSessionRequest) returns (CreateStripeCheckoutSessionResponse){}; // 创建支付会话链接 +// rpc CommonCheckoutWebhook(GetCheckoutWebhookRequest) returns(GetCheckoutWebhookResponse){}; // 支付回调,通用 + + // 支付宝支付 + rpc AliWapPay(AliWapPayRequest) returns (AliWapPayResponse) {}; // ali网页支付 + rpc AliAppPay(AliAppPayRequest) returns (AliAppPayResponse) {}; // aliApp支付 + rpc AliNativePay(AliNativePayRequest) returns (AliNativePayResponse) {}; // aliApp当面支付 + rpc AliPcWabPay(AliPcWabPayRequest) returns (AliPcWabPayResponse) {}; // ali电脑网页支付 + rpc AliReFund(AliReFundRequest) returns (AliReFundResponse) {}; // ali退款 + rpc AliNotify(AliNotifyRequest) returns (AliNotifyResponse) {}; // ali回调 + rpc AliQueryByOutTradeNo(AliQueryByOutTradeNoRequest) returns (AliQueryByOutTradeNoResponse) {}; // ali查询订单 + rpc AliRefundQueryByOutTradeNo(AliRefundQueryByOutTradeNoRequest) returns (AliRefundQueryByOutTradeNoResponse) {}; // ali查询退款订单 + + // 微信支付 + rpc WechatJsApiPay(WechatJsApiPayRequest) returns (WechatJsApiPayResponse) {}; // jsapi 本地支付订单保存+微信支付平台预支付订单生成 + rpc WechatJsApiQueryByOutTradeNo(WechatJsApiQueryByOutTradeNoRequest) returns (WechatJsApiQueryByOutTradeNoResponse) {}; // 通过outTrandeNo 获取 微信 jsapi 支付订单状态 + rpc GetPayByOutTradeNo(GetPayByOutTradeNoRequest) returns (GetPayByOutTradeNoResponse) {}; // 通过outTrandeNo 查询支付的id + rpc WechatJsApiRefunds(WechatJsApiRefundsRequest) returns (WechatJsApiRefundsResponse) {}; // + rpc SetPayOk(WechatPayOkRequest) returns (CommonResponse) {}; // + rpc WechatAppPay(WechatAppPayRequest) returns (WechatAppPayResponse) {}; // app 本地支付订单保存+微信支付平台预支付订单生成 + rpc WechatAppQueryByOutTradeNo(WechatAppQueryByOutTradeNoRequest) returns (WechatAppQueryByOutTradeNoResponse) {}; // 通过outTrandeNo 获取 微信 App 支付订单状态 + rpc WechatNativePay(WechatNativePayRequest) returns (WechatNativePayResponse) {}; // native 本地支付订单保存+微信付款链接生成 + rpc WechatNativeQueryByOutTradeNo(WechatNativeQueryByOutTradeNoRequest) returns (WechatNativeQueryByOutTradeNoResponse) {}; // 通过outTrandeNo 获取 微信 App 支付订单状态 + rpc WechatRefundQueryByOutRefundNo(WechatRefundQueryByOutRefundNoRequest) returns (WechatRefundQueryByOutRefundNoResponse) {}; // wx查询退款订单 + rpc WechatH5Pay(WechatH5PayRequest) returns (WechatH5PayResponse) {}; // H5 本地支付订单保存+微信支付平台预支付订单生成 + rpc WechatH5QueryByOutTradeNo(WechatH5QueryByOutTradeNoRequest) returns (WechatH5QueryByOutTradeNoResponse) {}; // 通过outTrandeNo 获取 微信 H5 支付订单状态 + +} + +message AntomPayQueryRequest { + repeated string checkoutSessionIds = 1 [json_name = "checkoutSessionIds"]; +} + +message AntomPayQueryResponse { + repeated PaymentOrderInfo infos = 1 [json_name = "infos"]; +} + +message AntomNotifyPayRequest { + string notifyType = 1 [json_name = "notifyType"]; + string requestId = 2 [json_name = "requestId"]; + string paymentId = 3 [json_name = "paymentId"]; + string paymentTime = 4 [json_name = "paymentTime"]; + string resultStatus = 5 [json_name = "resultStatus"]; + string resultMessage = 6 [json_name = "resultMessage"]; +} + +message AntomNotifyPayResponse { + string status = 1 [json_name = "status"]; + string outTradeNo = 2 [json_name = "outTradeNo"]; +} + +message CreatePayRequest { + string postUrl = 1 [json_name = "postUrl"]; // 请求接口 + string subject = 2 [json_name = "subject"]; // 订单标题 + string productUUID = 3 [json_name = "productUUID"]; // 商品uid + string productName = 4 [json_name = "productName"]; // 商品名称 + string productImg = 5 [json_name = "productImg"]; // 商品图像 + string productDescription = 6 [json_name = "productDescription"]; // 商品描述 + + string quitUrl = 7 [json_name = "quitUrl"]; // 退出url + string notifyUrl = 8 [json_name = "notifyUrl"]; // 回调url + string returnUrl = 9 [json_name = "returnUrl"]; // 返回url + + string outTradeNo = 10 [json_name = "outTradeNo"]; // 外部流水号 + string channelTradeNo = 11 [json_name = "channelTradeNo"]; // 渠道流水号 + string checkSessionId = 12 [json_name = "checkSessionId"]; // stripe的支付会话id + + int64 amount = 13 [json_name = "amount"]; // 金额 + string currency = 14 [json_name = "currency"]; // 币种 + + string payee = 15 [json_name = "payee"]; // 收款方 + string channelType = 16 [json_name = "channelType"]; // 支付渠道 alipay-支付宝 wxpay-微信 stripe-Stripe支付 + string platform = 17 [json_name = "platform"]; // 支付具体来源,是app还是h5还是jsapi还是wap + string domain = 18 [json_name = "domain"]; // 使用平台 + string businessType = 19 [json_name = "businessType"]; // 业务类型,用来确认mq发送 + + string language = 20 [json_name = "language"]; // 语言,国际化 + string clientIp = 21 [json_name = "clientIp"]; + + string openID = 22 [json_name = "openID"]; // 微信的参数 + int32 timeExpire = 23 [json_name = "timeExpire"]; // 微信的参数 + string locale = 24 [json_name = "locale"]; // stripe参数,区域,跟页面国际化有关 +} + +message CreatePayResponse { + string url = 1 [json_name = "url"]; + string logRecordID = 2 [json_name = "log_record_ID"]; + string msg = 3 [json_name="msg"]; + + string appid = 4 [json_name = "appid"]; + string timeStamp = 5 [json_name = "timeStamp"]; + string package = 6 [json_name = "package"]; + string signType = 7 [json_name = "signType"]; + string nonceStr = 8 [json_name = "nonceStr"]; + string paySign = 9 [json_name = "paySign"]; + string prepayId = 10 [json_name = "prepayId"]; + string partnerId = 11 [json_name = "partnerId"]; + + string checkoutSessionId = 12 [json_name = "checkoutSessionId"]; +} + +message CreateRefundRequest { + string postUrl = 1 [json_name = "postUrl"]; // 请求接口 + string subject = 2 [json_name = "subject"]; // 订单标题 + string productUUID = 3 [json_name = "productUUID"]; // 商品uid + string outTradeNo = 4 [json_name = "outTradeNo"]; // 外部流水号 + string channelTradeNo = 5 [json_name = "channelTradeNo"]; // 渠道流水号 + string checkSessionId = 6 [json_name = "checkSessionId"]; // stripe的支付会话id + int64 refundAmount = 7 [json_name = "refundAmount"]; // 退款金额 + string currency = 8 [json_name = "currency"]; // 币种 + string payee = 9 [json_name = "payee"]; // 收款方 + string channelType = 10 [json_name = "channelType"]; // 支付渠道 alipay-支付宝 wxpay-微信 stripe-Stripe支付 + string platform = 11 [json_name = "platform"]; // 支付具体来源,是app还是h5还是jsapi还是wap + string domain = 12 [json_name = "domain"]; // 使用平台 + string businessType = 13 [json_name = "businessType"]; // 业务类型,用来确认mq发送 + string language = 14 [json_name = "language"]; // 语言,国际化 + string clientIp = 15 [json_name = "clientIp"]; + string openID = 16 [json_name = "openID"]; // 微信的参数 + int64 creatorId = 17 [json_name = "creatorId"]; // 创建人id + string creatorName = 18 [json_name = "creatorName"]; // 创建人名称 + string refundReason = 19 [json_name = "refundReason"]; // 退款理由 +} + +message CreateRefundResponse { + int64 code = 1 [json_name = "code"]; + string msg = 2 [json_name="msg"]; +} + +message NotifyPayRequest { + string postUrl = 1; // 请求接口 + HttpRequest http_request = 2; + string rawQuery = 3 [json_name="raw_query"]; +} + +message NotifyPayResponse { + string msg = 1; + string outTradeNo = 2; +} + +message HttpRequest { + string method = 1; + string url = 2; + map headers = 3; + bytes body = 4; +} + +message CommonMsg{ + string msg = 1; +} + +message EmptyRequest{} + +message CreateStripeCheckoutSessionRequest { + string productUUID = 1 [json_name = "productUUID"]; + string productName = 2 [json_name = "productName"]; + int64 productQuantity = 3 [json_name = "productQuantity"]; + int64 productAllPrice = 4 [json_name = "productAllPrice"]; + string productDescription = 5 [json_name = "productDescription"]; + string productImageUrl = 6 [json_name = "productImageUrl"]; + string productPriceCurrency = 7 [json_name = "productPriceCurrency"]; + string createrID = 8 [json_name = "createrID"]; + string createrName = 9 [json_name = "createrName"]; + string domain = 10 [json_name = "domain"]; + string successUrl = 11 [json_name = "successUrl"]; + string cancelUrl = 12 [json_name = "cancelUrl"]; + string outTradeNo = 13 [json_name = "outTradeNo"]; + string locale = 14 [json_name = "locale"]; +} + +message CreateStripeCheckoutSessionResponse { + string checkoutSessionId = 1 [json_name = "checkoutSessionId"]; + string checkoutSessionUrl = 2 [json_name = "checkoutSessionUrl"]; +} + +message GetCheckoutWebhookRequest { + string postUrl = 1; // 请求接口 + string type = 2; // 事件类型,例如"payment_intent.succeeded" + string payload = 3; // 事件的原始JSON payload + string signature = 4; // Stripe-Signature头的值,用于验证事件 + string webhookKey = 5; // Webhook密钥 +} + +message GetCheckoutWebhookResponse { + bool success = 1; // 处理是否成功 + string message = 2; // 可选的处理消息 + string outTradeNo = 3 [json_name = "outTradeNo"]; + string paymentIntentStatus = 4 [json_name = "paymentIntentStatus"]; +} + +message GetStripePaymentIntentInfoRequest { + string checkoutSessionId = 1 [json_name = "checkoutSessionId"]; + string createrID = 2 [json_name = "createrID"]; +} + +message GetStripePaymentIntentInfoResponse { + string checkoutSessionId = 1 [json_name = "checkoutSessionId"]; + string checkoutSessionStatus = 2 [json_name = "checkoutSessionStatus"]; + string paymentIntentId = 3 [json_name = "paymentIntentId"]; + string paymentIntentCreated = 4 [json_name = "paymentIntentCreated"]; + string paymentIntentStatus = 5 [json_name = "paymentIntentStatus"]; + string chargeId = 6 [json_name = "chargeId"]; + int64 payPrice = 7 [json_name = "payPrice"]; + string payExchangeRate = 8 [json_name = "payExchangeRate"]; + string payCurrency = 9 [json_name = "payCurrency"]; + string accountCurrency = 10 [json_name = "accountCurrency"]; + int64 afterRatePayPrice = 11 [json_name = "afterRatePayPrice"]; + int64 payHandingFee = 12 [json_name = "payHandingFee"]; + int64 afterRatePayNetAmount = 13 [json_name = "afterRatePayNetAmount"]; + string customerId = 14 [json_name = "customerId"]; + int64 refundPrice = 15 [json_name = "refundPrice"]; + string outTradeNo = 16 [json_name = "outTradeNo"]; +} + +message GetRefundInfoRequest { + string refundId = 1 [json_name = "refundId"]; + string createrID = 2 [json_name = "createrID"]; +} + +message GetRefundInfoResponse { + string refundStatus = 1 [json_name = "refundStatus"]; +} + +message AliWapPayRequest { + string subject = 1 [json_name = "subject"]; + string productCode = 2 [json_name = "product_code"]; + string outTradeNo = 3 [json_name = "out_trade_no"]; + string quitUrl = 4 [json_name = "quit_url"]; + string notifyUrl = 5 [json_name = "notify_url"]; + string returnUrl = 6 [json_name = "return_url"]; + int32 totalAmount = 7 [json_name = "total_amount"]; + int32 timeExpire = 8 [json_name = "time_expire"]; + string domain = 9 ; + string platform = 10 ; +} + +message AliWapPayResponse { + string url = 1 [json_name = "url"]; + string logRecordID = 2 [json_name = "log_record_ID"]; + string msg = 3 [json_name="msg"]; +} + +message AliAppPayRequest { + string subject = 1 [json_name = "subject"]; + string productCode = 2 [json_name = "product_code"]; + string outTradeNo = 3 [json_name = "out_trade_no"]; + string quitUrl = 4 [json_name = "quit_url"]; + string notifyUrl = 5 [json_name = "notify_url"]; + string returnUrl = 6 [json_name = "return_url"]; + string totalAmount = 7 [json_name = "total_amount"]; + int32 timeExpire = 8 [json_name = "time_expire"]; + string domain = 9 ; + string platform = 10 ; + int32 payType = 11 ; +} + +message AliAppPayResponse { + string url = 1 [json_name = "url"]; + string logRecordID = 2 [json_name = "log_record_ID"]; + string msg = 3 [json_name="msg"]; +} + +message AliNativePayRequest { + string subject = 1 [json_name = "subject"]; + string outTradeNo = 2 [json_name = "out_trade_no"]; + string notifyUrl = 3 [json_name = "notify_url"]; + int32 totalAmount = 4 [json_name = "total_amount"]; + int32 timeExpire = 5 [json_name = "time_expire"]; + string domain = 6 [json_name = "domain"]; + string platform = 7 [json_name = "platform"]; +} + +message AliNativePayResponse { + string url = 1 [json_name = "url"]; + string msg = 2 [json_name="msg"]; +} + +message AliPcWabPayRequest { + string subject = 1 [json_name = "subject"]; + string outTradeNo = 2 [json_name = "out_trade_no"]; + string notifyUrl = 3 [json_name = "notify_url"]; + int32 totalAmount = 4 [json_name = "total_amount"]; + int32 timeExpire = 5 [json_name = "time_expire"]; + string domain = 6 [json_name = "domain"]; + string platform = 7 [json_name = "platform"]; + string quitUrl = 8 [json_name = "quit_url"]; + string returnUrl = 9 [json_name = "return_url"]; +} + +message AliPcWabPayResponse { + string pageRedirectionData = 1 [json_name = "page_redirection_data"]; + string msg = 2 [json_name="msg"]; +} + +message AliReFundRequest { + string outTradeNo = 1 [json_name = "out_trade_no"]; + int32 totalAmount = 2 [json_name = "total_amount"]; +} + +message AliReFundResponse { + string tradeNo = 1 [json_name = "trade_no"]; + string outTradeNo = 2 [json_name = "out_trade_no"]; + string buyer_logon_id = 3 [json_name = "buyer_logon_id"]; + string refund_fee = 4 [json_name = "refund_fee"]; + string msg = 5 [json_name="msg"]; +} + +message AliNotifyRequest { + string rawQuery = 1 [json_name="raw_query"]; +} + +message AliNotifyResponse { + string notifyTime = 1 [json_name="notify_time"]; + string notifyType = 2 [json_name="notify_type"]; + string notifyId = 3 [json_name="notify_id"]; + string appId = 4 [json_name="app_id"]; + string version = 5 [json_name="version"]; + string signType = 6 [json_name="sign_type"]; + string sign = 7 [json_name="sign"]; + string tradeNo = 8 [json_name="trade_no"]; + string outTradeNo = 9 [json_name="out_trade_no"] ; + string buyerLogonId = 10 [json_name="buyer_logon_id"] ; + string buyerId = 11 [json_name="buyer_id"] ; + string tradeStatus = 12 [json_name="trade_status"] ; +} + +message AliQueryByOutTradeNoRequest { + string outTradeNo = 1 [json_name = "outTradeNo"]; +} + +message AliQueryByOutTradeNoResponse { + string tradeNo = 1 [json_name = "trade_no"]; + string outTradeNo = 2 [json_name = "out_trade_no"]; + string buyerLogonId = 3 [json_name = "buyer_logon_id"]; + string tradeStatus = 4 [json_name = "trade_status"]; + string totalAmount = 5 [json_name = "total_amount"]; + string buyerUserID = 6 [json_name = "buyer_user_id"]; +} + +message AliRefundQueryByOutTradeNoRequest { + string outTradeNo = 1 [json_name = "outTradeNo"]; +} + +message AliRefundQueryByOutTradeNoResponse { + string tradeNo = 1 [json_name = "trade_no"]; + string outTradeNo = 2 [json_name = "out_trade_no"]; + string out_request_no = 3 [json_name = "out_request_no"]; + string total_amount = 4 [json_name = "total_amount"]; + string refund_amount = 5 [json_name = "refund_amount"]; + string refund_status = 6 [json_name = "refund_status"]; +} + +message WechatJsApiPayRequest { + string Description = 1 [json_name = "description"]; + string OutTradeNo = 2 [json_name = "outTradeNo"]; + int64 Cent = 3 [json_name = "cent"]; + string OpenID = 4 [json_name = "openID"]; + string NotifyUrl = 5 [json_name = "notifyUrl"]; + string AppID = 6 [json_name = "appID"]; + string ClientIP = 7 [json_name = "ClientIP"]; + uint32 recordId = 9 ; + string domain = 10 ; + string platform = 11 ; + string scene = 12 ; + int32 timeExpire = 13 [json_name = "time_expire"]; +} + + +message WechatJsApiPayResponse { + string Appid = 1 [json_name = "appid"]; + string TimeStamp = 2 [json_name = "timeStamp"]; + string Package = 3 [json_name = "package"]; + string SignType = 4 [json_name = "signType"]; + string NonceStr = 5 [json_name = "nonceStr"]; + string PaySign = 6 [json_name = "paySign"]; + string PrepayId = 7 [json_name = "prepayId"]; + +} + +message WechatAppPayResponse { + string Appid = 1 [json_name = "appid"]; + string TimeStamp = 2 [json_name = "timeStamp"]; + string Package = 3 [json_name = "package"]; + string SignType = 4 [json_name = "signType"]; + string NonceStr = 5 [json_name = "nonceStr"]; + string PaySign = 6 [json_name = "paySign"]; + string PrepayId = 7 [json_name = "prepayId"]; + string PartnerId = 8 [json_name = "partnerId"]; + string msg = 9 [json_name="msg"]; +} + +message WechatJsApiQueryByOutTradeNoRequest { + string outTradeNo = 1 [json_name = "outTradeNo"]; +} + +message WechatJsApiQueryByOutTradeNoResponse { + string appID = 1 [json_name = "appID"]; + string mchID = 2 [json_name = "mch_id"]; + string outTradeNo = 3 [json_name = "out_trade_no"]; + string transactionId = 4 [json_name = "transaction_id"]; + string tradeType = 5 [json_name = "trade_type"]; + string tradeState = 6 [json_name = "trade_state"]; + string bankType = 7 [json_name = "bank_ype"]; + string successTime = 8 [json_name = "success_time"]; + string openID = 9 [json_name = "open_id"]; + int32 total = 10 [json_name = "total"]; +} + +message WechatAppQueryByOutTradeNoRequest { + string outTradeNo = 1 [json_name = "outTradeNo"]; +} + +message WechatAppQueryByOutTradeNoResponse { + string appID = 1 [json_name = "appID"];// 服务提供商的应用ID + string mchID = 2 [json_name = "mch_id"];// 服务商商户ID + // string subAppId = 3 [json_name = "sub_appid"]; // 子应用ID + // string subMchId = 4 [json_name = "sub_mchid"];// 子商户ID + string outTradeNo = 5 [json_name = "out_trade_no"];// 订单号 + string transactionId = 6 [json_name = "transaction_id"];// 微信交易ID + string tradeType = 7 [json_name = "trade_type"];// 交易类型 + string tradeState = 8 [json_name = "trade_state"];// 交易状态 + string tradeStateDesc = 9 [json_name = "trade_state_desc"]; // 交易状态描述 + string bankType = 10 [json_name = "bank_type"]; // 银行类型 + string attach = 11 [json_name = "attach"]; // 附加数据 + string successTime = 12 [json_name = "success_time"];// 支付成功时间 + + message Payer {// 付款人信息 + string openid = 1 [json_name = "openid"]; + } + + message Amount {// 金额信息 + int64 total = 1 [json_name = "total"];// 总金额 + int64 payerTotal = 2 [json_name = "payer_total"];// 付款人支付的金额 + string currency = 3 [json_name = "currency"];// 货币类型 + string payerCurrency = 4 [json_name = "payer_currency"];// 付款人货币类型 + } + + message PromotionDetail {// 促销详情 + string couponId = 1 [json_name = "coupon_id"];// 优惠券ID + string name = 2 [json_name = "name"];// 名称 + string scope = 3 [json_name = "scope"];// 范围 + string type = 4 [json_name = "type"];// 类型 + int64 amount = 5 [json_name = "amount"];// 金额 + string stockId = 6 [json_name = "stock_id"];// 库存ID + int64 wechatpayContribute = 7 [json_name = "wechatpay_contribute"];// 微信支付贡献的金额 + int64 merchantContribute = 8 [json_name = "merchant_contribute"];// 商户贡献的金额 + int64 otherContribute = 9 [json_name = "other_contribute"];// 其他贡献的金额 + string currency = 10 [json_name = "currency"];// 货币类型 + } + // 包含促销详情列表 + repeated PromotionDetail promotionDetail = 13 [json_name = "promotion_detail"]; + // 付款人信息 + Payer payer = 14; + // 金额信息 + Amount amount = 15; +} + + +message GetPayByOutTradeNoRequest { + string OutTradeNo = 4 [json_name = "OutTradeNo"]; +} + +message GetPayByOutTradeNoResponse { + string outTradeNo = 1 ; + uint32 recordId = 2 ; + string cent = 3 ; + string platform = 4 ; + string domain = 5 ; + string scene = 6 ; +} + +message WechatJsApiRefundsResponse { + string RefundId = 1 [json_name = "RefundId"]; + string OutRefundNo = 2 [json_name = "OutRefundNo"]; + string TransactionId = 3 [json_name = "TransactionId"]; + string OutTradeNo = 4 [json_name = "OutTradeNo"]; + string SuccessTime = 5 [json_name = "SuccessTime"]; + string CreateTime = 6 [json_name = "CreateTime"]; + string Status = 7 [json_name = "Status"]; + string Amount = 8 [json_name = "Amount"]; +} + + +message WechatNativePayRequest { + string description = 1 [json_name = "description"]; + string outTradeNo = 2 [json_name = "outTradeNo"]; + int32 cent = 3 [json_name = "cent"]; + string notifyUrl = 5 [json_name = "notifyUrl"]; + string appID = 6 [json_name = "appID"]; + string clientIP = 7 [json_name = "ClientIP"]; + uint32 recordId = 8 ; + string domain = 9 ; + string platform = 10 ; + string scene = 11 ; + int32 timeExpire = 12 [json_name = "time_expire"]; +} + +message WechatNativePayResponse { + string codeUrl = 1 [json_name = "code_url"]; +} + +message WechatNativeQueryByOutTradeNoRequest { + string outTradeNo = 1 [json_name = "outTradeNo"]; +} + +message WechatRefundQueryByOutRefundNoRequest { + string outRefundNo = 1 [json_name = "out_refund_no"]; +} + +message WechatRefundQueryByOutRefundNoResponse { + string refundId = 1 [json_name = "refund_id"]; + string outRefundNo = 2 [json_name = "out_refund_no"]; + string transactionId = 3 [json_name = "transaction_id"]; + string outTradeNo = 4 [json_name = "out_trade_no"]; + string channel = 5 [json_name = "channel"]; + string userReceivedAccount = 6 [json_name = "user_received_account"]; + string successTime = 7 [json_name = "success_time"]; + string createTime = 8 [json_name = "create_time"]; + string status = 9 [json_name = "status"]; + int32 total = 10 [json_name = "total"]; +} + +message WechatNativeQueryByOutTradeNoResponse { + string appID = 1 [json_name = "appID"]; + string mchID = 2 [json_name = "mch_id"]; + string outTradeNo = 3 [json_name = "out_trade_no"]; + string transactionId = 4 [json_name = "transaction_id"]; + string tradeType = 5 [json_name = "trade_type"]; + string tradeState = 6 [json_name = "trade_state"]; + string bankType = 7 [json_name = "bank_ype"]; + string successTime = 8 [json_name = "success_time"]; + string openID = 9 [json_name = "open_id"]; + int32 total = 10 [json_name = "total"]; +} + +message WechatAppPayRequest { + string Description = 1 [json_name = "description"]; + string OutTradeNo = 2 [json_name = "outTradeNo"]; + int64 Cent = 3 [json_name = "cent"]; + string OpenID = 4 [json_name = "openID"]; + string NotifyUrl = 5 [json_name = "notifyUrl"]; + string AppID = 6 [json_name = "appID"]; + string ClientIP = 7 [json_name = "ClientIP"]; + uint32 recordId = 9 ; + string domain = 10 ; + string platform = 11 ; + string scene = 12 ; + int32 timeExpire = 13 [json_name = "time_expire"]; +} + +message WechatJsApiRefundsRequest { + string Reason = 1 [json_name = "Reason"]; + string OutTradeNo = 2 [json_name = "OutTradeNo"]; + string OutRefundNo = 3 [json_name = "OutRefundNo"]; + string NotifyUrl = 4 [json_name = "NotifyUrl"]; + int64 Cent = 5 [json_name = "Cent"]; + string OpenID = 6 [json_name = "OpenID"]; + int64 Total =7[json_name = "Total"]; +} + + +message WechatH5PayRequest { + string Description = 1 [json_name = "description"]; + string OutTradeNo = 2 [json_name = "outTradeNo"]; + int64 Cent = 3 [json_name = "cent"]; + string OpenID = 4 [json_name = "openID"]; + string NotifyUrl = 5 [json_name = "notifyUrl"]; + string AppID = 6 [json_name = "appID"]; + string ClientIP = 7 [json_name = "ClientIP"]; + uint32 recordId = 9 ; + string domain = 10 ; + string platform = 11 ; + string scene = 12 ; + int32 timeExpire = 13 [json_name = "time_expire"]; +} + +message WechatH5PayResponse { + string h5Url = 1 [json_name = "h5_url"]; +} + +message WechatH5QueryByOutTradeNoRequest { + string outTradeNo = 1 [json_name = "outTradeNo"]; +} + +message WechatH5QueryByOutTradeNoResponse { + string appID = 1 [json_name = "appID"]; + string mchID = 2 [json_name = "mch_id"]; + string outTradeNo = 3 [json_name = "out_trade_no"]; + string transactionId = 4 [json_name = "transaction_id"]; + string tradeType = 5 [json_name = "trade_type"]; + string tradeState = 6 [json_name = "trade_state"]; + string tradeStateDesc = 7 [json_name = "trade_state_desc"]; + string bankType = 8 [json_name = "bank_ype"]; + string successTime = 9 [json_name = "success_time"]; + string openID = 10 [json_name = "open_id"]; + int32 total = 11 [json_name = "total"]; +} + +message WechatPayOkRequest { + string outTradeNo = 1 ; + string body = 2 ; +} + +message CommonResponse { + bool Success = 1 [json_name = "success"]; + uint32 ID = 2 ; +} + +message PayQueryRequest { + string payType = 1; + string outTradeNo = 2; +} + +message PayQueryResponse { + repeated PaymentOrderInfo infos = 1; +} + +message PaymentOrderInfo { + int64 id = 1; + string createdAt = 2; + string updatedAt = 3; + string outTradeNo = 4; // 外部流水号 + string channelTradeNo = 5; // 渠道流水号 + int64 amount = 6; // 用户支付总金额 + string currency = 7; // 币种 + string status = 8; + string payTime = 9; + string refundTime = 10; + string payee = 11; + string channelType = 12; // 支付渠道 alipay-支付宝 wxpay-微信 stripe-Stripe支付 + string platform = 13; // 支付具体来源,是app还是h5还是jsapi还是wap + string domain = 14; // 使用平台 + string businessType = 15; // 业务类型,用来确认mq发送 + int64 logId = 16; + string checkSessionId = 17; + string productUUID = 18; + string productName = 19; + string productImg = 20; + string productDescription = 21; + int64 fee = 22; // 手续费 + int64 netIncome = 23; // 净收入【允许退款的最大金额】 +} + +message ExportPayRequest { + string startTime = 1; // 开始时间 + string endTime = 2; // 结束时间 + string reportType = 3; + string reportRangeNum = 4; // 年月 + string channelType = 5; // 交易渠道 + string currency = 6; + string sortBy = 7; // 时间排序asc,desc +} + +message ExportPayResponse { + string reportType = 1; // 日报 月报 + int32 orderNum = 2; // 成功交易的订单数 + repeated Overview overview = 3; // 总览 + repeated ChannelIncome channelIncomes = 4; // 渠道交易情况 + repeated BusinessInfo businessInfos = 5; // 业务交易情况 + repeated OrderDetail orderDetails = 6; // sheet2,订单详情 +} + +message OrderDetail { + int64 paymentOrderId = 1; + string createdAt = 2; + string updatedAt = 3; + string outTradeNo = 4; // 外部流水号 + string channelTradeNo = 5; // 渠道流水号 + string currency = 6; // 币种 + int64 payAmount = 7; // 付款金额 + int64 fee = 8; // 手续费 + int64 netIncome = 9; // 净收入 + string status = 10; + string payTime = 11; + string channelType = 12; // 支付渠道 alipay-支付宝 wxpay-微信 stripe-Stripe支付 + string platform = 13; // 支付具体来源,是app还是h5还是jsapi还是wap + string domain = 14; // 使用平台 + string businessType = 15; // 业务类型,用来确认mq发送 + int64 logId = 16; + string checkSessionId = 17; + string productUUID = 18; + string productName = 19; + string productImg = 20; + string productDescription = 21; +} + +message BusinessInfo { + string BusinessName = 1; // 业务名称 + string currency = 2; // 交易币种 + int32 orderNum = 3; // 成功交易的订单数 + int64 totalIncome = 4; // 总收入 + int64 totalFee = 5; // 总手续费 + int64 totalRefundAmount = 6; // 总退款费 + int64 netIncome = 7; // 净收入 +} + +message Overview { + string currency = 1; // 交易币种 + int32 orderNum = 2; // 成功交易的订单数 + int64 totalIncome = 3; // 总收入 + int64 totalFee = 4; // 总手续费 + int64 totalRefundAmount = 5; // 总退款费 + int64 netIncome = 6; // 净收入 +} + +message ChannelIncome { + string channelType = 1; // 交易渠道 + string currency = 2; // 交易币种 + int32 orderNum = 3; // 成功交易的订单数 + int64 totalIncome = 4; // 总收入 + int64 totalFee = 5; // 总手续费 + int64 totalRefundAmount = 6; // 总退款费 + int64 netIncome = 7; // 净收入 +} diff --git a/api/payment/payment.validator.pb.go b/api/payment/payment.validator.pb.go new file mode 100644 index 0000000..b711a20 --- /dev/null +++ b/api/payment/payment.validator.pb.go @@ -0,0 +1,301 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: pb/payment.proto + +package payment + +import ( + fmt "fmt" + proto "github.com/golang/protobuf/proto" + github_com_mwitkow_go_proto_validators "github.com/mwitkow/go-proto-validators" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +func (this *AntomPayQueryRequest) Validate() error { + return nil +} +func (this *AntomPayQueryResponse) Validate() error { + for _, item := range this.Infos { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Infos", err) + } + } + } + return nil +} +func (this *AntomNotifyPayRequest) Validate() error { + return nil +} +func (this *AntomNotifyPayResponse) Validate() error { + return nil +} +func (this *CreatePayRequest) Validate() error { + return nil +} +func (this *CreatePayResponse) Validate() error { + return nil +} +func (this *CreateRefundRequest) Validate() error { + return nil +} +func (this *CreateRefundResponse) Validate() error { + return nil +} +func (this *NotifyPayRequest) Validate() error { + if this.HttpRequest != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.HttpRequest); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("HttpRequest", err) + } + } + return nil +} +func (this *NotifyPayResponse) Validate() error { + return nil +} +func (this *HttpRequest) Validate() error { + // Validation of proto3 map<> fields is unsupported. + return nil +} +func (this *CommonMsg) Validate() error { + return nil +} +func (this *EmptyRequest) Validate() error { + return nil +} +func (this *CreateStripeCheckoutSessionRequest) Validate() error { + return nil +} +func (this *CreateStripeCheckoutSessionResponse) Validate() error { + return nil +} +func (this *GetCheckoutWebhookRequest) Validate() error { + return nil +} +func (this *GetCheckoutWebhookResponse) Validate() error { + return nil +} +func (this *GetStripePaymentIntentInfoRequest) Validate() error { + return nil +} +func (this *GetStripePaymentIntentInfoResponse) Validate() error { + return nil +} +func (this *GetRefundInfoRequest) Validate() error { + return nil +} +func (this *GetRefundInfoResponse) Validate() error { + return nil +} +func (this *AliWapPayRequest) Validate() error { + return nil +} +func (this *AliWapPayResponse) Validate() error { + return nil +} +func (this *AliAppPayRequest) Validate() error { + return nil +} +func (this *AliAppPayResponse) Validate() error { + return nil +} +func (this *AliNativePayRequest) Validate() error { + return nil +} +func (this *AliNativePayResponse) Validate() error { + return nil +} +func (this *AliPcWabPayRequest) Validate() error { + return nil +} +func (this *AliPcWabPayResponse) Validate() error { + return nil +} +func (this *AliReFundRequest) Validate() error { + return nil +} +func (this *AliReFundResponse) Validate() error { + return nil +} +func (this *AliNotifyRequest) Validate() error { + return nil +} +func (this *AliNotifyResponse) Validate() error { + return nil +} +func (this *AliQueryByOutTradeNoRequest) Validate() error { + return nil +} +func (this *AliQueryByOutTradeNoResponse) Validate() error { + return nil +} +func (this *AliRefundQueryByOutTradeNoRequest) Validate() error { + return nil +} +func (this *AliRefundQueryByOutTradeNoResponse) Validate() error { + return nil +} +func (this *WechatJsApiPayRequest) Validate() error { + return nil +} +func (this *WechatJsApiPayResponse) Validate() error { + return nil +} +func (this *WechatAppPayResponse) Validate() error { + return nil +} +func (this *WechatJsApiQueryByOutTradeNoRequest) Validate() error { + return nil +} +func (this *WechatJsApiQueryByOutTradeNoResponse) Validate() error { + return nil +} +func (this *WechatAppQueryByOutTradeNoRequest) Validate() error { + return nil +} +func (this *WechatAppQueryByOutTradeNoResponse) Validate() error { + for _, item := range this.PromotionDetail { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("PromotionDetail", err) + } + } + } + if this.Payer != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Payer); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Payer", err) + } + } + if this.Amount != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(this.Amount); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Amount", err) + } + } + return nil +} +func (this *WechatAppQueryByOutTradeNoResponse_Payer) Validate() error { + return nil +} +func (this *WechatAppQueryByOutTradeNoResponse_Amount) Validate() error { + return nil +} +func (this *WechatAppQueryByOutTradeNoResponse_PromotionDetail) Validate() error { + return nil +} +func (this *GetPayByOutTradeNoRequest) Validate() error { + return nil +} +func (this *GetPayByOutTradeNoResponse) Validate() error { + return nil +} +func (this *WechatJsApiRefundsResponse) Validate() error { + return nil +} +func (this *WechatNativePayRequest) Validate() error { + return nil +} +func (this *WechatNativePayResponse) Validate() error { + return nil +} +func (this *WechatNativeQueryByOutTradeNoRequest) Validate() error { + return nil +} +func (this *WechatRefundQueryByOutRefundNoRequest) Validate() error { + return nil +} +func (this *WechatRefundQueryByOutRefundNoResponse) Validate() error { + return nil +} +func (this *WechatNativeQueryByOutTradeNoResponse) Validate() error { + return nil +} +func (this *WechatAppPayRequest) Validate() error { + return nil +} +func (this *WechatJsApiRefundsRequest) Validate() error { + return nil +} +func (this *WechatH5PayRequest) Validate() error { + return nil +} +func (this *WechatH5PayResponse) Validate() error { + return nil +} +func (this *WechatH5QueryByOutTradeNoRequest) Validate() error { + return nil +} +func (this *WechatH5QueryByOutTradeNoResponse) Validate() error { + return nil +} +func (this *WechatPayOkRequest) Validate() error { + return nil +} +func (this *CommonResponse) Validate() error { + return nil +} +func (this *PayQueryRequest) Validate() error { + return nil +} +func (this *PayQueryResponse) Validate() error { + for _, item := range this.Infos { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Infos", err) + } + } + } + return nil +} +func (this *PaymentOrderInfo) Validate() error { + return nil +} +func (this *ExportPayRequest) Validate() error { + return nil +} +func (this *ExportPayResponse) Validate() error { + for _, item := range this.Overview { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("Overview", err) + } + } + } + for _, item := range this.ChannelIncomes { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("ChannelIncomes", err) + } + } + } + for _, item := range this.BusinessInfos { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("BusinessInfos", err) + } + } + } + for _, item := range this.OrderDetails { + if item != nil { + if err := github_com_mwitkow_go_proto_validators.CallValidatorIfExists(item); err != nil { + return github_com_mwitkow_go_proto_validators.FieldError("OrderDetails", err) + } + } + } + return nil +} +func (this *OrderDetail) Validate() error { + return nil +} +func (this *BusinessInfo) Validate() error { + return nil +} +func (this *Overview) Validate() error { + return nil +} +func (this *ChannelIncome) Validate() error { + return nil +} diff --git a/api/payment/payment_triple.pb.go b/api/payment/payment_triple.pb.go new file mode 100644 index 0000000..6db6283 --- /dev/null +++ b/api/payment/payment_triple.pb.go @@ -0,0 +1,1505 @@ +// Code generated by protoc-gen-go-triple. DO NOT EDIT. +// versions: +// - protoc-gen-go-triple v1.0.8 +// - protoc v5.26.1 +// source: pb/payment.proto + +package payment + +import ( + context "context" + protocol "dubbo.apache.org/dubbo-go/v3/protocol" + dubbo3 "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3" + invocation "dubbo.apache.org/dubbo-go/v3/protocol/invocation" + grpc_go "github.com/dubbogo/grpc-go" + codes "github.com/dubbogo/grpc-go/codes" + metadata "github.com/dubbogo/grpc-go/metadata" + status "github.com/dubbogo/grpc-go/status" + common "github.com/dubbogo/triple/pkg/common" + constant "github.com/dubbogo/triple/pkg/common/constant" + triple "github.com/dubbogo/triple/pkg/triple" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc_go.SupportPackageIsVersion7 + +// PaymentClient is the client API for Payment service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type PaymentClient interface { + // 统一渠道支付 + CreatePay(ctx context.Context, in *CreatePayRequest, opts ...grpc_go.CallOption) (*CreatePayResponse, common.ErrorWithAttachment) + NotifyPay(ctx context.Context, in *NotifyPayRequest, opts ...grpc_go.CallOption) (*NotifyPayResponse, common.ErrorWithAttachment) + QueryPayByOutTradeNo(ctx context.Context, in *PayQueryRequest, opts ...grpc_go.CallOption) (*PayQueryResponse, common.ErrorWithAttachment) + QueryExportPay(ctx context.Context, in *ExportPayRequest, opts ...grpc_go.CallOption) (*ExportPayResponse, common.ErrorWithAttachment) + CreateRefund(ctx context.Context, in *CreateRefundRequest, opts ...grpc_go.CallOption) (*CreateRefundResponse, common.ErrorWithAttachment) + StripeGermanyWebhook(ctx context.Context, in *GetCheckoutWebhookRequest, opts ...grpc_go.CallOption) (*GetCheckoutWebhookResponse, common.ErrorWithAttachment) + AliCommonWebhook(ctx context.Context, in *NotifyPayRequest, opts ...grpc_go.CallOption) (*NotifyPayResponse, common.ErrorWithAttachment) + WechatFengLianWebhook(ctx context.Context, in *NotifyPayRequest, opts ...grpc_go.CallOption) (*NotifyPayResponse, common.ErrorWithAttachment) + AntomWebhook(ctx context.Context, in *AntomNotifyPayRequest, opts ...grpc_go.CallOption) (*AntomNotifyPayResponse, common.ErrorWithAttachment) + QueryAntomPayByCheckoutSessionId(ctx context.Context, in *AntomPayQueryRequest, opts ...grpc_go.CallOption) (*AntomPayQueryResponse, common.ErrorWithAttachment) + // stripe支付 + CreateStripeCheckoutSession(ctx context.Context, in *CreateStripeCheckoutSessionRequest, opts ...grpc_go.CallOption) (*CreateStripeCheckoutSessionResponse, common.ErrorWithAttachment) + // 支付宝支付 + AliWapPay(ctx context.Context, in *AliWapPayRequest, opts ...grpc_go.CallOption) (*AliWapPayResponse, common.ErrorWithAttachment) + AliAppPay(ctx context.Context, in *AliAppPayRequest, opts ...grpc_go.CallOption) (*AliAppPayResponse, common.ErrorWithAttachment) + AliNativePay(ctx context.Context, in *AliNativePayRequest, opts ...grpc_go.CallOption) (*AliNativePayResponse, common.ErrorWithAttachment) + AliPcWabPay(ctx context.Context, in *AliPcWabPayRequest, opts ...grpc_go.CallOption) (*AliPcWabPayResponse, common.ErrorWithAttachment) + AliReFund(ctx context.Context, in *AliReFundRequest, opts ...grpc_go.CallOption) (*AliReFundResponse, common.ErrorWithAttachment) + AliNotify(ctx context.Context, in *AliNotifyRequest, opts ...grpc_go.CallOption) (*AliNotifyResponse, common.ErrorWithAttachment) + AliQueryByOutTradeNo(ctx context.Context, in *AliQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*AliQueryByOutTradeNoResponse, common.ErrorWithAttachment) + AliRefundQueryByOutTradeNo(ctx context.Context, in *AliRefundQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*AliRefundQueryByOutTradeNoResponse, common.ErrorWithAttachment) + // 微信支付 + WechatJsApiPay(ctx context.Context, in *WechatJsApiPayRequest, opts ...grpc_go.CallOption) (*WechatJsApiPayResponse, common.ErrorWithAttachment) + WechatJsApiQueryByOutTradeNo(ctx context.Context, in *WechatJsApiQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*WechatJsApiQueryByOutTradeNoResponse, common.ErrorWithAttachment) + GetPayByOutTradeNo(ctx context.Context, in *GetPayByOutTradeNoRequest, opts ...grpc_go.CallOption) (*GetPayByOutTradeNoResponse, common.ErrorWithAttachment) + WechatJsApiRefunds(ctx context.Context, in *WechatJsApiRefundsRequest, opts ...grpc_go.CallOption) (*WechatJsApiRefundsResponse, common.ErrorWithAttachment) + SetPayOk(ctx context.Context, in *WechatPayOkRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) + WechatAppPay(ctx context.Context, in *WechatAppPayRequest, opts ...grpc_go.CallOption) (*WechatAppPayResponse, common.ErrorWithAttachment) + WechatAppQueryByOutTradeNo(ctx context.Context, in *WechatAppQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*WechatAppQueryByOutTradeNoResponse, common.ErrorWithAttachment) + WechatNativePay(ctx context.Context, in *WechatNativePayRequest, opts ...grpc_go.CallOption) (*WechatNativePayResponse, common.ErrorWithAttachment) + WechatNativeQueryByOutTradeNo(ctx context.Context, in *WechatNativeQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*WechatNativeQueryByOutTradeNoResponse, common.ErrorWithAttachment) + WechatRefundQueryByOutRefundNo(ctx context.Context, in *WechatRefundQueryByOutRefundNoRequest, opts ...grpc_go.CallOption) (*WechatRefundQueryByOutRefundNoResponse, common.ErrorWithAttachment) + WechatH5Pay(ctx context.Context, in *WechatH5PayRequest, opts ...grpc_go.CallOption) (*WechatH5PayResponse, common.ErrorWithAttachment) + WechatH5QueryByOutTradeNo(ctx context.Context, in *WechatH5QueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*WechatH5QueryByOutTradeNoResponse, common.ErrorWithAttachment) +} + +type paymentClient struct { + cc *triple.TripleConn +} + +type PaymentClientImpl struct { + CreatePay func(ctx context.Context, in *CreatePayRequest) (*CreatePayResponse, error) + NotifyPay func(ctx context.Context, in *NotifyPayRequest) (*NotifyPayResponse, error) + QueryPayByOutTradeNo func(ctx context.Context, in *PayQueryRequest) (*PayQueryResponse, error) + QueryExportPay func(ctx context.Context, in *ExportPayRequest) (*ExportPayResponse, error) + CreateRefund func(ctx context.Context, in *CreateRefundRequest) (*CreateRefundResponse, error) + StripeGermanyWebhook func(ctx context.Context, in *GetCheckoutWebhookRequest) (*GetCheckoutWebhookResponse, error) + AliCommonWebhook func(ctx context.Context, in *NotifyPayRequest) (*NotifyPayResponse, error) + WechatFengLianWebhook func(ctx context.Context, in *NotifyPayRequest) (*NotifyPayResponse, error) + AntomWebhook func(ctx context.Context, in *AntomNotifyPayRequest) (*AntomNotifyPayResponse, error) + QueryAntomPayByCheckoutSessionId func(ctx context.Context, in *AntomPayQueryRequest) (*AntomPayQueryResponse, error) + CreateStripeCheckoutSession func(ctx context.Context, in *CreateStripeCheckoutSessionRequest) (*CreateStripeCheckoutSessionResponse, error) + AliWapPay func(ctx context.Context, in *AliWapPayRequest) (*AliWapPayResponse, error) + AliAppPay func(ctx context.Context, in *AliAppPayRequest) (*AliAppPayResponse, error) + AliNativePay func(ctx context.Context, in *AliNativePayRequest) (*AliNativePayResponse, error) + AliPcWabPay func(ctx context.Context, in *AliPcWabPayRequest) (*AliPcWabPayResponse, error) + AliReFund func(ctx context.Context, in *AliReFundRequest) (*AliReFundResponse, error) + AliNotify func(ctx context.Context, in *AliNotifyRequest) (*AliNotifyResponse, error) + AliQueryByOutTradeNo func(ctx context.Context, in *AliQueryByOutTradeNoRequest) (*AliQueryByOutTradeNoResponse, error) + AliRefundQueryByOutTradeNo func(ctx context.Context, in *AliRefundQueryByOutTradeNoRequest) (*AliRefundQueryByOutTradeNoResponse, error) + WechatJsApiPay func(ctx context.Context, in *WechatJsApiPayRequest) (*WechatJsApiPayResponse, error) + WechatJsApiQueryByOutTradeNo func(ctx context.Context, in *WechatJsApiQueryByOutTradeNoRequest) (*WechatJsApiQueryByOutTradeNoResponse, error) + GetPayByOutTradeNo func(ctx context.Context, in *GetPayByOutTradeNoRequest) (*GetPayByOutTradeNoResponse, error) + WechatJsApiRefunds func(ctx context.Context, in *WechatJsApiRefundsRequest) (*WechatJsApiRefundsResponse, error) + SetPayOk func(ctx context.Context, in *WechatPayOkRequest) (*CommonResponse, error) + WechatAppPay func(ctx context.Context, in *WechatAppPayRequest) (*WechatAppPayResponse, error) + WechatAppQueryByOutTradeNo func(ctx context.Context, in *WechatAppQueryByOutTradeNoRequest) (*WechatAppQueryByOutTradeNoResponse, error) + WechatNativePay func(ctx context.Context, in *WechatNativePayRequest) (*WechatNativePayResponse, error) + WechatNativeQueryByOutTradeNo func(ctx context.Context, in *WechatNativeQueryByOutTradeNoRequest) (*WechatNativeQueryByOutTradeNoResponse, error) + WechatRefundQueryByOutRefundNo func(ctx context.Context, in *WechatRefundQueryByOutRefundNoRequest) (*WechatRefundQueryByOutRefundNoResponse, error) + WechatH5Pay func(ctx context.Context, in *WechatH5PayRequest) (*WechatH5PayResponse, error) + WechatH5QueryByOutTradeNo func(ctx context.Context, in *WechatH5QueryByOutTradeNoRequest) (*WechatH5QueryByOutTradeNoResponse, error) +} + +func (c *PaymentClientImpl) GetDubboStub(cc *triple.TripleConn) PaymentClient { + return NewPaymentClient(cc) +} + +func (c *PaymentClientImpl) XXX_InterfaceName() string { + return "payment.Payment" +} + +func NewPaymentClient(cc *triple.TripleConn) PaymentClient { + return &paymentClient{cc} +} + +func (c *paymentClient) CreatePay(ctx context.Context, in *CreatePayRequest, opts ...grpc_go.CallOption) (*CreatePayResponse, common.ErrorWithAttachment) { + out := new(CreatePayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreatePay", in, out) +} + +func (c *paymentClient) NotifyPay(ctx context.Context, in *NotifyPayRequest, opts ...grpc_go.CallOption) (*NotifyPayResponse, common.ErrorWithAttachment) { + out := new(NotifyPayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/NotifyPay", in, out) +} + +func (c *paymentClient) QueryPayByOutTradeNo(ctx context.Context, in *PayQueryRequest, opts ...grpc_go.CallOption) (*PayQueryResponse, common.ErrorWithAttachment) { + out := new(PayQueryResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/QueryPayByOutTradeNo", in, out) +} + +func (c *paymentClient) QueryExportPay(ctx context.Context, in *ExportPayRequest, opts ...grpc_go.CallOption) (*ExportPayResponse, common.ErrorWithAttachment) { + out := new(ExportPayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/QueryExportPay", in, out) +} + +func (c *paymentClient) CreateRefund(ctx context.Context, in *CreateRefundRequest, opts ...grpc_go.CallOption) (*CreateRefundResponse, common.ErrorWithAttachment) { + out := new(CreateRefundResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateRefund", in, out) +} + +func (c *paymentClient) StripeGermanyWebhook(ctx context.Context, in *GetCheckoutWebhookRequest, opts ...grpc_go.CallOption) (*GetCheckoutWebhookResponse, common.ErrorWithAttachment) { + out := new(GetCheckoutWebhookResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/StripeGermanyWebhook", in, out) +} + +func (c *paymentClient) AliCommonWebhook(ctx context.Context, in *NotifyPayRequest, opts ...grpc_go.CallOption) (*NotifyPayResponse, common.ErrorWithAttachment) { + out := new(NotifyPayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AliCommonWebhook", in, out) +} + +func (c *paymentClient) WechatFengLianWebhook(ctx context.Context, in *NotifyPayRequest, opts ...grpc_go.CallOption) (*NotifyPayResponse, common.ErrorWithAttachment) { + out := new(NotifyPayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatFengLianWebhook", in, out) +} + +func (c *paymentClient) AntomWebhook(ctx context.Context, in *AntomNotifyPayRequest, opts ...grpc_go.CallOption) (*AntomNotifyPayResponse, common.ErrorWithAttachment) { + out := new(AntomNotifyPayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AntomWebhook", in, out) +} + +func (c *paymentClient) QueryAntomPayByCheckoutSessionId(ctx context.Context, in *AntomPayQueryRequest, opts ...grpc_go.CallOption) (*AntomPayQueryResponse, common.ErrorWithAttachment) { + out := new(AntomPayQueryResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/QueryAntomPayByCheckoutSessionId", in, out) +} + +func (c *paymentClient) CreateStripeCheckoutSession(ctx context.Context, in *CreateStripeCheckoutSessionRequest, opts ...grpc_go.CallOption) (*CreateStripeCheckoutSessionResponse, common.ErrorWithAttachment) { + out := new(CreateStripeCheckoutSessionResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/CreateStripeCheckoutSession", in, out) +} + +func (c *paymentClient) AliWapPay(ctx context.Context, in *AliWapPayRequest, opts ...grpc_go.CallOption) (*AliWapPayResponse, common.ErrorWithAttachment) { + out := new(AliWapPayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AliWapPay", in, out) +} + +func (c *paymentClient) AliAppPay(ctx context.Context, in *AliAppPayRequest, opts ...grpc_go.CallOption) (*AliAppPayResponse, common.ErrorWithAttachment) { + out := new(AliAppPayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AliAppPay", in, out) +} + +func (c *paymentClient) AliNativePay(ctx context.Context, in *AliNativePayRequest, opts ...grpc_go.CallOption) (*AliNativePayResponse, common.ErrorWithAttachment) { + out := new(AliNativePayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AliNativePay", in, out) +} + +func (c *paymentClient) AliPcWabPay(ctx context.Context, in *AliPcWabPayRequest, opts ...grpc_go.CallOption) (*AliPcWabPayResponse, common.ErrorWithAttachment) { + out := new(AliPcWabPayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AliPcWabPay", in, out) +} + +func (c *paymentClient) AliReFund(ctx context.Context, in *AliReFundRequest, opts ...grpc_go.CallOption) (*AliReFundResponse, common.ErrorWithAttachment) { + out := new(AliReFundResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AliReFund", in, out) +} + +func (c *paymentClient) AliNotify(ctx context.Context, in *AliNotifyRequest, opts ...grpc_go.CallOption) (*AliNotifyResponse, common.ErrorWithAttachment) { + out := new(AliNotifyResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AliNotify", in, out) +} + +func (c *paymentClient) AliQueryByOutTradeNo(ctx context.Context, in *AliQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*AliQueryByOutTradeNoResponse, common.ErrorWithAttachment) { + out := new(AliQueryByOutTradeNoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AliQueryByOutTradeNo", in, out) +} + +func (c *paymentClient) AliRefundQueryByOutTradeNo(ctx context.Context, in *AliRefundQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*AliRefundQueryByOutTradeNoResponse, common.ErrorWithAttachment) { + out := new(AliRefundQueryByOutTradeNoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/AliRefundQueryByOutTradeNo", in, out) +} + +func (c *paymentClient) WechatJsApiPay(ctx context.Context, in *WechatJsApiPayRequest, opts ...grpc_go.CallOption) (*WechatJsApiPayResponse, common.ErrorWithAttachment) { + out := new(WechatJsApiPayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatJsApiPay", in, out) +} + +func (c *paymentClient) WechatJsApiQueryByOutTradeNo(ctx context.Context, in *WechatJsApiQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*WechatJsApiQueryByOutTradeNoResponse, common.ErrorWithAttachment) { + out := new(WechatJsApiQueryByOutTradeNoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatJsApiQueryByOutTradeNo", in, out) +} + +func (c *paymentClient) GetPayByOutTradeNo(ctx context.Context, in *GetPayByOutTradeNoRequest, opts ...grpc_go.CallOption) (*GetPayByOutTradeNoResponse, common.ErrorWithAttachment) { + out := new(GetPayByOutTradeNoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/GetPayByOutTradeNo", in, out) +} + +func (c *paymentClient) WechatJsApiRefunds(ctx context.Context, in *WechatJsApiRefundsRequest, opts ...grpc_go.CallOption) (*WechatJsApiRefundsResponse, common.ErrorWithAttachment) { + out := new(WechatJsApiRefundsResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatJsApiRefunds", in, out) +} + +func (c *paymentClient) SetPayOk(ctx context.Context, in *WechatPayOkRequest, opts ...grpc_go.CallOption) (*CommonResponse, common.ErrorWithAttachment) { + out := new(CommonResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/SetPayOk", in, out) +} + +func (c *paymentClient) WechatAppPay(ctx context.Context, in *WechatAppPayRequest, opts ...grpc_go.CallOption) (*WechatAppPayResponse, common.ErrorWithAttachment) { + out := new(WechatAppPayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatAppPay", in, out) +} + +func (c *paymentClient) WechatAppQueryByOutTradeNo(ctx context.Context, in *WechatAppQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*WechatAppQueryByOutTradeNoResponse, common.ErrorWithAttachment) { + out := new(WechatAppQueryByOutTradeNoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatAppQueryByOutTradeNo", in, out) +} + +func (c *paymentClient) WechatNativePay(ctx context.Context, in *WechatNativePayRequest, opts ...grpc_go.CallOption) (*WechatNativePayResponse, common.ErrorWithAttachment) { + out := new(WechatNativePayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatNativePay", in, out) +} + +func (c *paymentClient) WechatNativeQueryByOutTradeNo(ctx context.Context, in *WechatNativeQueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*WechatNativeQueryByOutTradeNoResponse, common.ErrorWithAttachment) { + out := new(WechatNativeQueryByOutTradeNoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatNativeQueryByOutTradeNo", in, out) +} + +func (c *paymentClient) WechatRefundQueryByOutRefundNo(ctx context.Context, in *WechatRefundQueryByOutRefundNoRequest, opts ...grpc_go.CallOption) (*WechatRefundQueryByOutRefundNoResponse, common.ErrorWithAttachment) { + out := new(WechatRefundQueryByOutRefundNoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatRefundQueryByOutRefundNo", in, out) +} + +func (c *paymentClient) WechatH5Pay(ctx context.Context, in *WechatH5PayRequest, opts ...grpc_go.CallOption) (*WechatH5PayResponse, common.ErrorWithAttachment) { + out := new(WechatH5PayResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatH5Pay", in, out) +} + +func (c *paymentClient) WechatH5QueryByOutTradeNo(ctx context.Context, in *WechatH5QueryByOutTradeNoRequest, opts ...grpc_go.CallOption) (*WechatH5QueryByOutTradeNoResponse, common.ErrorWithAttachment) { + out := new(WechatH5QueryByOutTradeNoResponse) + interfaceKey := ctx.Value(constant.InterfaceKey).(string) + return out, c.cc.Invoke(ctx, "/"+interfaceKey+"/WechatH5QueryByOutTradeNo", in, out) +} + +// PaymentServer is the server API for Payment service. +// All implementations must embed UnimplementedPaymentServer +// for forward compatibility +type PaymentServer interface { + // 统一渠道支付 + CreatePay(context.Context, *CreatePayRequest) (*CreatePayResponse, error) + NotifyPay(context.Context, *NotifyPayRequest) (*NotifyPayResponse, error) + QueryPayByOutTradeNo(context.Context, *PayQueryRequest) (*PayQueryResponse, error) + QueryExportPay(context.Context, *ExportPayRequest) (*ExportPayResponse, error) + CreateRefund(context.Context, *CreateRefundRequest) (*CreateRefundResponse, error) + StripeGermanyWebhook(context.Context, *GetCheckoutWebhookRequest) (*GetCheckoutWebhookResponse, error) + AliCommonWebhook(context.Context, *NotifyPayRequest) (*NotifyPayResponse, error) + WechatFengLianWebhook(context.Context, *NotifyPayRequest) (*NotifyPayResponse, error) + AntomWebhook(context.Context, *AntomNotifyPayRequest) (*AntomNotifyPayResponse, error) + QueryAntomPayByCheckoutSessionId(context.Context, *AntomPayQueryRequest) (*AntomPayQueryResponse, error) + // stripe支付 + CreateStripeCheckoutSession(context.Context, *CreateStripeCheckoutSessionRequest) (*CreateStripeCheckoutSessionResponse, error) + // 支付宝支付 + AliWapPay(context.Context, *AliWapPayRequest) (*AliWapPayResponse, error) + AliAppPay(context.Context, *AliAppPayRequest) (*AliAppPayResponse, error) + AliNativePay(context.Context, *AliNativePayRequest) (*AliNativePayResponse, error) + AliPcWabPay(context.Context, *AliPcWabPayRequest) (*AliPcWabPayResponse, error) + AliReFund(context.Context, *AliReFundRequest) (*AliReFundResponse, error) + AliNotify(context.Context, *AliNotifyRequest) (*AliNotifyResponse, error) + AliQueryByOutTradeNo(context.Context, *AliQueryByOutTradeNoRequest) (*AliQueryByOutTradeNoResponse, error) + AliRefundQueryByOutTradeNo(context.Context, *AliRefundQueryByOutTradeNoRequest) (*AliRefundQueryByOutTradeNoResponse, error) + // 微信支付 + WechatJsApiPay(context.Context, *WechatJsApiPayRequest) (*WechatJsApiPayResponse, error) + WechatJsApiQueryByOutTradeNo(context.Context, *WechatJsApiQueryByOutTradeNoRequest) (*WechatJsApiQueryByOutTradeNoResponse, error) + GetPayByOutTradeNo(context.Context, *GetPayByOutTradeNoRequest) (*GetPayByOutTradeNoResponse, error) + WechatJsApiRefunds(context.Context, *WechatJsApiRefundsRequest) (*WechatJsApiRefundsResponse, error) + SetPayOk(context.Context, *WechatPayOkRequest) (*CommonResponse, error) + WechatAppPay(context.Context, *WechatAppPayRequest) (*WechatAppPayResponse, error) + WechatAppQueryByOutTradeNo(context.Context, *WechatAppQueryByOutTradeNoRequest) (*WechatAppQueryByOutTradeNoResponse, error) + WechatNativePay(context.Context, *WechatNativePayRequest) (*WechatNativePayResponse, error) + WechatNativeQueryByOutTradeNo(context.Context, *WechatNativeQueryByOutTradeNoRequest) (*WechatNativeQueryByOutTradeNoResponse, error) + WechatRefundQueryByOutRefundNo(context.Context, *WechatRefundQueryByOutRefundNoRequest) (*WechatRefundQueryByOutRefundNoResponse, error) + WechatH5Pay(context.Context, *WechatH5PayRequest) (*WechatH5PayResponse, error) + WechatH5QueryByOutTradeNo(context.Context, *WechatH5QueryByOutTradeNoRequest) (*WechatH5QueryByOutTradeNoResponse, error) + mustEmbedUnimplementedPaymentServer() +} + +// UnimplementedPaymentServer must be embedded to have forward compatible implementations. +type UnimplementedPaymentServer struct { + proxyImpl protocol.Invoker +} + +func (UnimplementedPaymentServer) CreatePay(context.Context, *CreatePayRequest) (*CreatePayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreatePay not implemented") +} +func (UnimplementedPaymentServer) NotifyPay(context.Context, *NotifyPayRequest) (*NotifyPayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method NotifyPay not implemented") +} +func (UnimplementedPaymentServer) QueryPayByOutTradeNo(context.Context, *PayQueryRequest) (*PayQueryResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method QueryPayByOutTradeNo not implemented") +} +func (UnimplementedPaymentServer) QueryExportPay(context.Context, *ExportPayRequest) (*ExportPayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method QueryExportPay not implemented") +} +func (UnimplementedPaymentServer) CreateRefund(context.Context, *CreateRefundRequest) (*CreateRefundResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateRefund not implemented") +} +func (UnimplementedPaymentServer) StripeGermanyWebhook(context.Context, *GetCheckoutWebhookRequest) (*GetCheckoutWebhookResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method StripeGermanyWebhook not implemented") +} +func (UnimplementedPaymentServer) AliCommonWebhook(context.Context, *NotifyPayRequest) (*NotifyPayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AliCommonWebhook not implemented") +} +func (UnimplementedPaymentServer) WechatFengLianWebhook(context.Context, *NotifyPayRequest) (*NotifyPayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WechatFengLianWebhook not implemented") +} +func (UnimplementedPaymentServer) AntomWebhook(context.Context, *AntomNotifyPayRequest) (*AntomNotifyPayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AntomWebhook not implemented") +} +func (UnimplementedPaymentServer) QueryAntomPayByCheckoutSessionId(context.Context, *AntomPayQueryRequest) (*AntomPayQueryResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method QueryAntomPayByCheckoutSessionId not implemented") +} +func (UnimplementedPaymentServer) CreateStripeCheckoutSession(context.Context, *CreateStripeCheckoutSessionRequest) (*CreateStripeCheckoutSessionResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CreateStripeCheckoutSession not implemented") +} +func (UnimplementedPaymentServer) AliWapPay(context.Context, *AliWapPayRequest) (*AliWapPayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AliWapPay not implemented") +} +func (UnimplementedPaymentServer) AliAppPay(context.Context, *AliAppPayRequest) (*AliAppPayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AliAppPay not implemented") +} +func (UnimplementedPaymentServer) AliNativePay(context.Context, *AliNativePayRequest) (*AliNativePayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AliNativePay not implemented") +} +func (UnimplementedPaymentServer) AliPcWabPay(context.Context, *AliPcWabPayRequest) (*AliPcWabPayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AliPcWabPay not implemented") +} +func (UnimplementedPaymentServer) AliReFund(context.Context, *AliReFundRequest) (*AliReFundResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AliReFund not implemented") +} +func (UnimplementedPaymentServer) AliNotify(context.Context, *AliNotifyRequest) (*AliNotifyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AliNotify not implemented") +} +func (UnimplementedPaymentServer) AliQueryByOutTradeNo(context.Context, *AliQueryByOutTradeNoRequest) (*AliQueryByOutTradeNoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AliQueryByOutTradeNo not implemented") +} +func (UnimplementedPaymentServer) AliRefundQueryByOutTradeNo(context.Context, *AliRefundQueryByOutTradeNoRequest) (*AliRefundQueryByOutTradeNoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method AliRefundQueryByOutTradeNo not implemented") +} +func (UnimplementedPaymentServer) WechatJsApiPay(context.Context, *WechatJsApiPayRequest) (*WechatJsApiPayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WechatJsApiPay not implemented") +} +func (UnimplementedPaymentServer) WechatJsApiQueryByOutTradeNo(context.Context, *WechatJsApiQueryByOutTradeNoRequest) (*WechatJsApiQueryByOutTradeNoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WechatJsApiQueryByOutTradeNo not implemented") +} +func (UnimplementedPaymentServer) GetPayByOutTradeNo(context.Context, *GetPayByOutTradeNoRequest) (*GetPayByOutTradeNoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetPayByOutTradeNo not implemented") +} +func (UnimplementedPaymentServer) WechatJsApiRefunds(context.Context, *WechatJsApiRefundsRequest) (*WechatJsApiRefundsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WechatJsApiRefunds not implemented") +} +func (UnimplementedPaymentServer) SetPayOk(context.Context, *WechatPayOkRequest) (*CommonResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetPayOk not implemented") +} +func (UnimplementedPaymentServer) WechatAppPay(context.Context, *WechatAppPayRequest) (*WechatAppPayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WechatAppPay not implemented") +} +func (UnimplementedPaymentServer) WechatAppQueryByOutTradeNo(context.Context, *WechatAppQueryByOutTradeNoRequest) (*WechatAppQueryByOutTradeNoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WechatAppQueryByOutTradeNo not implemented") +} +func (UnimplementedPaymentServer) WechatNativePay(context.Context, *WechatNativePayRequest) (*WechatNativePayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WechatNativePay not implemented") +} +func (UnimplementedPaymentServer) WechatNativeQueryByOutTradeNo(context.Context, *WechatNativeQueryByOutTradeNoRequest) (*WechatNativeQueryByOutTradeNoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WechatNativeQueryByOutTradeNo not implemented") +} +func (UnimplementedPaymentServer) WechatRefundQueryByOutRefundNo(context.Context, *WechatRefundQueryByOutRefundNoRequest) (*WechatRefundQueryByOutRefundNoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WechatRefundQueryByOutRefundNo not implemented") +} +func (UnimplementedPaymentServer) WechatH5Pay(context.Context, *WechatH5PayRequest) (*WechatH5PayResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WechatH5Pay not implemented") +} +func (UnimplementedPaymentServer) WechatH5QueryByOutTradeNo(context.Context, *WechatH5QueryByOutTradeNoRequest) (*WechatH5QueryByOutTradeNoResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method WechatH5QueryByOutTradeNo not implemented") +} +func (s *UnimplementedPaymentServer) XXX_SetProxyImpl(impl protocol.Invoker) { + s.proxyImpl = impl +} + +func (s *UnimplementedPaymentServer) XXX_GetProxyImpl() protocol.Invoker { + return s.proxyImpl +} + +func (s *UnimplementedPaymentServer) XXX_ServiceDesc() *grpc_go.ServiceDesc { + return &Payment_ServiceDesc +} +func (s *UnimplementedPaymentServer) XXX_InterfaceName() string { + return "payment.Payment" +} + +func (UnimplementedPaymentServer) mustEmbedUnimplementedPaymentServer() {} + +// UnsafePaymentServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to PaymentServer will +// result in compilation errors. +type UnsafePaymentServer interface { + mustEmbedUnimplementedPaymentServer() +} + +func RegisterPaymentServer(s grpc_go.ServiceRegistrar, srv PaymentServer) { + s.RegisterService(&Payment_ServiceDesc, srv) +} + +func _Payment_CreatePay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CreatePayRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("CreatePay", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_NotifyPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(NotifyPayRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("NotifyPay", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_QueryPayByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(PayQueryRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("QueryPayByOutTradeNo", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_QueryExportPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(ExportPayRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("QueryExportPay", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_CreateRefund_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateRefundRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("CreateRefund", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_StripeGermanyWebhook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetCheckoutWebhookRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("StripeGermanyWebhook", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_AliCommonWebhook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(NotifyPayRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("AliCommonWebhook", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_WechatFengLianWebhook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(NotifyPayRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("WechatFengLianWebhook", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_AntomWebhook_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AntomNotifyPayRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("AntomWebhook", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_QueryAntomPayByCheckoutSessionId_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AntomPayQueryRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("QueryAntomPayByCheckoutSessionId", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_CreateStripeCheckoutSession_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateStripeCheckoutSessionRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("CreateStripeCheckoutSession", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_AliWapPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AliWapPayRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("AliWapPay", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_AliAppPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AliAppPayRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("AliAppPay", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_AliNativePay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AliNativePayRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("AliNativePay", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_AliPcWabPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AliPcWabPayRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("AliPcWabPay", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_AliReFund_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AliReFundRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("AliReFund", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_AliNotify_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AliNotifyRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("AliNotify", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_AliQueryByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AliQueryByOutTradeNoRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("AliQueryByOutTradeNo", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_AliRefundQueryByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(AliRefundQueryByOutTradeNoRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("AliRefundQueryByOutTradeNo", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_WechatJsApiPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WechatJsApiPayRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("WechatJsApiPay", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_WechatJsApiQueryByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WechatJsApiQueryByOutTradeNoRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("WechatJsApiQueryByOutTradeNo", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_GetPayByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(GetPayByOutTradeNoRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("GetPayByOutTradeNo", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_WechatJsApiRefunds_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WechatJsApiRefundsRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("WechatJsApiRefunds", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_SetPayOk_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WechatPayOkRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("SetPayOk", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_WechatAppPay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WechatAppPayRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("WechatAppPay", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_WechatAppQueryByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WechatAppQueryByOutTradeNoRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("WechatAppQueryByOutTradeNo", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_WechatNativePay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WechatNativePayRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("WechatNativePay", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_WechatNativeQueryByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WechatNativeQueryByOutTradeNoRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("WechatNativeQueryByOutTradeNo", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_WechatRefundQueryByOutRefundNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WechatRefundQueryByOutRefundNoRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("WechatRefundQueryByOutRefundNo", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_WechatH5Pay_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WechatH5PayRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("WechatH5Pay", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +func _Payment_WechatH5QueryByOutTradeNo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc_go.UnaryServerInterceptor) (interface{}, error) { + in := new(WechatH5QueryByOutTradeNoRequest) + if err := dec(in); err != nil { + return nil, err + } + base := srv.(dubbo3.Dubbo3GrpcService) + args := []interface{}{} + args = append(args, in) + md, _ := metadata.FromIncomingContext(ctx) + invAttachment := make(map[string]interface{}, len(md)) + for k, v := range md { + invAttachment[k] = v + } + invo := invocation.NewRPCInvocation("WechatH5QueryByOutTradeNo", args, invAttachment) + if interceptor == nil { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + info := &grpc_go.UnaryServerInfo{ + Server: srv, + FullMethod: ctx.Value("XXX_TRIPLE_GO_INTERFACE_NAME").(string), + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + result := base.XXX_GetProxyImpl().Invoke(ctx, invo) + return result, result.Error() + } + return interceptor(ctx, in, info, handler) +} + +// Payment_ServiceDesc is the grpc_go.ServiceDesc for Payment service. +// It's only intended for direct use with grpc_go.RegisterService, +// and not to be introspected or modified (even as a copy) +var Payment_ServiceDesc = grpc_go.ServiceDesc{ + ServiceName: "payment.Payment", + HandlerType: (*PaymentServer)(nil), + Methods: []grpc_go.MethodDesc{ + { + MethodName: "CreatePay", + Handler: _Payment_CreatePay_Handler, + }, + { + MethodName: "NotifyPay", + Handler: _Payment_NotifyPay_Handler, + }, + { + MethodName: "QueryPayByOutTradeNo", + Handler: _Payment_QueryPayByOutTradeNo_Handler, + }, + { + MethodName: "QueryExportPay", + Handler: _Payment_QueryExportPay_Handler, + }, + { + MethodName: "CreateRefund", + Handler: _Payment_CreateRefund_Handler, + }, + { + MethodName: "StripeGermanyWebhook", + Handler: _Payment_StripeGermanyWebhook_Handler, + }, + { + MethodName: "AliCommonWebhook", + Handler: _Payment_AliCommonWebhook_Handler, + }, + { + MethodName: "WechatFengLianWebhook", + Handler: _Payment_WechatFengLianWebhook_Handler, + }, + { + MethodName: "AntomWebhook", + Handler: _Payment_AntomWebhook_Handler, + }, + { + MethodName: "QueryAntomPayByCheckoutSessionId", + Handler: _Payment_QueryAntomPayByCheckoutSessionId_Handler, + }, + { + MethodName: "CreateStripeCheckoutSession", + Handler: _Payment_CreateStripeCheckoutSession_Handler, + }, + { + MethodName: "AliWapPay", + Handler: _Payment_AliWapPay_Handler, + }, + { + MethodName: "AliAppPay", + Handler: _Payment_AliAppPay_Handler, + }, + { + MethodName: "AliNativePay", + Handler: _Payment_AliNativePay_Handler, + }, + { + MethodName: "AliPcWabPay", + Handler: _Payment_AliPcWabPay_Handler, + }, + { + MethodName: "AliReFund", + Handler: _Payment_AliReFund_Handler, + }, + { + MethodName: "AliNotify", + Handler: _Payment_AliNotify_Handler, + }, + { + MethodName: "AliQueryByOutTradeNo", + Handler: _Payment_AliQueryByOutTradeNo_Handler, + }, + { + MethodName: "AliRefundQueryByOutTradeNo", + Handler: _Payment_AliRefundQueryByOutTradeNo_Handler, + }, + { + MethodName: "WechatJsApiPay", + Handler: _Payment_WechatJsApiPay_Handler, + }, + { + MethodName: "WechatJsApiQueryByOutTradeNo", + Handler: _Payment_WechatJsApiQueryByOutTradeNo_Handler, + }, + { + MethodName: "GetPayByOutTradeNo", + Handler: _Payment_GetPayByOutTradeNo_Handler, + }, + { + MethodName: "WechatJsApiRefunds", + Handler: _Payment_WechatJsApiRefunds_Handler, + }, + { + MethodName: "SetPayOk", + Handler: _Payment_SetPayOk_Handler, + }, + { + MethodName: "WechatAppPay", + Handler: _Payment_WechatAppPay_Handler, + }, + { + MethodName: "WechatAppQueryByOutTradeNo", + Handler: _Payment_WechatAppQueryByOutTradeNo_Handler, + }, + { + MethodName: "WechatNativePay", + Handler: _Payment_WechatNativePay_Handler, + }, + { + MethodName: "WechatNativeQueryByOutTradeNo", + Handler: _Payment_WechatNativeQueryByOutTradeNo_Handler, + }, + { + MethodName: "WechatRefundQueryByOutRefundNo", + Handler: _Payment_WechatRefundQueryByOutRefundNo_Handler, + }, + { + MethodName: "WechatH5Pay", + Handler: _Payment_WechatH5Pay_Handler, + }, + { + MethodName: "WechatH5QueryByOutTradeNo", + Handler: _Payment_WechatH5QueryByOutTradeNo_Handler, + }, + }, + Streams: []grpc_go.StreamDesc{}, + Metadata: "pb/payment.proto", +} diff --git a/docs/dev/dubbogo.yaml b/docs/dev/dubbogo.yaml index fee5b40..b92ef00 100644 --- a/docs/dev/dubbogo.yaml +++ b/docs/dev/dubbogo.yaml @@ -28,3 +28,9 @@ dubbo: retries: 3 interface: com.fontree.microservices.common.micro.account # filter: echo,metrics,token,accesslog,sign,tps,generic_service,execute,pshutdown,auth,fonValidateFilter + PaymentClientImpl: + interface: com.fontree.microservices.common.payment # must be compatible with grpc or dubbo-java + filter: cshutdown,sign,auth + params: + .accessKeyId: "Paymentksl" + .secretAccessKey: "BSDY-FDF1-Fontree_payment" diff --git a/docs/prod/dubbogo.yaml b/docs/prod/dubbogo.yaml index f1b0692..c7d4621 100644 --- a/docs/prod/dubbogo.yaml +++ b/docs/prod/dubbogo.yaml @@ -26,3 +26,9 @@ dubbo: protocol: tri retries: 0 interface: com.fontree.microservices.common.micro.account + PaymentClientImpl: + interface: com.fontree.microservices.common.payment # must be compatible with grpc or dubbo-java + filter: cshutdown,sign,auth + params: + .accessKeyId: "Paymentksl" + .secretAccessKey: "BSDY-FDF1-Fontree_payment" diff --git a/pkg/router/bundleOrder.go b/pkg/router/bundleOrder.go index bdbf944..44bd843 100644 --- a/pkg/router/bundleOrder.go +++ b/pkg/router/bundleOrder.go @@ -11,6 +11,7 @@ import ( func BundleOrderRouter(r *gin.RouterGroup) { r.POST("/stripe-pay/callback", bundle.StripeCheckoutSessionWebhook) + r.POST("/antom/callback", bundle.AntomWebhook) // Antom回调 bundleOrderRoute := r.Group("bundle-order") bundleOrderRoute.Use(middleware.CheckLogin(service.AccountProvider)) @@ -29,7 +30,8 @@ func BundleOrderRouter(r *gin.RouterGroup) { bundleOrderAppRoute.POST("order-detail", bundle.OrderRecordsDetail) // stripe - bundleOrderAppRoute.POST("create-stripe-pay", bundle.CreateStripeCheckoutSession) + //bundleOrderAppRoute.POST("create-stripe-pay", bundle.CreateStripeCheckoutSession) // stripe支付 + bundleOrderAppRoute.POST("create-stripe-pay", bundle.CreateAntomPay) // Antom国际支付 } } diff --git a/pkg/service/bundle/pay.go b/pkg/service/bundle/pay.go index 27c846a..e28f815 100644 --- a/pkg/service/bundle/pay.go +++ b/pkg/service/bundle/pay.go @@ -2,10 +2,12 @@ package bundle import ( "context" + "encoding/json" "errors" "fmt" "fonchain-fiee/api/bundle" "fonchain-fiee/api/order" + "fonchain-fiee/api/payment" "fonchain-fiee/pkg/config" "fonchain-fiee/pkg/model/login" "fonchain-fiee/pkg/service" @@ -127,6 +129,125 @@ func CreateStripeCheckoutSession(c *gin.Context) { } +func CreateAntomPay(c *gin.Context) { + var req order.CreateStripeCheckoutSessionRequest + + if err := c.ShouldBindBodyWith(&req, binding.JSON); err != nil { + service.Error(c, err) + return + } + + // 获取 用户信息 + userInfo := login.GetUserInfoFromC(c) + + // 检查 订单信息 + detail, detailErr := service.BundleProvider.OrderRecordsDetail(context.Background(), &bundle.OrderRecordsDetailRequest{ + OrderNo: req.OutTradeNo, + }) + + if detailErr != nil { + service.Error(c, detailErr) + return + } + + fmt.Println("detail.OrderRecord.CustomerID :", detail.OrderRecord.CustomerID) + + // 判断 是否是 本人操作 + if strconv.FormatUint(userInfo.ID, 10) != detail.OrderRecord.CustomerID { + service.Error(c, errors.New(common.NotMatchOrderInfo)) + return + } + + fmt.Println("detail.OrderRecord.TotalAmount :", detail.OrderRecord.TotalAmount) + fmt.Println("req.ProductAllPrice :", req.ProductAllPrice) + fmt.Println("detail.OrderRecord.TotalAmount*100 :", detail.OrderRecord.TotalAmount*100) + + //金额校验 + orderAmountInCents := int64(math.Round(float64(detail.OrderRecord.TotalAmount * 100))) + reqAmountInCents := int64(math.Round(float64(req.ProductAllPrice))) + if orderAmountInCents != reqAmountInCents { + fmt.Println("111111111111111111111111111111111111") + service.Error(c, errors.New(common.InvalidOrderAmount)) + return + } + + fmt.Println("detail.OrderRecord.Status :", detail.OrderRecord.Status) + fmt.Println("detail.OrderRecord.CheckoutSessionId :", detail.OrderRecord.CheckoutSessionId) + fmt.Println("detail.OrderRecord.PayTime :", detail.OrderRecord.PayTime) + + // 如果 当前订单 是 已签未支付 且 存在 checkoutSessionId 需要 查询 支付结果 + if detail.OrderRecord.Status == bundleModel.OrderSigned && detail.OrderRecord.CheckoutSessionId != "" && detail.OrderRecord.PayTime == "" { + // 查询支付结果 + stripeInfosRes, stripeInfosErr := service.PaymentProvider.QueryAntomPayByCheckoutSessionId(context.Background(), &payment.AntomPayQueryRequest{ + CheckoutSessionIds: []string{detail.OrderRecord.CheckoutSessionId}, + }) + + if stripeInfosErr != nil { + service.Error(c, errors.New(common.ErrorQueryStripeInfo)) + return + } + + if stripeInfosRes != nil && len(stripeInfosRes.Infos) > 0 { + for _, info := range stripeInfosRes.Infos { + if info.OutTradeNo == detail.OrderRecord.OrderNo && info.Status == "paid" { + _, updateOrderRecordErr := service.BundleProvider.UpdateOrderRecord(context.Background(), &bundle.OrderRecord{ + Uuid: detail.OrderRecord.Uuid, + Status: bundleModel.OrderPaid, + PayTime: common.GetBeijingTime(), + }) + fmt.Println("detail.OrderRecord.Uuid :", detail.OrderRecord.Uuid) + if updateOrderRecordErr != nil { + service.Error(c, detailErr) + return + } + service.Success(c, &service.Response{ + Msg: common.HadPay, + Code: 0, + }) + return + } + } + } + } + + var antomReq payment.CreatePayRequest + antomReq.Payee = "Antom" + antomReq.Platform = "antom" + antomReq.ChannelType = "antom" + antomReq.ProductDescription = req.ProductDescription + antomReq.BusinessType = "useless" + antomReq.Domain = "fiee" + antomReq.Amount = req.ProductAllPrice + antomReq.Currency = req.ProductPriceCurrency + antomReq.OutTradeNo = req.OutTradeNo + antomReq.ReturnUrl = req.SuccessUrl + + //调用微服务获取支付地址 + result, err := service.PaymentProvider.CreatePay(context.Background(), &antomReq) + if err != nil { + service.Error(c, err) + return + } + + fmt.Println("result.CheckoutSessionId :", result.CheckoutSessionId) + fmt.Println("result.Url :", result.Url) + + //更新订单状态 + _, updateOrderRecordErr := service.BundleProvider.UpdateOrderRecord(context.Background(), &bundle.OrderRecord{ + Uuid: detail.OrderRecord.Uuid, + CheckoutSessionId: result.CheckoutSessionId, + CheckoutSessionUrl: result.Url, + }) + + if updateOrderRecordErr != nil { + service.Error(c, updateOrderRecordErr) + return + } + + service.Success(c, result) + +} + func StripeCheckoutSessionWebhook(c *gin.Context) { var req order.GetCheckoutWebhookRequest c.Request.Body = http.MaxBytesReader(c.Writer, c.Request.Body, int64(65536)) @@ -160,3 +281,81 @@ func StripeCheckoutSessionWebhook(c *gin.Context) { } service.Success(c) } + +func AntomWebhook(c *gin.Context) { + + var err error + data, err := io.ReadAll(c.Request.Body) + if err != nil { + service.Error(c, err) + return + } + + // 将数据转换为字符串形式并记录日志(如果数据过大则不记录) + dataStr := string(data) + fmt.Println("================ Antom回调参数:", dataStr) + + // 将读取到的数据解析为 map[string]interface{} + var reqMap map[string]interface{} + if err := json.Unmarshal(data, &reqMap); err != nil { + service.Error(c, err) + return + } + + // 提取需要的字段 + notifyType, _ := reqMap["notifyType"].(string) + resultMap, resultExists := reqMap["result"].(map[string]interface{}) + if !resultExists { + service.Error(c, errors.New("result 字段不存在或类型错误")) + return + } + + requestId, _ := reqMap["paymentRequestId"].(string) + paymentId, _ := reqMap["paymentId"].(string) + paymentTime, _ := reqMap["paymentTime"].(string) + + // 提取 result 字段中的子字段 + resultStatus, _ := resultMap["resultStatus"].(string) + resultMessage, _ := resultMap["resultMessage"].(string) + + // 打印提取的字段(可以根据需要处理) + fmt.Println("通知类型:", notifyType) + fmt.Println("订单号:", requestId) + fmt.Println("支付ID:", paymentId) + fmt.Println("支付时间:", paymentTime) + fmt.Println("支付结果状态:", resultStatus) + fmt.Println("支付结果消息:", resultMessage) + /* + * S: 当 notifyType 为PAYMENT_RESULT时,表示支付成功;当 notifyType 为PAYMENT_PENDING时,表示支付处理中。 + * F: 表示支付失败。 + * */ + params := &payment.AntomNotifyPayRequest{ + NotifyType: notifyType, + RequestId: requestId, + PaymentId: paymentId, + PaymentTime: paymentTime, + ResultStatus: resultStatus, + ResultMessage: resultMessage, + } + + resp, err := service.PaymentProvider.AntomWebhook(c, params) + if err != nil { + service.Error(c, err) + return + } + fmt.Println("resp.Status:", resp.Status) + if resp.Status == "paid" { + //支付成功 + _, updateStatusErr := service.BundleProvider.UpdateOrderRecordByOrderNo(context.Background(), &bundle.OrderRecord{ + OrderNo: resp.OutTradeNo, + PayTime: common.GetBeijingTime(), + Status: bundleModel.OrderPaid, + }) + if updateStatusErr != nil { + service.Error(c, err) + return + } + + } + service.Success(c) +} diff --git a/pkg/service/init.go b/pkg/service/init.go index b3cacdc..53c182d 100644 --- a/pkg/service/init.go +++ b/pkg/service/init.go @@ -8,6 +8,7 @@ import ( "fonchain-fiee/api/account" "fonchain-fiee/api/bundle" "fonchain-fiee/api/order" + "fonchain-fiee/api/payment" pkConfig "fonchain-fiee/pkg/config" "os" ) @@ -16,11 +17,13 @@ var AccountProvider = new(account.AccountClientImpl) var BundleProvider = new(bundle.BundleClientImpl) var OrderProvider = new(order.OrderClientImpl) +var PaymentProvider = new(payment.PaymentClientImpl) func init() { config.SetConsumerService(BundleProvider) config.SetConsumerService(OrderProvider) config.SetConsumerService(AccountProvider) + config.SetConsumerService(PaymentProvider) if err := config.Load(); err != nil { panic(err)