# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: api/v1/payment.proto
# Protobuf Python Version: 6.30.2
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import runtime_version as _runtime_version
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder

_runtime_version.ValidateProtobufRuntimeVersion(
    _runtime_version.Domain.PUBLIC, 6, 30, 2, "", "api/v1/payment.proto"
)
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from api.v1 import common_pb2 as api_dot_v1_dot_common__pb2
from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
from protoc_gen_openapiv2.options import (
    annotations_pb2 as protoc__gen__openapiv2_dot_options_dot_annotations__pb2,
)


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
    b'\n\x14\x61pi/v1/payment.proto\x12\x06\x61pi.v1\x1a\x13\x61pi/v1/common.proto\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto"~\n\x18OffSessionPaymentRequest\x12+\n\x08\x63ustomer\x18\x01 \x01(\tB\x0f\xbaH\x0cr\n2\x08^cus-.+$R\x08\x63ustomer\x12\x35\n\x06\x63harge\x18\x02 \x01(\x0b\x32\x15.api.v1.InitialChargeB\x06\xbaH\x03\xc8\x01\x01R\x06\x63harge"w\n\x19OffSessionPaymentResponse\x12,\n\x08\x63ustomer\x18\x01 \x01(\x0b\x32\x10.api.v1.CustomerR\x08\x63ustomer\x12,\n\x06\x63harge\x18\x02 \x01(\x0b\x32\x14.api.v1.ChargeResultR\x06\x63harge"\xa7\x01\n\x10\x41\x64\x64\x43hargeRequest\x12+\n\x08\x63ustomer\x18\x01 \x01(\tB\x0f\xbaH\x0cr\n2\x08^cus-.+$R\x08\x63ustomer\x12\x35\n\x06\x63harge\x18\x02 \x01(\x0b\x32\x15.api.v1.InitialChargeB\x06\xbaH\x03\xc8\x01\x01R\x06\x63harge\x12/\n\x08redirect\x18\n \x01(\x0b\x32\x0b.api.v1.URLB\x06\xbaH\x03\xc8\x01\x01R\x08redirect"\xa1\x01\n\x11\x41\x64\x64\x43hargeResponse\x12&\n\x06\x63harge\x18\x01 \x01(\x0b\x32\x0e.api.v1.ChargeR\x06\x63harge\x12,\n\x08\x63ustomer\x18\x02 \x01(\x0b\x32\x10.api.v1.CustomerR\x08\x63ustomer\x12\x36\n\x0cpayment_link\x18\x03 \x01(\x0b\x32\x13.api.v1.PaymentLinkR\x0bpaymentLink"\x88\x01\n\x11GetChargesRequest\x12+\n\x08\x63ustomer\x18\x01 \x01(\tB\x0f\xbaH\x0cr\n2\x08^cus-.+$R\x08\x63ustomer\x12\x37\n\npagination\x18\x02 \x01(\x0b\x32\x12.api.v1.PaginationH\x00R\npagination\x88\x01\x01\x42\r\n\x0b_pagination"\xa6\x01\n\x12GetChargesResponse\x12.\n\x07\x63harges\x18\x01 \x03(\x0b\x32\x14.api.v1.ChargeResultR\x07\x63harges\x12,\n\x08\x63ustomer\x18\x02 \x01(\x0b\x32\x10.api.v1.CustomerR\x08\x63ustomer\x12\x32\n\npagination\x18\x03 \x01(\x0b\x32\x12.api.v1.PaginationR\npagination"*\n\x10GetChargeRequest\x12\x16\n\x06\x63harge\x18\x02 \x01(\tR\x06\x63harge"o\n\x11GetChargeResponse\x12,\n\x06\x63harge\x18\x01 \x01(\x0b\x32\x14.api.v1.ChargeResultR\x06\x63harge\x12,\n\x08\x63ustomer\x18\x02 \x01(\x0b\x32\x10.api.v1.CustomerR\x08\x63ustomer"u\n\x0fWithdrawRequest\x12+\n\x08\x63ustomer\x18\x01 \x01(\tB\x0f\xbaH\x0cr\n2\x08^cus-.+$R\x08\x63ustomer\x12\x35\n\x06\x63harge\x18\x02 \x01(\x0b\x32\x15.api.v1.InitialChargeB\x06\xbaH\x03\xc8\x01\x01R\x06\x63harge"n\n\x10WithdrawResponse\x12,\n\x08\x63ustomer\x18\x01 \x01(\x0b\x32\x10.api.v1.CustomerR\x08\x63ustomer\x12,\n\x06\x63harge\x18\x02 \x01(\x0b\x32\x14.api.v1.ChargeResultR\x06\x63harge"\x82\x01\n"CreateContractWithoutChargeRequest\x12+\n\x05\x62uyer\x18\x01 \x01(\x0b\x32\r.api.v1.BuyerB\x06\xbaH\x03\xc8\x01\x01R\x05\x62uyer\x12/\n\x08redirect\x18\n \x01(\x0b\x32\x0b.api.v1.URLB\x06\xbaH\x03\xc8\x01\x01R\x08redirect"\xb9\x01\n#CreateContractWithoutChargeResponse\x12,\n\x08\x63ontract\x18\x01 \x01(\x0b\x32\x10.api.v1.ContractR\x08\x63ontract\x12,\n\x08\x63ustomer\x18\x02 \x01(\x0b\x32\x10.api.v1.CustomerR\x08\x63ustomer\x12\x36\n\x0cpayment_link\x18\x03 \x01(\x0b\x32\x13.api.v1.PaymentLinkR\x0bpaymentLink"\xb6\x01\n\x1f\x43reateContractWithChargeRequest\x12+\n\x05\x62uyer\x18\x01 \x01(\x0b\x32\r.api.v1.BuyerB\x06\xbaH\x03\xc8\x01\x01R\x05\x62uyer\x12\x35\n\x06\x63harge\x18\x02 \x01(\x0b\x32\x15.api.v1.InitialChargeB\x06\xbaH\x03\xc8\x01\x01R\x06\x63harge\x12/\n\x08redirect\x18\n \x01(\x0b\x32\x0b.api.v1.URLB\x06\xbaH\x03\xc8\x01\x01R\x08redirect"\xde\x01\n CreateContractWithChargeResponse\x12,\n\x08\x63ontract\x18\x01 \x01(\x0b\x32\x10.api.v1.ContractR\x08\x63ontract\x12&\n\x06\x63harge\x18\x02 \x01(\x0b\x32\x0e.api.v1.ChargeR\x06\x63harge\x12,\n\x08\x63ustomer\x18\x03 \x01(\x0b\x32\x10.api.v1.CustomerR\x08\x63ustomer\x12\x36\n\x0cpayment_link\x18\x04 \x01(\x0b\x32\x13.api.v1.PaymentLinkR\x0bpaymentLink"\xd3\x01\n\x03URL\x12\x65\n\x0bsuccess_url\x18\x01 \x01(\tBD\xbaHAr\x02\x10\x01\xba\x01:\n\tvalid_uri\x12\x1fsuccess_url must be a valid URI\x1a\x0cthis.isUri()R\nsuccessUrl\x12\x65\n\x0b\x66\x61ilure_url\x18\x02 \x01(\tBD\xbaHAr\x02\x10\x01\xba\x01:\n\tvalid_uri\x12\x1fsuccess_url must be a valid URI\x1a\x0cthis.isUri()R\nfailureUrl"\xba\x02\n\rInitialCharge\x12!\n\x05price\x18\x02 \x01(\x05\x42\x0b\xbaH\x08\x1a\x06\x18\xa0\xc2\x1e \x01R\x05price\x12(\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x0b\x64\x65scription\x12?\n\x08metadata\x18\x04 \x03(\x0b\x32#.api.v1.InitialCharge.MetadataEntryR\x08metadata\x12O\n\nexpires_at\x18\x14 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x0f\xbaH\x0c\xb2\x01\t@\x00J\x05\x08\x80\x9a\x9e\x01H\x00R\texpiresAt\x88\x01\x01\x1a;\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\r\n\x0b_expires_at"\xbc\x02\n\x06\x43harge\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12!\n\x05price\x18\x02 \x01(\x05\x42\x0b\xbaH\x08\x1a\x06\x18\xa0\xc2\x1e \x01R\x05price\x12(\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x0b\x64\x65scription\x12\x38\n\x08metadata\x18\x04 \x03(\x0b\x32\x1c.api.v1.Charge.MetadataEntryR\x08metadata\x12O\n\nexpires_at\x18\x14 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x0f\xbaH\x0c\xb2\x01\t@\x00J\x05\x08\x80\x9a\x9e\x01H\x00R\texpiresAt\x88\x01\x01\x1a;\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\r\n\x0b_expires_at"\xc5\x05\n\x0c\x43hargeResult\x12\x1b\n\tcharge_id\x18\x01 \x01(\tR\x08\x63hargeId\x12\x12\n\x04paid\x18\x02 \x01(\x08R\x04paid\x12\x16\n\x06reason\x18\x03 \x01(\tR\x06reason\x12 \n\x0b\x64\x65scription\x18\x04 \x01(\tR\x0b\x64\x65scription\x12#\n\rmerchant_name\x18\x05 \x01(\tR\x0cmerchantName\x12%\n\x0einitial_amount\x18\x06 \x01(\x05R\rinitialAmount\x12\x1a\n\x08\x64iscount\x18\x07 \x01(\x05R\x08\x64iscount\x12!\n\x0c\x66inal_amount\x18\x08 \x01(\x05R\x0b\x66inalAmount\x12,\n\x0f\x61mount_refunded\x18\t \x01(\x05H\x00R\x0e\x61mountRefunded\x88\x01\x01\x12\x1a\n\x08\x63urrency\x18\n \x01(\tR\x08\x63urrency\x12\x19\n\x08token_id\x18\x0b \x01(\tR\x07tokenId\x12>\n\x08metadata\x18\x0c \x03(\x0b\x32".api.v1.ChargeResult.MetadataEntryR\x08metadata\x12\x39\n\ncreated_at\x18\r \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nupdated_at\x18\x0e \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tupdatedAt\x12\x42\n\x0cprocessed_at\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x01R\x0bprocessedAt\x88\x01\x01\x1a;\n\rMetadataEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\x12\n\x10_amount_refundedB\x0f\n\r_processed_at"\xcf\x01\n\x0bPaymentLink\x12J\n\x03url\x18\x01 \x01(\tB8\xbaH5\xba\x01\x32\n\tvalid_uri\x12\x17url must be a valid URI\x1a\x0cthis.isUri()R\x03url\x12\x39\n\ncreated_at\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x39\n\nexpires_at\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampR\texpiresAt"\xfc\x01\n\x17OnSessionPaymentRequest\x12\x30\n\x08\x63ustomer\x18\x01 \x01(\tB\x0f\xbaH\x0cr\n2\x08^cus-.+$H\x00R\x08\x63ustomer\x88\x01\x01\x12(\n\x05\x62uyer\x18\x02 \x01(\x0b\x32\r.api.v1.BuyerH\x01R\x05\x62uyer\x88\x01\x01\x12\x32\n\x06\x63harge\x18\x03 \x01(\x0b\x32\x15.api.v1.InitialChargeH\x02R\x06\x63harge\x88\x01\x01\x12/\n\x08redirect\x18\n \x01(\x0b\x32\x0b.api.v1.URLB\x06\xbaH\x03\xc8\x01\x01R\x08redirectB\x0b\n\t_customerB\x08\n\x06_buyerB\t\n\x07_charge"h\n\x15OnSessionPaymentError\x12\x35\n\x04\x63ode\x18\x01 \x01(\x0e\x32!.api.v1.OnSessionPaymentErrorCodeR\x04\x63ode\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message"\x84\x02\n\x14OnSessionPaymentData\x12\x31\n\x08\x63ontract\x18\x01 \x01(\x0b\x32\x10.api.v1.ContractH\x00R\x08\x63ontract\x88\x01\x01\x12+\n\x06\x63harge\x18\x02 \x01(\x0b\x32\x0e.api.v1.ChargeH\x01R\x06\x63harge\x88\x01\x01\x12\x34\n\x08\x63ustomer\x18\x03 \x01(\x0b\x32\x10.api.v1.CustomerB\x06\xbaH\x03\xc8\x01\x01R\x08\x63ustomer\x12>\n\x0cpayment_link\x18\x04 \x01(\x0b\x32\x13.api.v1.PaymentLinkB\x06\xbaH\x03\xc8\x01\x01R\x0bpaymentLinkB\x0b\n\t_contractB\t\n\x07_charge"\xb8\x01\n\x18OnSessionPaymentResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12\x38\n\x05\x65rror\x18\x02 \x01(\x0b\x32\x1d.api.v1.OnSessionPaymentErrorH\x00R\x05\x65rror\x88\x01\x01\x12\x35\n\x04\x64\x61ta\x18\x03 \x01(\x0b\x32\x1c.api.v1.OnSessionPaymentDataH\x01R\x04\x64\x61ta\x88\x01\x01\x42\x08\n\x06_errorB\x07\n\x05_data*\xd1\x04\n\x19OnSessionPaymentErrorCode\x12-\n)ON_SESSION_PAYMENT_ERROR_CODE_UNSPECIFIED\x10\x00\x12\x37\n3ON_SESSION_PAYMENT_ERROR_CODE_MISSING_REDIRECT_URLS\x10\x01\x12=\n9ON_SESSION_PAYMENT_ERROR_CODE_MISSING_REQUIRED_PARAMETERS\x10\x02\x12\x30\n,ON_SESSION_PAYMENT_ERROR_CODE_MISSING_CHARGE\x10\n\x12\x34\n0ON_SESSION_PAYMENT_ERROR_CODE_CUSTOMER_NOT_FOUND\x10\x0b\x12\x33\n/ON_SESSION_PAYMENT_ERROR_CODE_CUSTOMER_INACTIVE\x10\x0c\x12\x42\n>ON_SESSION_PAYMENT_ERROR_CODE_MERCHANT_CUSTOMER_ALREADY_EXISTS\x10\x14\x12\x33\n/ON_SESSION_PAYMENT_ERROR_CODE_VALIDATION_FAILED\x10\x1e\x12;\n7ON_SESSION_PAYMENT_ERROR_CODE_STRATEGY_EXECUTION_FAILED\x10(\x12:\n6ON_SESSION_PAYMENT_ERROR_CODE_INVALID_PAYMENT_STRATEGY\x10)2\xe0\x0f\n\x0ePaymentService\x12\xbd\x02\n\x1b\x43reateContractWithoutCharge\x12*.api.v1.CreateContractWithoutChargeRequest\x1a+.api.v1.CreateContractWithoutChargeResponse"\xc4\x01\x92\x41\x9a\x01\n\x07payment\x12\x38\x43reate a contract without initial charge (contract only)\x1a\x38\x43reate a contract without initial charge (contract only)*\x1b\x63reateContractWithoutCharge\x82\xd3\xe4\x93\x02 "\x1b/v1/contract-without-charge:\x01*\x12\x87\x02\n\x18\x43reateContractWithCharge\x12\'.api.v1.CreateContractWithChargeRequest\x1a(.api.v1.CreateContractWithChargeResponse"\x97\x01\x92\x41q\n\x07payment\x12%Create a contract with initial charge\x1a%Create a contract with initial charge*\x18\x63reateContractWithCharge\x82\xd3\xe4\x93\x02\x1d"\x18/v1/contract-with-charge:\x01*\x12\xb8\x01\n\tAddCharge\x12\x18.api.v1.AddChargeRequest\x1a\x19.api.v1.AddChargeResponse"v\x92\x41Z\n\x07payment\x12!Use existing contract with charge\x1a!Use existing contract with charge*\taddCharge\x82\xd3\xe4\x93\x02\x13"\x0e/v1/add-charge:\x01*\x12\xae\x01\n\tGetCharge\x12\x18.api.v1.GetChargeRequest\x1a\x19.api.v1.GetChargeResponse"l\x92\x41N\n\x07payment\x12\x15Get a specific charge\x1a!Get a specific charge information*\tgetCharge\x82\xd3\xe4\x93\x02\x15\x12\x13/v1/charge/{charge}\x12\xb8\x01\n\nGetCharges\x12\x19.api.v1.GetChargesRequest\x1a\x1a.api.v1.GetChargesResponse"s\x92\x41R\n\x07payment\x12\x15Get a list of charges\x1a$Get a list of charges for a customer*\ngetCharges\x82\xd3\xe4\x93\x02\x18\x12\x16/v1/charges/{customer}\x12\xee\x01\n\x08Withdraw\x12\x17.api.v1.WithdrawRequest\x1a\x18.api.v1.WithdrawResponse"\xae\x01\x92\x41\x93\x01\n\x07payment\x12:Withdraw money from customer immediately, without redirect\x1a\x42This call is synchronous. The money will be withdrawn immediately.*\x08withdraw\x82\xd3\xe4\x93\x02\x11"\x0c/v1/withdraw:\x01*\x12\xa7\x02\n\x11OffSessionPayment\x12 .api.v1.OffSessionPaymentRequest\x1a!.api.v1.OffSessionPaymentResponse"\xcc\x01\x92\x41\xa5\x01\n\x07payment\x12)Process payment directly without redirect\x1a\\Execute a payment off-session within your application without redirecting to a payment page.*\x11offSessionPayment\x82\xd3\xe4\x93\x02\x1d"\x18/v1/payments/off-session:\x01*\x12\xc1\x02\n\x10OnSessionPayment\x12\x1f.api.v1.OnSessionPaymentRequest\x1a .api.v1.OnSessionPaymentResponse"\xe9\x01\x92\x41\xc3\x01\n\x07payment\x12&Process payment with optional redirect\x1a~Unified interface for creating payments - supports existing customers, new customers with charges, and contract-only creation.*\x10onSessionPayment\x82\xd3\xe4\x93\x02\x1c"\x17/v1/payments/on-session:\x01*Bp\n\ncom.api.v1B\x0cPaymentProtoP\x01Z\x1b\x61pi/proto/gen/api/v1;api_v1\xa2\x02\x03\x41XX\xaa\x02\x06\x41pi.V1\xca\x02\x06\x41pi\\V1\xe2\x02\x12\x41pi\\V1\\GPBMetadata\xea\x02\x07\x41pi::V1b\x06proto3'
)

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "api.v1.payment_pb2", _globals)
if not _descriptor._USE_C_DESCRIPTORS:
    _globals["DESCRIPTOR"]._loaded_options = None
    _globals["DESCRIPTOR"]._serialized_options = (
        b"\n\ncom.api.v1B\014PaymentProtoP\001Z\033api/proto/gen/api/v1;api_v1\242\002\003AXX\252\002\006Api.V1\312\002\006Api\\V1\342\002\022Api\\V1\\GPBMetadata\352\002\007Api::V1"
    )
    _globals["_OFFSESSIONPAYMENTREQUEST"].fields_by_name[
        "customer"
    ]._loaded_options = None
    _globals["_OFFSESSIONPAYMENTREQUEST"].fields_by_name[
        "customer"
    ]._serialized_options = b"\272H\014r\n2\010^cus-.+$"
    _globals["_OFFSESSIONPAYMENTREQUEST"].fields_by_name[
        "charge"
    ]._loaded_options = None
    _globals["_OFFSESSIONPAYMENTREQUEST"].fields_by_name[
        "charge"
    ]._serialized_options = b"\272H\003\310\001\001"
    _globals["_ADDCHARGEREQUEST"].fields_by_name["customer"]._loaded_options = None
    _globals["_ADDCHARGEREQUEST"].fields_by_name[
        "customer"
    ]._serialized_options = b"\272H\014r\n2\010^cus-.+$"
    _globals["_ADDCHARGEREQUEST"].fields_by_name["charge"]._loaded_options = None
    _globals["_ADDCHARGEREQUEST"].fields_by_name[
        "charge"
    ]._serialized_options = b"\272H\003\310\001\001"
    _globals["_ADDCHARGEREQUEST"].fields_by_name["redirect"]._loaded_options = None
    _globals["_ADDCHARGEREQUEST"].fields_by_name[
        "redirect"
    ]._serialized_options = b"\272H\003\310\001\001"
    _globals["_GETCHARGESREQUEST"].fields_by_name["customer"]._loaded_options = None
    _globals["_GETCHARGESREQUEST"].fields_by_name[
        "customer"
    ]._serialized_options = b"\272H\014r\n2\010^cus-.+$"
    _globals["_WITHDRAWREQUEST"].fields_by_name["customer"]._loaded_options = None
    _globals["_WITHDRAWREQUEST"].fields_by_name[
        "customer"
    ]._serialized_options = b"\272H\014r\n2\010^cus-.+$"
    _globals["_WITHDRAWREQUEST"].fields_by_name["charge"]._loaded_options = None
    _globals["_WITHDRAWREQUEST"].fields_by_name[
        "charge"
    ]._serialized_options = b"\272H\003\310\001\001"
    _globals["_CREATECONTRACTWITHOUTCHARGEREQUEST"].fields_by_name[
        "buyer"
    ]._loaded_options = None
    _globals["_CREATECONTRACTWITHOUTCHARGEREQUEST"].fields_by_name[
        "buyer"
    ]._serialized_options = b"\272H\003\310\001\001"
    _globals["_CREATECONTRACTWITHOUTCHARGEREQUEST"].fields_by_name[
        "redirect"
    ]._loaded_options = None
    _globals["_CREATECONTRACTWITHOUTCHARGEREQUEST"].fields_by_name[
        "redirect"
    ]._serialized_options = b"\272H\003\310\001\001"
    _globals["_CREATECONTRACTWITHCHARGEREQUEST"].fields_by_name[
        "buyer"
    ]._loaded_options = None
    _globals["_CREATECONTRACTWITHCHARGEREQUEST"].fields_by_name[
        "buyer"
    ]._serialized_options = b"\272H\003\310\001\001"
    _globals["_CREATECONTRACTWITHCHARGEREQUEST"].fields_by_name[
        "charge"
    ]._loaded_options = None
    _globals["_CREATECONTRACTWITHCHARGEREQUEST"].fields_by_name[
        "charge"
    ]._serialized_options = b"\272H\003\310\001\001"
    _globals["_CREATECONTRACTWITHCHARGEREQUEST"].fields_by_name[
        "redirect"
    ]._loaded_options = None
    _globals["_CREATECONTRACTWITHCHARGEREQUEST"].fields_by_name[
        "redirect"
    ]._serialized_options = b"\272H\003\310\001\001"
    _globals["_URL"].fields_by_name["success_url"]._loaded_options = None
    _globals["_URL"].fields_by_name[
        "success_url"
    ]._serialized_options = b"\272HAr\002\020\001\272\001:\n\tvalid_uri\022\037success_url must be a valid URI\032\014this.isUri()"
    _globals["_URL"].fields_by_name["failure_url"]._loaded_options = None
    _globals["_URL"].fields_by_name[
        "failure_url"
    ]._serialized_options = b"\272HAr\002\020\001\272\001:\n\tvalid_uri\022\037success_url must be a valid URI\032\014this.isUri()"
    _globals["_INITIALCHARGE_METADATAENTRY"]._loaded_options = None
    _globals["_INITIALCHARGE_METADATAENTRY"]._serialized_options = b"8\001"
    _globals["_INITIALCHARGE"].fields_by_name["price"]._loaded_options = None
    _globals["_INITIALCHARGE"].fields_by_name[
        "price"
    ]._serialized_options = b"\272H\010\032\006\030\240\302\036 \001"
    _globals["_INITIALCHARGE"].fields_by_name["description"]._loaded_options = None
    _globals["_INITIALCHARGE"].fields_by_name[
        "description"
    ]._serialized_options = b"\272H\003\310\001\001"
    _globals["_INITIALCHARGE"].fields_by_name["expires_at"]._loaded_options = None
    _globals["_INITIALCHARGE"].fields_by_name[
        "expires_at"
    ]._serialized_options = b"\272H\014\262\001\t@\000J\005\010\200\232\236\001"
    _globals["_CHARGE_METADATAENTRY"]._loaded_options = None
    _globals["_CHARGE_METADATAENTRY"]._serialized_options = b"8\001"
    _globals["_CHARGE"].fields_by_name["price"]._loaded_options = None
    _globals["_CHARGE"].fields_by_name[
        "price"
    ]._serialized_options = b"\272H\010\032\006\030\240\302\036 \001"
    _globals["_CHARGE"].fields_by_name["description"]._loaded_options = None
    _globals["_CHARGE"].fields_by_name[
        "description"
    ]._serialized_options = b"\272H\003\310\001\001"
    _globals["_CHARGE"].fields_by_name["expires_at"]._loaded_options = None
    _globals["_CHARGE"].fields_by_name[
        "expires_at"
    ]._serialized_options = b"\272H\014\262\001\t@\000J\005\010\200\232\236\001"
    _globals["_CHARGERESULT_METADATAENTRY"]._loaded_options = None
    _globals["_CHARGERESULT_METADATAENTRY"]._serialized_options = b"8\001"
    _globals["_PAYMENTLINK"].fields_by_name["url"]._loaded_options = None
    _globals["_PAYMENTLINK"].fields_by_name[
        "url"
    ]._serialized_options = b"\272H5\272\0012\n\tvalid_uri\022\027url must be a valid URI\032\014this.isUri()"
    _globals["_ONSESSIONPAYMENTREQUEST"].fields_by_name[
        "customer"
    ]._loaded_options = None
    _globals["_ONSESSIONPAYMENTREQUEST"].fields_by_name[
        "customer"
    ]._serialized_options = b"\272H\014r\n2\010^cus-.+$"
    _globals["_ONSESSIONPAYMENTREQUEST"].fields_by_name[
        "redirect"
    ]._loaded_options = None
    _globals["_ONSESSIONPAYMENTREQUEST"].fields_by_name[
        "redirect"
    ]._serialized_options = b"\272H\003\310\001\001"
    _globals["_ONSESSIONPAYMENTDATA"].fields_by_name["customer"]._loaded_options = None
    _globals["_ONSESSIONPAYMENTDATA"].fields_by_name[
        "customer"
    ]._serialized_options = b"\272H\003\310\001\001"
    _globals["_ONSESSIONPAYMENTDATA"].fields_by_name[
        "payment_link"
    ]._loaded_options = None
    _globals["_ONSESSIONPAYMENTDATA"].fields_by_name[
        "payment_link"
    ]._serialized_options = b"\272H\003\310\001\001"
    _globals["_PAYMENTSERVICE"].methods_by_name[
        "CreateContractWithoutCharge"
    ]._loaded_options = None
    _globals["_PAYMENTSERVICE"].methods_by_name[
        "CreateContractWithoutCharge"
    ]._serialized_options = b'\222A\232\001\n\007payment\0228Create a contract without initial charge (contract only)\0328Create a contract without initial charge (contract only)*\033createContractWithoutCharge\202\323\344\223\002 "\033/v1/contract-without-charge:\001*'
    _globals["_PAYMENTSERVICE"].methods_by_name[
        "CreateContractWithCharge"
    ]._loaded_options = None
    _globals["_PAYMENTSERVICE"].methods_by_name[
        "CreateContractWithCharge"
    ]._serialized_options = b'\222Aq\n\007payment\022%Create a contract with initial charge\032%Create a contract with initial charge*\030createContractWithCharge\202\323\344\223\002\035"\030/v1/contract-with-charge:\001*'
    _globals["_PAYMENTSERVICE"].methods_by_name["AddCharge"]._loaded_options = None
    _globals["_PAYMENTSERVICE"].methods_by_name[
        "AddCharge"
    ]._serialized_options = b'\222AZ\n\007payment\022!Use existing contract with charge\032!Use existing contract with charge*\taddCharge\202\323\344\223\002\023"\016/v1/add-charge:\001*'
    _globals["_PAYMENTSERVICE"].methods_by_name["GetCharge"]._loaded_options = None
    _globals["_PAYMENTSERVICE"].methods_by_name[
        "GetCharge"
    ]._serialized_options = b"\222AN\n\007payment\022\025Get a specific charge\032!Get a specific charge information*\tgetCharge\202\323\344\223\002\025\022\023/v1/charge/{charge}"
    _globals["_PAYMENTSERVICE"].methods_by_name["GetCharges"]._loaded_options = None
    _globals["_PAYMENTSERVICE"].methods_by_name[
        "GetCharges"
    ]._serialized_options = b"\222AR\n\007payment\022\025Get a list of charges\032$Get a list of charges for a customer*\ngetCharges\202\323\344\223\002\030\022\026/v1/charges/{customer}"
    _globals["_PAYMENTSERVICE"].methods_by_name["Withdraw"]._loaded_options = None
    _globals["_PAYMENTSERVICE"].methods_by_name[
        "Withdraw"
    ]._serialized_options = b'\222A\223\001\n\007payment\022:Withdraw money from customer immediately, without redirect\032BThis call is synchronous. The money will be withdrawn immediately.*\010withdraw\202\323\344\223\002\021"\014/v1/withdraw:\001*'
    _globals["_PAYMENTSERVICE"].methods_by_name[
        "OffSessionPayment"
    ]._loaded_options = None
    _globals["_PAYMENTSERVICE"].methods_by_name[
        "OffSessionPayment"
    ]._serialized_options = b'\222A\245\001\n\007payment\022)Process payment directly without redirect\032\\Execute a payment off-session within your application without redirecting to a payment page.*\021offSessionPayment\202\323\344\223\002\035"\030/v1/payments/off-session:\001*'
    _globals["_PAYMENTSERVICE"].methods_by_name[
        "OnSessionPayment"
    ]._loaded_options = None
    _globals["_PAYMENTSERVICE"].methods_by_name[
        "OnSessionPayment"
    ]._serialized_options = b'\222A\303\001\n\007payment\022&Process payment with optional redirect\032~Unified interface for creating payments - supports existing customers, new customers with charges, and contract-only creation.*\020onSessionPayment\202\323\344\223\002\034"\027/v1/payments/on-session:\001*'
    _globals["_ONSESSIONPAYMENTERRORCODE"]._serialized_start = 4787
    _globals["_ONSESSIONPAYMENTERRORCODE"]._serialized_end = 5380
    _globals["_OFFSESSIONPAYMENTREQUEST"]._serialized_start = 193
    _globals["_OFFSESSIONPAYMENTREQUEST"]._serialized_end = 319
    _globals["_OFFSESSIONPAYMENTRESPONSE"]._serialized_start = 321
    _globals["_OFFSESSIONPAYMENTRESPONSE"]._serialized_end = 440
    _globals["_ADDCHARGEREQUEST"]._serialized_start = 443
    _globals["_ADDCHARGEREQUEST"]._serialized_end = 610
    _globals["_ADDCHARGERESPONSE"]._serialized_start = 613
    _globals["_ADDCHARGERESPONSE"]._serialized_end = 774
    _globals["_GETCHARGESREQUEST"]._serialized_start = 777
    _globals["_GETCHARGESREQUEST"]._serialized_end = 913
    _globals["_GETCHARGESRESPONSE"]._serialized_start = 916
    _globals["_GETCHARGESRESPONSE"]._serialized_end = 1082
    _globals["_GETCHARGEREQUEST"]._serialized_start = 1084
    _globals["_GETCHARGEREQUEST"]._serialized_end = 1126
    _globals["_GETCHARGERESPONSE"]._serialized_start = 1128
    _globals["_GETCHARGERESPONSE"]._serialized_end = 1239
    _globals["_WITHDRAWREQUEST"]._serialized_start = 1241
    _globals["_WITHDRAWREQUEST"]._serialized_end = 1358
    _globals["_WITHDRAWRESPONSE"]._serialized_start = 1360
    _globals["_WITHDRAWRESPONSE"]._serialized_end = 1470
    _globals["_CREATECONTRACTWITHOUTCHARGEREQUEST"]._serialized_start = 1473
    _globals["_CREATECONTRACTWITHOUTCHARGEREQUEST"]._serialized_end = 1603
    _globals["_CREATECONTRACTWITHOUTCHARGERESPONSE"]._serialized_start = 1606
    _globals["_CREATECONTRACTWITHOUTCHARGERESPONSE"]._serialized_end = 1791
    _globals["_CREATECONTRACTWITHCHARGEREQUEST"]._serialized_start = 1794
    _globals["_CREATECONTRACTWITHCHARGEREQUEST"]._serialized_end = 1976
    _globals["_CREATECONTRACTWITHCHARGERESPONSE"]._serialized_start = 1979
    _globals["_CREATECONTRACTWITHCHARGERESPONSE"]._serialized_end = 2201
    _globals["_URL"]._serialized_start = 2204
    _globals["_URL"]._serialized_end = 2415
    _globals["_INITIALCHARGE"]._serialized_start = 2418
    _globals["_INITIALCHARGE"]._serialized_end = 2732
    _globals["_INITIALCHARGE_METADATAENTRY"]._serialized_start = 2658
    _globals["_INITIALCHARGE_METADATAENTRY"]._serialized_end = 2717
    _globals["_CHARGE"]._serialized_start = 2735
    _globals["_CHARGE"]._serialized_end = 3051
    _globals["_CHARGE_METADATAENTRY"]._serialized_start = 2658
    _globals["_CHARGE_METADATAENTRY"]._serialized_end = 2717
    _globals["_CHARGERESULT"]._serialized_start = 3054
    _globals["_CHARGERESULT"]._serialized_end = 3763
    _globals["_CHARGERESULT_METADATAENTRY"]._serialized_start = 2658
    _globals["_CHARGERESULT_METADATAENTRY"]._serialized_end = 2717
    _globals["_PAYMENTLINK"]._serialized_start = 3766
    _globals["_PAYMENTLINK"]._serialized_end = 3973
    _globals["_ONSESSIONPAYMENTREQUEST"]._serialized_start = 3976
    _globals["_ONSESSIONPAYMENTREQUEST"]._serialized_end = 4228
    _globals["_ONSESSIONPAYMENTERROR"]._serialized_start = 4230
    _globals["_ONSESSIONPAYMENTERROR"]._serialized_end = 4334
    _globals["_ONSESSIONPAYMENTDATA"]._serialized_start = 4337
    _globals["_ONSESSIONPAYMENTDATA"]._serialized_end = 4597
    _globals["_ONSESSIONPAYMENTRESPONSE"]._serialized_start = 4600
    _globals["_ONSESSIONPAYMENTRESPONSE"]._serialized_end = 4784
    _globals["_PAYMENTSERVICE"]._serialized_start = 5383
    _globals["_PAYMENTSERVICE"]._serialized_end = 7399
# @@protoc_insertion_point(module_scope)
