syntax = "proto3"; package payments.endpoint.v1; option go_package = "github.com/tech/sendico/pkg/proto/payments/endpoint/v1;endpointv1"; import "api/proto/common/describable/v1/describable.proto"; import "api/proto/common/permission_bound/v1/pbound.proto"; enum PaymentMethodType { PAYMENT_METHOD_TYPE_UNSPECIFIED = 0; PAYMENT_METHOD_TYPE_IBAN = 1; PAYMENT_METHOD_TYPE_CARD = 2; PAYMENT_METHOD_TYPE_CARD_TOKEN = 3; PAYMENT_METHOD_TYPE_BANK_ACCOUNT = 4; PAYMENT_METHOD_TYPE_WALLET = 5; PAYMENT_METHOD_TYPE_CRYPTO_ADDRESS = 6; PAYMENT_METHOD_TYPE_LEDGER = 7; } message PaymentMethod { common.describable.v1.Describable describable = 1; string recipient_ref = 2; PaymentMethodType type = 3; bytes data = 4; bool is_main = 5; } message PaymentEndpoint { oneof source { string payment_method_ref = 1; PaymentMethod payment_method = 2; string payee_ref = 3; } } message PaymentMethodRecord { common.pbound.v1.PermissionBound permission_bound = 1; PaymentMethod payment_method = 2; }