// Copyright 2022 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; package google.cloud.paymentgateway.issuerswitch.v1; import "google/api/annotations.proto"; import "google/api/client.proto"; import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/cloud/paymentgateway/issuerswitch/v1/common_fields.proto"; import "google/cloud/paymentgateway/issuerswitch/v1/resolutions.proto"; import "google/longrunning/operations.proto"; import "google/protobuf/timestamp.proto"; import "google/type/date.proto"; import "google/type/money.proto"; option csharp_namespace = "Google.Cloud.PaymentGateway.IssuerSwitch.V1"; option go_package = "google.golang.org/genproto/googleapis/cloud/paymentgateway/issuerswitch/v1;issuerswitch"; option java_multiple_files = true; option java_outer_classname = "TransactionsProto"; option java_package = "com.google.cloud.paymentgateway.issuerswitch.v1"; option php_namespace = "Google\\Cloud\\PaymentGateway\\IssuerSwitch\\V1"; option ruby_package = "Google::Cloud::PaymentGateway::IssuerSwitch::V1"; // Lists and exports transactions processed by the issuer switch. service IssuerSwitchTransactions { option (google.api.default_host) = "issuerswitch.googleapis.com"; option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; // List metadata transactions that satisfy the specified filter criteria. rpc ListMetadataTransactions(ListMetadataTransactionsRequest) returns (ListMetadataTransactionsResponse) { option (google.api.http) = { get: "/v1/{parent=projects/*}/metadataTransactions" }; option (google.api.method_signature) = "parent"; } // List financial transactions that satisfy specified filter criteria. rpc ListFinancialTransactions(ListFinancialTransactionsRequest) returns (ListFinancialTransactionsResponse) { option (google.api.http) = { get: "/v1/{parent=projects/*}/financialTransactions" }; option (google.api.method_signature) = "parent"; } // List mandate transactions that satisfy specified filter criteria. rpc ListMandateTransactions(ListMandateTransactionsRequest) returns (ListMandateTransactionsResponse) { option (google.api.http) = { get: "/v1/{parent=projects/*}/mandateTransactions" }; option (google.api.method_signature) = "parent"; } // List complaint transactions that satisfy specified filter criteria. rpc ListComplaintTransactions(ListComplaintTransactionsRequest) returns (ListComplaintTransactionsResponse) { option (google.api.http) = { get: "/v1/{parent=projects/*}/complaintTransactions" }; option (google.api.method_signature) = "parent"; } // Export financial transactions received within the specified time range as a // file into a configured target location. The returned `Operation` type has // the following method-specific fields: // // - `metadata`: [ExportFinancialTransactionsMetadata][google.cloud.paymentgateway.issuerswitch.v1.ExportFinancialTransactionsMetadata] // - `response`: [ExportFinancialTransactionsResponse][google.cloud.paymentgateway.issuerswitch.v1.ExportFinancialTransactionsResponse] // // The exported file will be in the standard CSV format where each row in the // file represents a transaction. The file has the following fields in order: // // - `TransactionID` - UPI transaction ID. // - `TransactionType` - Type of the transaction. This will be one of // `TRANSACTION_TYPE_CREDIT`, `TRANSACTION_TYPE_DEBIT` or // `TRANSACTION_TYPE_REVERSAL`. // - `TransactionSubType` - Subtype of the transaction. This will be one // of `COLLECT`, `DEBIT` or `PAY`. // - `RequestReceivedTimestamp` - Timestamp (in UTC) indicating when the // transaction API request was received by the issuer switch. // - `CreationTime` - Timestamp (in UTC) indicating when the // issuer switch created the transaction resource for processing the // transaction. // - `State` - State of the transaction. This will be one of `FAILED` or // `SUCCEEDED`. // - `RRN` - Retrieval reference number associated with the transaction. // - `PayerVPA` - Virtual Payment Address (VPA) of the payer. // - `PayerMobileNumber` - Mobile number of the payer. // - `PayerIFSCCode` - IFSC code of the payer's bank account. // - `PayerAccountNumber` - Payer's bank account number. // - `PayerAccountType` - Payer's bank account type. // - `PayeeVPA` - Virtual Payment Address (VPA) of the payee. // - `PayeeMobileNumber` - Payee's mobile number. // - `PayeeIFSCCode` - IFSC code of the payee's bank account. // - `PayeeAccountNumber` - Payee's bank account number. // - `PayeeAccountType` - Payee's bank account type. // - `PayeeMerchantID` - Payee's merchant ID, only if the payee is a merchant. // - `PayeeMerchantName` - Payee's merchant name, only if the payee is a // merchant. // - `PayeeMCC` - Payee's Merchant Category Code (MCC), only if the payee is a // merchant. // - `Currency` - Currency of the amount involved in the transaction. // - `Amount` - Amount involved in the transaction. // - `BankAdapterRequestIDs` - List of Request IDs (colon separated) used when // invoking the Bank Adapter APIs for fulfilling a transaction request. // - `ErrorCode` - Error code of the failed transaction. // - `ErrorMessage` - Error description for the failed transaction. // - `UPIErrorCode` - Error code as per the UPI specification. The issuer // switch maps the ErrorCode to an appropriate error code that complies with // the UPI specification. rpc ExportFinancialTransactions(ExportFinancialTransactionsRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/{parent=projects/*}/financialTransactions:export" body: "*" }; option (google.longrunning.operation_info) = { response_type: "ExportFinancialTransactionsResponse" metadata_type: "ExportFinancialTransactionsMetadata" }; } // Export metadata transactions received within the specified time range as a // file into a configured target location. The returned `Operation` type has // the following method-specific fields: // // - `metadata`: [ExportMetadataTransactionsMetadata][google.cloud.paymentgateway.issuerswitch.v1.ExportMetadataTransactionsMetadata] // - `response`: [ExportMetadataTransactionsResponse][google.cloud.paymentgateway.issuerswitch.v1.ExportMetadataTransactionsResponse] // // The exported file will be in the standard CSV format where each row in the // file represents a transaction. The file has the following fields in order: // // - `TransactionID` - UPI transaction ID. // - `APIType` - The transaction's API type. The value will be of the // [ApiType][google.cloud.paymentgateway.issuerswitch.v1.ApiType] enum. // - `TransactionType` - Type of the transaction. The value will be of the // [TransactionType][google.cloud.paymentgateway.issuerswitch.v1.TransactionType] enum. // - `RequestReceivedTimestamp` - Timestamp (in UTC) indicating when the // transaction's API request was received by the issuer switch. // - `CreationTime` - Timestamp (in UTC) indicating when the // issuer switch created the transaction resource for processing the // transaction. // - `State` - State of transaction. This will be one of `FAILED` or // `SUCCEEDED`. // - `OriginVPA` - Virtual Payment Address (VPA) of the originator of the // transaction. // - `BankAdapterRequestIDs` - List of Request IDs (colon separated) used when // invoking the Bank Adapter APIs for fulfilling a transaction request. // - `ErrorCode` - Error code of the failed transaction. // - `ErrorMessage` - Error description for the failed transaction. // - `UPIErrorCode` - Error code as per the UPI specification. The issuer // switch maps the ErrorCode to an appropriate error code that complies with // the UPI specification. rpc ExportMetadataTransactions(ExportMetadataTransactionsRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/{parent=projects/*}/metadataTransactions:export" body: "*" }; option (google.longrunning.operation_info) = { response_type: "ExportMetadataTransactionsResponse" metadata_type: "ExportMetadataTransactionsMetadata" }; } // Export mandate transactions received within the specified time range as a // file into a configured target location. The returned `Operation` type has // the following method-specific fields: // // - `metadata`: [ExportMandateTransactionsMetadata][google.cloud.paymentgateway.issuerswitch.v1.ExportMandateTransactionsMetadata] // - `response`: [ExportMandateTransactionsResponse][google.cloud.paymentgateway.issuerswitch.v1.ExportMandateTransactionsResponse] // // The exported file will be in the standard CSV format where each row in the // file represents a transaction. The file has the following fields in order: // // - `TransactionID` - UPI transaction ID. // - `UniqueMandateNumber` - UPI Unique Mandate Number. // - `TransactionType` - Type of the transaction. This will be one of // `TRANSACTION_TYPE_CREATE`, `TRANSACTION_TYPE_REVOKE` or // `TRANSACTION_TYPE_UPDATE`. // - `RequestReceivedTimestamp` - Timestamp (in UTC) indicating when the // mandate API request was received by the issuer switch. // - `CreationTime` - Timestamp (in UTC) indicating when the // issuer switch created the transaction resource for processing the // transaction. // - `State` - State of the transaction. This will be one of // `FAILED` or `SUCCEEDED`. // - `PayerVPA` - Virtual Payment Address (VPA) of the payer. // - `PayerMobileNumber` - Mobile number of the payer. // - `PayeeVPA` - Virtual Payment Address (VPA) of the payee. // - `PayeeMobileNumber` - Mobile number of the payee. // - `PayeeMerchantID` - Payee's merchant ID. // - `Amount` - Amount specified in the mandate. // - `RecurrencePattern` - Reccurence pattern of the mandate. The value will // be of the [MandateTransaction.RecurrencePattern][] enum. // - `RecurrenceRuleType` - Reccurrence rule type of the mandate. The value // will be of the [MandateTransaction.RecurrenceRuleType][google.cloud.paymentgateway.issuerswitch.v1.MandateTransaction.RecurrenceRuleType] enum. // - `RecurrenceRuleValue` - Recurrence rule value of the mandate. // - `Revokeable` - Boolean value specifying if the mandate is revokable. // - `StartDate` - The start date of the mandate in `YYYY-MM-DD` format. // - `EndDate` - The end date of the mandate in `YYYY-MM-DD` format. // - `AmountRuleType` - The amount rule of the mandate. The value will // be of the [MandateTransaction.AmountRuleType][google.cloud.paymentgateway.issuerswitch.v1.MandateTransaction.AmountRuleType] enum. // - `ApprovalReference` - The block funds reference generated by the bank, // if funds have been blocked for the mandate. This column have a value only // when the RecurrencePattern is ONETIME. // - `BlockFunds` - Boolean value specifying if the mandate transaction // requested to block funds. // - `LastUpdateTime` - Timestamp (in UTC) indicating when was the last // modification made to the mandate. // - `BankAdapterRequestIDs` - List of Request IDs (colon separated) used when // invoking the Bank Adapter APIs for fulfilling a transaction request. // - `ErrorCode` - Error code of the failed transaction. // - `ErrorMessage` - Error description for the failed transaction. // - `UPIErrorCode` - Error code as per the UPI specification. The issuer // switch maps the ErrorCode to an appropriate error code that complies with // the UPI specification. rpc ExportMandateTransactions(ExportMandateTransactionsRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/{parent=projects/*}/mandateTransactions:export" body: "*" }; option (google.longrunning.operation_info) = { response_type: "ExportMandateTransactionsResponse" metadata_type: "ExportMandateTransactionsMetadata" }; } // Export complaint transactions received within the specified time range as a // file into a configured target location. The returned `Operation` type has // the following method-specific fields: // // - `metadata`: [ExportComplaintTransactionsMetadata][google.cloud.paymentgateway.issuerswitch.v1.ExportComplaintTransactionsMetadata] // - `response`: [ExportComplaintTransactionsResponse][google.cloud.paymentgateway.issuerswitch.v1.ExportComplaintTransactionsResponse] // // The exported file will be in the standard CSV format where each row in the // file represents a transaction. The file has the following fields in order: // // - `TransactionID` - UPI transaction ID. // - `TransactionType` - Type of the transaction. This will be one of // `TRANSACTION_TYPE_CHECK_STATUS`, `TRANSACTION_TYPE_COMPLAINT`, // `TRANSACTION_TYPE_REVERSAL`, `TRANSACTION_TYPE_DISPUTE`, // `TRANSACTION_TYPE_REFUND` or `TRANSACTION_TYPE_STATUS_UPDATE`. // - `CreationTime` - Timestamp (in UTC) indicating when the issuer switch // created the transaction resource for processing the transaction. // - `State` - State of the transaction. This will be one of // `FAILED` or `SUCCEEDED`. // - `OriginalRRN` - RRN of the original payment transaction. // - `BankType` - The subtype of the transaction based on the bank involved. // - `OriginalTransactionID` - Transaction ID of the original unresolved // transaction. // - `RaiseComplaintAdjFlag` - Indicates the type of action to raise the // complaint. // - `RaiseComplaintAdjCode` - Indicates the reason of action to raise the // complaint. // - `ResolveComplaintAdjFlag` - Indicates the type of action to resolve the // complaint. // - `ResolveComplaintAdjCode` - Indicates the reason of action to resolve the // complaint. // - `RaiseDisputeAdjFlag` - Indicates the type of action to raise the // dispute. // - `RaiseDisputeAdjCode` - Indicates the reason of action to raise the // dispute. // - `ResolveDisputeAdjFlag` - Indicates the type of action to resolve the // dispute. // - `ResolveDisputeAdjCode` - Indicates the reason of action to resolve the // dispute. // - `Amount` - Amount to be resolved. // - `CurrentCycle` - Boolean value specifying if the complaint / dispute // belongs to current settlement cycle or not. // - `CRN` - Defines the Complaint Reference number. // - `AdjTime` - Indicates the time when the resolution was done. // - `RespAdjFlag` - Indicates the response category type. // - `RespAdjCode` - Indicates the response reason used. // - `AdjRemarks` - Indicates the additional remarks for the complaint / // dispute. // - `BankAdapterRequestIDs` - List of Request IDs (colon separated) used when // invoking the Bank Adapter APIs for fulfilling a transaction request. // - `ErrorCode` - Error code of the failed transaction. // - `ErrorMessage` - Error description for the failed transaction. // - `UPIErrorCode` - Error code as per the UPI specification. The issuer // switch service maps the ErrorCode to an appropriate error code that // complies with the UPI specification. rpc ExportComplaintTransactions(ExportComplaintTransactionsRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/{parent=projects/*}/complaintTransactions:export" body: "*" }; option (google.longrunning.operation_info) = { response_type: "ExportComplaintTransactionsResponse" metadata_type: "ExportComplaintTransactionsMetadata" }; } } // Information about a transaction processed by the issuer switch. // The fields in this type are common across both financial and metadata // transactions. message TransactionInfo { // Specifies the current state of the transaction. enum State { // Unspecicifed state. STATE_UNSPECIFIED = 0; // The transaction has successfully completed. SUCCEEDED = 1; // The transaction has failed. FAILED = 2; } // The sub-type of a transaction. This value is used only for certain API type // and transaction type combinations. enum TransactionSubType { // Unspecified transaction sub-type. TRANSACTION_SUB_TYPE_UNSPECIFIED = 0; // Collect sub type. This is used in a `SETTLE_PAYMENT` API type // transaction, with transaction type as either `CREDIT` or `DEBIT` when the // payment was initiated by a collect request. COLLECT = 1; // Debit sub type. This is used in a `SETTLE_PAYMENT` API type transaction, // with transaction type as `REVERSAL` when the original payment was a // debit request. DEBIT = 2; // Pay sub type. This is used in a `SETTLE_PAYMENT` API type transaction, // with transaction type as either `CREDIT` or `DEBIT` when the payment was // initiated by a pay request. PAY = 3; // Beneficiary subtype. This is used in a `COMPLAINT` API type transaction, // when the complaint / dispute request is initiated / received by the // beneficiary bank. BENEFICIARY = 4; // Remitter subtype. This is used in a `COMPLAINT` API type transaction, // when the complaint / dispute request is initiated / received by the // remitter bank. REMITTER = 5; } // Output only. An identifier that is mandatorily present in every transaction processed // via UPI. This maps to UPI's transaction ID. string id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The API type of the transaction. ApiType api_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The transaction type. TransactionType transaction_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The transaction sub-type. TransactionSubType transaction_sub_type = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The transaction's state. State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Error code of the failed transaction. string error_code = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Error description for the failed transaction. string error_message = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The time at which the transaction resource was created by the // issuer switch. google.protobuf.Timestamp create_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. List of Request IDs (colon separated) used when // invoking the Bank Adapter APIs for fulfilling a transaction request. string bank_adapter_request_ids = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Error code as per the UPI specification. The issuer switch maps the // ErrorCode to an appropriate error code that complies with the UPI // specification. string upi_error_code = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; } // A metadata API transaction processed by the issuer switch. This // includes UPI APIs such as List Accounts, Balance Enquiry, etc. message MetadataTransaction { option (google.api.resource) = { type: "issuerswitch.googleapis.com/MetadataTransaction" pattern: "projects/{project}/metadataTransactions/{transaction}" }; // The name of the metadata transaction. This uniquely identifies the // transaction. Format of name is // projects/{project_id}/metadataTransaction/{metadata_transaction_id}. string name = 1; // Information about the transaction. TransactionInfo info = 2; // Output only. Virtual Payment Address (VPA) which originated the request. string origin_vpa = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; } // A financial API transaction processed by the issuer switch. In UPI, this maps // to the Pay API. message FinancialTransaction { option (google.api.resource) = { type: "issuerswitch.googleapis.com/FinancialTransaction" pattern: "projects/{project}/financialTransactions/{transaction}" }; // The name of the financial transaction. This uniquely identifies the // transaction. Format of name is // projects/{project_id}/financialTransactions/{financial_transaction_id}. string name = 1; // Information about the transaction. TransactionInfo info = 2; // Output only. A 12 digit numeric code associated with the request. It could contain // leading 0s. In UPI, this is also known as as the customer reference or the // UPI transaction ID. string retrieval_reference_number = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The payer in the transaction. SettlementParticipant payer = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The payee in the transaction. SettlementParticipant payee = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The amount for payment settlement in the transaction. google.type.Money amount = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; } // A mandate processed by the issuer switch. In UPI, this maps to the Mandate // API. message MandateTransaction { option (google.api.resource) = { type: "issuerswitch.googleapis.com/MandateTransaction" pattern: "projects/{project}/mandateTransactions/{transaction}" }; // RecurrencePatternType specifies the recurrence pattern type of the mandate. enum RecurrencePatternType { // Unspecified recurrence pattern. RECURRENCE_PATTERN_TYPE_UNSPECIFIED = 0; // As presented recurrence pattern. AS_PRESENTED = 1; // Bi monthly recurrence pattern. BIMONTHLY = 2; // Daily recurrence pattern. DAILY = 3; // Bi weekly recurrence pattern. FORTNIGHTLY = 4; // Half yearly recurrence pattern. HALF_YEARLY = 5; // Monthly recurrence pattern. MONTHLY = 6; // One time recurrence pattern. ONE_TIME = 7; // Quarterly recurrence pattern. QUARTERLY = 8; // Weekly recurrence pattern. WEEKLY = 9; // Yearly recurrence pattern. YEARLY = 10; } // RecurrenceRuleType specifies the recurrence rule type of mandate. enum RecurrenceRuleType { // Unspecified recurrence rule type. RECURRENCE_RULE_TYPE_UNSPECIFIED = 0; // After recurrence rule type. AFTER = 1; // Before recurrence rule type. BEFORE = 2; // On recurrence rule type. ON = 3; } // AmountRuleType specifies the type of rule associated with the mandate // amount. enum AmountRuleType { // Unspecified amount rule. AMOUNT_RULE_TYPE_UNSPECIFIED = 0; // Exact amount rule. Amount specified is the exact amount for which // mandate could be granted. EXACT = 1; // Max amount rule. Amount specified is the maximum amount for which // mandate could be granted. MAX = 2; } // The name of the mandate transaction. This uniquely identifies the // transaction. Format of name is // projects/{project_id}/mandateTransactions/{mandate_transaction_id}. string name = 1; // Information about the transaction. TransactionInfo transaction_info = 2; // Output only. This maps to Unique Mandate Number (UMN) in UPI specification. string unique_mandate_number = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The virtual payment address (VPA) of the payer. string payer_vpa = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The virtual payment address (VPA) of the payee. string payee_vpa = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. A unique identifier for merchant. string payee_merchant_id = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The mobile number of the payer consisting of total twelve digits where // first two digits of country code (for eg. 91 for India) and then ten // digits mobile number. For eg. 911234567890 string payer_mobile_number = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The mobile number of the payer consisting of total twelve digits where // first two digits of country code (for eg. 91 for India) and then ten // digits mobile number. For eg. 911234567890 string payee_mobile_number = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The type of recurrence pattern of the mandate. RecurrencePatternType recurrence_pattern = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The type of recurrence rule of the mandate. RecurrenceRuleType recurrence_rule_type = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The recurrence rule value of the mandate. This is a value from 1 to 31. int32 recurrence_rule_value = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The start date of the mandate. google.type.Date start_date = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The end date of the mandate. google.type.Date end_date = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. If true, this specifies mandate can be revoked. bool revokable = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The amount of the mandate. double amount = 15 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The amount rule type of the mandate. AmountRuleType amount_rule = 16 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The Block funds reference generated by the bank, this will be available // only when Recurrence is ONETIME. string approval_reference = 17 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. If true, this specifies the mandate transaction requested funds to be // blocked. bool block_funds = 18 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. The last time at which the mandate resource was modified by the issuer // switch. google.protobuf.Timestamp last_update_time = 19 [(google.api.field_behavior) = OUTPUT_ONLY]; } // A complaint API transaction processed by the issuer switch. In // UPI, this maps to the Complaint API. message ComplaintTransaction { option (google.api.resource) = { type: "issuerswitch.googleapis.com/ComplaintTransaction" pattern: "projects/{project}/complaintTransactions/{transaction}" }; // The name of the complaint transaction. This uniquely identifies the // transaction. Format of name is // projects/{project_id}/complaintTransactions/{complaint_transaction_id}. string name = 1; // Information about the transaction. TransactionInfo info = 2; // Information about the complaint transaction. It can be one of Complaint or // Dispute. oneof case { // Output only. Information about the complaint transaction when it is of type complaint. Complaint complaint = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Information about the complaint transaction when it is of type dispute. Dispute dispute = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; } } // Request for the `ListMetadataTransactions` method. Callers can request for // transactions to be filtered by the given filter criteria and specified // pagination parameters. message ListMetadataTransactionsRequest { // Required. The parent resource. The format is `projects/{project}`. string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "issuerswitch.googleapis.com/MetadataTransaction" } ]; // The maximum number of transactions to return. The service may return fewer // than this value. If unspecified or if the specified value is less than 1, // at most 50 transactions will be returned. The maximum value is 1000; values // above 1000 will be coerced to 1000. While paginating, you can specify a new // page size parameter for each page of transactions to be listed. int32 page_size = 2; // A page token, received from a previous `ListMetadataTransactions` call. // Specify this parameter to retrieve the next page of transactions. // // When paginating, you must specify only the `page_token` parameter. The // filter that was specified in the initial call to the // `ListMetadataTransactions` method that returned the page token will be // reused for all further calls where the page token parameter is specified. string page_token = 3; // An expression that filters the list of metadata transactions. // // A filter expression consists of a field name, a comparison // operator, and a value for filtering. The value must be a string, a // number, or a boolean. The comparison operator must be one of: `<`, `>` or // `=`. Filters are not case sensitive. // // The following fields in the `MetadataTransaction` are eligible for // filtering: // // * `apiType` - The API type of the metadata transaction. Must be one of // [ApiType][google.cloud.paymentgateway.issuerswitch.v1.ApiType] values. Allowed comparison operators: `=`. // * `transactionType` - The transaction type of the metadata transaction. // Must be one of [TransactionType][google.cloud.paymentgateway.issuerswitch.v1.TransactionType] values. Allowed comparison // operators: `=`. // * `transactionID` - The UPI transaction ID of the metadata transaction. // Allowed comparison operators: `=`. // * `originVPA` - The VPA of the orignitator of a metadata transaction. // Allowed comparison operators: `=`. // * `createTime` - The time at which the transaction was created // (received) by the issuer switch. The value should be in // the format `YYYY-MM-DDTHH:MM:SSZ`. Allowed comparison operators: `>`, // `<`. // * `state` - The state of the transaction. Must be one of // [TransactionInfo.State][google.cloud.paymentgateway.issuerswitch.v1.TransactionInfo.State] values. Allowed comparison operators: `=`. // * `errorCode` - Use this filter to list financial transactions which // have failed a particular error code. Allowed comparison operators: // `=`. // * `bankAdapterRequestID` - Request ID used when invoking the Bank // Adapter API for fulfilling a transaction request. Allowed comparison // operators: `=`. // // You can combine multiple expressions by enclosing each expression in // parentheses. Expressions are combined with AND logic. No other logical // operators are supported. // // Here are a few examples: // // * `apiType = LIST_ACCOUNTS` - - The API type is _LIST_ACCOUNTS_. // * `state = SUCCEEDED` - The transaction's state is _SUCCEEDED_. // * `(apiType = LIST_ACCOUNTS) AND (create_time < // \"2021-08-15T14:50:00Z\")` - The API type is _LIST_ACCOUNTS_ and // the transaction was received before _2021-08-15 14:50:00 UTC_. string filter = 4; } // Request for the `ListFinancialTransactions` method. Callers can request for // transactions to be filtered by the given filter criteria and specified // pagination parameters. message ListFinancialTransactionsRequest { // Required. The parent resource. The format is `projects/{project}`. string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "issuerswitch.googleapis.com/FinancialTransaction" } ]; // The maximum number of transactions to return. The service may return fewer // than this value. If unspecified or if the specified value is less than 1, // at most 50 transactions will be returned. The maximum value is 1000; values // above 1000 will be coerced to 1000. While paginating, you can specify a new // page size parameter for each page of transactions to be listed. int32 page_size = 2; // A page token, received from a previous `ListFinancialTransactions` call. // Specify this parameter to retrieve the next page of transactions. // // When paginating, you must specify only the `page_token` parameter. The // filter that was specified in the initial call to the // `ListFinancialTransactions` method that returned the page token will be // reused for all further calls where the page token parameter is specified. string page_token = 3; // An expression that filters the list of financial transactions. // // A filter expression consists of a field name, a comparison operator, and // a value for filtering. The value must be a string, a number, or a // boolean. The comparison operator must be one of: `<`, `>`, or `=`. // Filters are not case sensitive. // // The following fields in the `FinancialTransaction` are eligible for // filtering: // // * `transactionType` - The transaction type of the financial // transaction. Must be one of [TransactionType][google.cloud.paymentgateway.issuerswitch.v1.TransactionType] values. For financial // transactions, only valid transaction types are `TRANSACTION_TYPE_CREDIT`, // `TRANSACTION_TYPE_DEBIT` and `TRANSACTION_TYPE_REVERSAL`. Allowed // comparison operators: `=`. // * `transactionID` - The UPI transaction ID of the financial // transaction. Allowed comparison operators: `=`. // * `RRN` - The retrieval reference number of the transaction. Allowed // comparison operators: `=`. // * `payerVPA` - The VPA of the payer in a financial transaction. Allowed // comparison operators: `=`. // * `payeeVPA` - The VPA of the payee in a financial transaction. Allowed // comparison operators: `=`. // * `payerMobileNumber` - The mobile number of the payer in a financial // transaction. Allowed comparison operators: `=`. // * `payeeMobileNumber` - The mobile number of the payee in a financial // transaction. Allowed comparison operators: `=`. // * `payeeMerchantId` - The merchant id of the payee in a financial // transaction. Allowed comparison operators: `=`. // * `createTime` - The time at which the transaction was created // (received) by the issuer switch. The value should be in // the format `YYYY-MM-DDTHH:MM:SSZ`. Allowed comparison operators: `>`, // `<`. // * `state` - The state of the transaction. Must be one of // [TransactionInfo.State][google.cloud.paymentgateway.issuerswitch.v1.TransactionInfo.State] values. Allowed comparison operators: `=`. // * `errorCode` - Use this filter to list financial transactions which // have failed a particular error code. Allowed comparison operators: `=`. // * `bankAdapterRequestID` - Request ID used when invoking the Bank // Adapter API for fulfilling a transaction request. Allowed comparison // operators: `=`. // // You can combine multiple expressions by enclosing each expression in // parentheses. Expressions are combined with AND logic. No other logical // operators are supported. // // Here are a few examples: // // * `transactionType = CREDIT` - The transaction type is _CREDIT_. // * `state = SUCCEEDED` - The transaction's state is _SUCCEEDED_. // * `payerVpa = example@okbank` - The VPA of the payer is the string // _example@okbank_. // * `(transactionType = DEBIT) AND (createTime < "2021-08-15T14:50:00Z")` // - The transaction type is _DEBIT_ and the transaction was received // before _2021-08-15 14:50:00 UTC_. // * `createTime > "2021-08-15T14:50:00Z" AND createTime < // "2021-08-16T14:50:00Z"` - The transaction was received between // _2021-08-15 14:50:00 UTC_ and _2021-08-16 14:50:00 UTC_. string filter = 4; } // Request for the `ListMandateTransactions` method. Callers can request for // transactions to be filtered by the given filter criteria and specified // pagination parameters. message ListMandateTransactionsRequest { // Required. The parent resource. The format is `projects/{project}`. string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "issuerswitch.googleapis.com/MandateTransaction" } ]; // The maximum number of transactions to return. The service may return fewer // than this value. If unspecified or if the specified value is less than 1, // at most 50 transactions will be returned. The maximum value is 1000; values // above 1000 will be coerced to 1000. While paginating, you can specify a new // page size parameter for each page of transactions to be listed. int32 page_size = 2; // A page token, received from a previous `ListMandateTransactions` call. // Specify this parameter to retrieve the next page of transactions. // // When paginating, you must specify only the `page_token` parameter. The // filter that was specified in the initial call to the // `ListMandateTransactions` method that returned the page token will be // reused for all further calls where the page token parameter is specified. string page_token = 3; // An expression that filters the list of mandate transactions. // // A filter expression consists of a field name, a comparison operator, and // a value for filtering. The value must be a string, a number, or a // boolean. The comparison operator must be one of: `<`, `>`, or `=`. // Filters are not case sensitive. // // The following fields in the `Mandate` are eligible for // filtering: // // * `uniqueMandateNumber` - UPI Unique Mandate Number (UMN). Allowed // comparison operators: `=`. // * `transactionID` - The transaction ID of the mandate transaction. // Allowed comparison operators: `=`. // * `transactionType` - The transaction type of the mandate // transaction. Must be one of [TransactionType][google.cloud.paymentgateway.issuerswitch.v1.TransactionType] values. For mandate // transactions, only valid transaction types are // `TRANSACTION_TYPE_CREATE`, `TRANSACTION_TYPE_REVOKE` and // `TRANSACTION_TYPE_UPDATE`. Allowed comparison operators: `=`. // * `payerVPA` - The VPA of the payer in a mandate transaction. Allowed // comparison operators: `=`. // * `payeeVPA` - The VPA of the payee in a mandate transaction. Allowed // comparison operators: `=`. // * `payeeMerchantID` - The merchant ID of the payee in a mandate // transaction. Allowed comparison operators: `=`. // * `payerMobileNumber` - The mobile number of the payer in a mandate // transaction. Allowed comparison operators: `=`. // * `payeeMobileNumber` - The mobile number of the payee in a mandate // transaction. Allowed comparison operators: `=`. // * `createTime` - The time at which the transaction was created // (received) by the issuer switch. The value should be in // the format `YYYY-MM-DDTHH:MM:SSZ`. Allowed comparison // operators: `>`, `<`. // * `state` - The state of the transaction. Must be one of // [TransactionInfo.State][google.cloud.paymentgateway.issuerswitch.v1.TransactionInfo.State] values. Allowed comparison operators: `=`. // * `recurrencePattern` - The recurrence pattern of the mandate. Must be // one of [MandateTransaction.RecurrencePatternType][google.cloud.paymentgateway.issuerswitch.v1.MandateTransaction.RecurrencePatternType] values. Allowed // comparison operators: `=`. // * `startDate` - The start date of the mandate. The value should be in // the format `YYYY-MM-DD`. Allowed comparison operators: `<` and `>`. // * `endDate` - The end date of the mandate. The value should be in // the format `YYYY-MM-DD`. Allowed comparison operators: `<` and `>`. // * `errorCode` - Use this filter to list mandate transactions which // have failed a particular error code. Allowed comparison // operators: `=`. // * `bankAdapterRequestID` - Request ID used when invoking the Bank // Adapter API for fulfilling a transaction request. Allowed comparison // operators: `=`. // You can combine multiple expressions by enclosing each expression in // parentheses. Expressions are combined with AND logic. No other logical // operators are supported. // // Here are a few examples: // * `recurrencePattern = MONTHLY` - The recurrence pattern type is // monthly. // * `state = SUCCEEDED` - The transaction's state is _SUCCEEDED_. // * `payerVPA = example@okbank` - The VPA of the payer is the string // _example@okbank_. // * `(payerVPA = example@okbank) AND (createTime < // "2021-08-15T14:50:00Z")` // - The payer VPA example@okbank and the transaction was received // before _2021-08-15 14:50:00 UTC_. // * `createTime > "2021-08-15T14:50:00Z" AND createTime < // "2021-08-16T14:50:00Z"` - The transaction was received between // _2021-08-15 14:50:00 UTC_ and _2021-08-16 14:50:00 UTC_. // * `startDate > "2021-08-15" AND startDate < "2021-08-17"` - The start // date for mandate is between _2021-08-15_ and _2021-08-17_. string filter = 4; } // Request for the `ListComplaintTransactions` method. Callers can request for // transactions to be filtered by the given filter criteria and specified // pagination parameters. message ListComplaintTransactionsRequest { // Required. The parent resource. The format is `projects/{project}`. string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { child_type: "issuerswitch.googleapis.com/ComplaintTransaction" } ]; // The maximum number of transactions to return. The service may return fewer // than this value. If unspecified or if the specified value is less than 1, // at most 50 transactions will be returned. The maximum value is 1000; values // above 1000 will be coerced to 1000. While paginating, you can specify a new // page size parameter for each page of transactions to be listed. int32 page_size = 2; // A page token, received from a previous `ListComplaintTransactions` call. // Specify this parameter to retrieve the next page of transactions. // // When paginating, you must specify only the `page_token` parameter. The // filter that was specified in the initial call to the // `ListComplaintTransactions` method that returned the page token will be // reused for all further calls where the page token parameter is specified. string page_token = 3; // An expression that filters the list of complaint transactions. // // A filter expression consists of a field name, a comparison operator, and // a value for filtering. The value must be a string, a number, or a // boolean. The comparison operator must be one of: `<`, `>`, or `=`. // Filters are not case sensitive. // // The following fields in the `Complaint` are eligible for // filtering: // // * `transactionID` - The transaction ID of the complaint transaction. // Allowed comparison operators: `=`. // * `transactionType` - The transaction type of the complaint // transaction. Must be one of [TransactionType][google.cloud.paymentgateway.issuerswitch.v1.TransactionType] values. For complaint // transactions, only valid transaction types are // `TRANSACTION_TYPE_CHECK_STATUS`, `TRANSACTION_TYPE_COMPLAINT`, // `TRANSACTION_TYPE_REVERSAL`, `TRANSACTION_TYPE_DISPUTE`, // `TRANSACTION_TYPE_REFUND` or `TRANSACTION_TYPE_STATUS_UPDATE`. Allowed // comparison operators: `=`. // * `originalRRN` - The retrieval reference number of the original // transaction for which complaint / dispute was raised / resolved. Allowed // comparison operators: `=`. // * `createTime` - The time at which the transaction was created // (received) by the issuer switch. The value should be in // the format `YYYY-MM-DDTHH:MM:SSZ`. Allowed comparison // operators: `>`, `<`. // * `state` - The state of the transaction. Must be one of // [TransactionInfo.State][google.cloud.paymentgateway.issuerswitch.v1.TransactionInfo.State] values. Allowed comparison operators: `=`. // * `errorCode` - Use this filter to list complaint transactions which // have failed a particular error code. Allowed comparison // operators: `=`. // You can combine multiple expressions by enclosing each expression in // parentheses. Expressions are combined with AND logic. No other logical // operators are supported. // // Here are a few examples: // // * `state = SUCCEEDED` - The transaction's state is _SUCCEEDED_. // * (createTime < "2021-08-15T14:50:00Z")` // - The transaction was received before _2021-08-15 14:50:00 UTC_. // * `createTime > "2021-08-15T14:50:00Z" AND createTime < // "2021-08-16T14:50:00Z"` - The transaction was received between // _2021-08-15 14:50:00 UTC_ and _2021-08-16 14:50:00 UTC_. string filter = 4; } // Response for the `ListMetadataTransactions` method. message ListMetadataTransactionsResponse { // List of non financial metadata transactions satisfying the filtered // request. repeated MetadataTransaction metadata_transactions = 1; // Pass this token in the ListMetadataTransactionsRequest to continue to list // results. If all results have been returned, this field is an empty string // or not present in the response. string next_page_token = 2; } // Response for the `ListFinancialTransactions` method. message ListFinancialTransactionsResponse { // List of financial transactions satisfying the filtered request. repeated FinancialTransaction financial_transactions = 1; // Pass this token in the ListFinancialTransactionsRequest to continue to list // results. If all results have been returned, this field is an empty string // or not present in the response. string next_page_token = 2; } // Response for the `ListMandateTransactionsResponse` method. message ListMandateTransactionsResponse { // List of mandate transactions satisfying the filtered request. repeated MandateTransaction mandate_transactions = 1; // Pass this token in the ListMandateTransactionsRequest to continue to list // results. If all results have been returned, this field is an empty string // or not present in the response. string next_page_token = 2; } // Response for the `ListComplaintTransactionsResponse` method. message ListComplaintTransactionsResponse { // List of complaint transactions satisfying the filtered request. repeated ComplaintTransaction complaint_transactions = 1; // Pass this token in the ListComplaintTransactionsRequest to continue to list // results. If all results have been returned, this field is an empty string // or not present in the response. string next_page_token = 2; } // Request for the `ExportFinancialTransactions` method. message ExportFinancialTransactionsRequest { // Required. The parent resource for the transactions. The format is // `projects/{project}`. string parent = 1 [(google.api.field_behavior) = REQUIRED]; // Transaction type for the financial transaction API. The possible values for // transaction type are // // * TRANSACTION_TYPE_CREDIT // * TRANSACTION_TYPE_DEBIT // * TRANSACTION_TYPE_REVERSAL // // If no transaction type is specified, records of all the above transaction // types will be exported. TransactionType transaction_type = 2; // The start time for the query. google.protobuf.Timestamp start_time = 3; // The end time for the query. google.protobuf.Timestamp end_time = 4; } // Request for the `ExportMetadataTransactions` method. message ExportMetadataTransactionsRequest { // Required. The parent resource for the transactions. The format is // `projects/{project}`. string parent = 1 [(google.api.field_behavior) = REQUIRED]; // API type of the metadata transaction API. The possible values for API type // are // // * BALANCE // * CHECK_STATUS // * HEART_BEAT // * INITIATE_REGISTRATION // * LIST_ACCOUNTS // * UPDATE_CREDENTIALS // * VALIDATE_REGISTRATION // // If no API type is specified, records of all the above API types will be // exported. ApiType api_type = 2; // The start time for the query. google.protobuf.Timestamp start_time = 3; // The end time for the query. google.protobuf.Timestamp end_time = 4; } // Request for the `ExportMandateTransactions` method. message ExportMandateTransactionsRequest { // Required. The parent resource for the transactions. The format is // `projects/{project}`. string parent = 1 [(google.api.field_behavior) = REQUIRED]; // Transaction type for the mandate transaction API. The possible values for // transaction type are // // * TRANSACTION_TYPE_CREATE // * TRANSACTION_TYPE_REVOKE // * TRANSACTION_TYPE_UPDATE // // If no transaction type is specified, records of all the above transaction // types will be exported. TransactionType transaction_type = 2; // The start time for the query. google.protobuf.Timestamp start_time = 3; // The end time for the query. google.protobuf.Timestamp end_time = 4; } // Request for the `ExportComplaintTransactions` method. message ExportComplaintTransactionsRequest { // Required. The parent resource for the transactions. The format is // `projects/{project}`. string parent = 1 [(google.api.field_behavior) = REQUIRED]; // Transaction type for the complaint transaction API. The possible values for // transaction type are // // * TRANSACTION_TYPE_CHECK_STATUS // * TRANSACTION_TYPE_COMPLAINT // * TRANSACTION_TYPE_DISPUTE // * TRANSACTION_TYPE_REFUND // * TRANSACTION_TYPE_REVERSAL // * TRANSACTION_TYPE_STATUS_UPDATE // // If no transaction type is specified, records of all the above transaction // types will be exported. TransactionType transaction_type = 2; // The start time for the query. google.protobuf.Timestamp start_time = 3; // The end time for the query. google.protobuf.Timestamp end_time = 4; } // Response for the `ExportFinancialTransactions` method. message ExportFinancialTransactionsResponse { // URI of the exported file. string target_uri = 1; } // Response for the `ExportMetadataTransactions` method. message ExportMetadataTransactionsResponse { // URI of the exported file. string target_uri = 1; } // Response for the `ExportMandateTransactions` method. message ExportMandateTransactionsResponse { // URI of the exported file. string target_uri = 1; } // Response for the `ExportComplaintTransactions` method. message ExportComplaintTransactionsResponse { // URI of the exported file. string target_uri = 1; } // Metadata for ExportFinancialTransactions. message ExportFinancialTransactionsMetadata { } // Metadata for ExportMandateTransactions. message ExportMandateTransactionsMetadata { } // Metadata for ExportMetadataTransactions. message ExportMetadataTransactionsMetadata { } // Metadata for ExportComplaintTransactions. message ExportComplaintTransactionsMetadata { }