transactions.proto 61 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408
  1. // Copyright 2022 Google LLC
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. syntax = "proto3";
  15. package google.cloud.paymentgateway.issuerswitch.v1;
  16. import "google/api/annotations.proto";
  17. import "google/api/client.proto";
  18. import "google/api/field_behavior.proto";
  19. import "google/api/resource.proto";
  20. import "google/cloud/paymentgateway/issuerswitch/v1/common_fields.proto";
  21. import "google/cloud/paymentgateway/issuerswitch/v1/resolutions.proto";
  22. import "google/longrunning/operations.proto";
  23. import "google/protobuf/timestamp.proto";
  24. import "google/type/date.proto";
  25. import "google/type/money.proto";
  26. option csharp_namespace = "Google.Cloud.PaymentGateway.IssuerSwitch.V1";
  27. option go_package = "google.golang.org/genproto/googleapis/cloud/paymentgateway/issuerswitch/v1;issuerswitch";
  28. option java_multiple_files = true;
  29. option java_outer_classname = "TransactionsProto";
  30. option java_package = "com.google.cloud.paymentgateway.issuerswitch.v1";
  31. option php_namespace = "Google\\Cloud\\PaymentGateway\\IssuerSwitch\\V1";
  32. option ruby_package = "Google::Cloud::PaymentGateway::IssuerSwitch::V1";
  33. // Lists and exports transactions processed by the issuer switch.
  34. service IssuerSwitchTransactions {
  35. option (google.api.default_host) = "issuerswitch.googleapis.com";
  36. option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform";
  37. // List metadata transactions that satisfy the specified filter criteria.
  38. rpc ListMetadataTransactions(ListMetadataTransactionsRequest) returns (ListMetadataTransactionsResponse) {
  39. option (google.api.http) = {
  40. get: "/v1/{parent=projects/*}/metadataTransactions"
  41. };
  42. option (google.api.method_signature) = "parent";
  43. }
  44. // List financial transactions that satisfy specified filter criteria.
  45. rpc ListFinancialTransactions(ListFinancialTransactionsRequest) returns (ListFinancialTransactionsResponse) {
  46. option (google.api.http) = {
  47. get: "/v1/{parent=projects/*}/financialTransactions"
  48. };
  49. option (google.api.method_signature) = "parent";
  50. }
  51. // List mandate transactions that satisfy specified filter criteria.
  52. rpc ListMandateTransactions(ListMandateTransactionsRequest) returns (ListMandateTransactionsResponse) {
  53. option (google.api.http) = {
  54. get: "/v1/{parent=projects/*}/mandateTransactions"
  55. };
  56. option (google.api.method_signature) = "parent";
  57. }
  58. // List complaint transactions that satisfy specified filter criteria.
  59. rpc ListComplaintTransactions(ListComplaintTransactionsRequest) returns (ListComplaintTransactionsResponse) {
  60. option (google.api.http) = {
  61. get: "/v1/{parent=projects/*}/complaintTransactions"
  62. };
  63. option (google.api.method_signature) = "parent";
  64. }
  65. // Export financial transactions received within the specified time range as a
  66. // file into a configured target location. The returned `Operation` type has
  67. // the following method-specific fields:
  68. //
  69. // - `metadata`: [ExportFinancialTransactionsMetadata][google.cloud.paymentgateway.issuerswitch.v1.ExportFinancialTransactionsMetadata]
  70. // - `response`: [ExportFinancialTransactionsResponse][google.cloud.paymentgateway.issuerswitch.v1.ExportFinancialTransactionsResponse]
  71. //
  72. // The exported file will be in the standard CSV format where each row in the
  73. // file represents a transaction. The file has the following fields in order:
  74. //
  75. // 1. `TransactionID`
  76. // * **Min Length** - 35 characters
  77. // * **Max Length** - 35 characters
  78. // * **Description** - UPI transaction ID.
  79. // 1. `TransactionType`
  80. // * **Min Length** - 22 characters
  81. // * **Max Length** - 25 characters
  82. // * **Description** - Type of the transaction. This will be one of
  83. // `TRANSACTION_TYPE_CREDIT`, `TRANSACTION_TYPE_DEBIT` or
  84. // `TRANSACTION_TYPE_REVERSAL`.
  85. // 1. `TransactionSubType`
  86. // * **Min Length** - 3 characters
  87. // * **Max Length** - 7 characters
  88. // * **Description** - Subtype of the transaction. This will be one of
  89. // `COLLECT`, or `PAY`.
  90. // 1. `RequestReceivedTimestamp`
  91. // * **Min Length** - 20 characters
  92. // * **Max Length** - 20 characters
  93. // * **Description** - Timestamp (in UTC) indicating when the transaction
  94. // API request was received by the issuer switch. The format will be as
  95. // per RFC-3339. Example : 2022-11-22T23:00:05Z
  96. // 1. `CreationTime`
  97. // * **Min Length** - 20 characters
  98. // * **Max Length** - 20 characters
  99. // * **Description** - Timestamp (in UTC) indicating when the issuer
  100. // switch created the transaction resource for processing the transaction.
  101. // The format will be as per RFC-3339. Example : 2022-11-22T23:00:05Z
  102. // 1. `State`
  103. // * **Min Length** - 6 characters
  104. // * **Max Length** - 9 characters
  105. // * **Description** - State of the transaction. This will be one of
  106. // `FAILED`, `SUCCEEDED`, or `TIMED_OUT`.
  107. // 1. `RRN`
  108. // * **Min Length** - 12 characters
  109. // * **Max Length** - 12 characters
  110. // * **Description** - Retrieval reference number associated with the
  111. // transaction.
  112. // 1. `PayerVPA`
  113. // * **Min Length** - 3 characters
  114. // * **Max Length** - 255 characters
  115. // * **Description** - Virtual Payment Address (VPA) of the payer.
  116. // 1. `PayerMobileNumber`
  117. // * **Min Length** - 12 characters
  118. // * **Max Length** - 12 characters
  119. // * **Description** - Mobile number of the payer.
  120. // 1. `PayerIFSC`
  121. // * **Min Length** - 11 characters
  122. // * **Max Length** - 11 characters
  123. // * **Description** - IFSC of the payer's bank account.
  124. // 1. `PayerAccountNumber`
  125. // * **Min Length** - 1 characters
  126. // * **Max Length** - 30 characters
  127. // * **Description** - Payer's bank account number.
  128. // 1. `PayerAccountType`
  129. // * **Min Length** - 3 characters
  130. // * **Max Length** - 7 characters
  131. // * **Description** - Payer's bank account type. This will be one of
  132. // `SAVINGS`, `DEFAULT`, `CURRENT`, `NRE`, `NRO`, `PPIWALLET`,
  133. // `BANKWALLET`, `CREDIT`, `SOD`, or `UOD`.
  134. // 1. `PayeeVPA`
  135. // * **Min Length** - 3 characters
  136. // * **Max Length** - 255 characters
  137. // * **Description** - Virtual Payment Address (VPA) of the payee.
  138. // 1. `PayeeMobileNumber`
  139. // * **Min Length** - 12 characters
  140. // * **Max Length** - 12 characters
  141. // * **Description** - Payee's mobile number.
  142. // 1. `PayeeIFSC`
  143. // * **Min Length** - 11 characters
  144. // * **Max Length** - 11 characters
  145. // * **Description** - IFSC of the payee's bank account.
  146. // 1. `PayeeAccountNumber`
  147. // * **Min Length** - 1 characters
  148. // * **Max Length** - 30 characters
  149. // * **Description** - Payee's bank account number.
  150. // 1 `PayeeAccountType`
  151. // * **Min Length** - 3 characters
  152. // * **Max Length** - 10 characters
  153. // * **Description** - Payee's bank account type. This will be one of
  154. // `SAVINGS`, `DEFAULT`, `CURRENT`, `NRE`, `NRO`, `PPIWALLET`,
  155. // `BANKWALLET`, `CREDIT`, `SOD`, or `UOD`.
  156. // 1. `PayeeMerchantID`
  157. // * **Min Length** - 1 characters
  158. // * **Max Length** - 255 characters
  159. // * **Description** - Payee's merchant ID, only if the payee is a
  160. // merchant.
  161. // 1. `PayeeMerchantName`
  162. // * **Min Length** - 1 characters
  163. // * **Max Length** - 99 characters
  164. // * **Description** - Payee's merchant name, only if the payee is a
  165. // merchant.
  166. // 1. `PayeeMCC`
  167. // * **Min Length** - 4 characters
  168. // * **Max Length** - 4 characters
  169. // * **Description** - Payee's Merchant Category Code (MCC), only if the
  170. // payee is a merchant.
  171. // 1. `Currency`
  172. // * **Min Length** - 3 characters
  173. // * **Max Length** - 3 characters
  174. // * **Description** - Currency of the amount involved in the transaction.
  175. // The currency codes are defined in ISO 4217.
  176. // 1. `Amount`
  177. // * **Description** - Amount involved in the transaction.
  178. // 1. `BankAdapterRequestIDs`
  179. // * **Min Length** - 0 characters
  180. // * **Max Length** - 2,000 characters
  181. // * **Description** - List of Request IDs (colon separated) used when
  182. // invoking the Bank Adapter APIs for fulfilling a transaction request.
  183. // 1. `ErrorCode`
  184. // * **Min Length** - 0 characters
  185. // * **Max Length** - 255 characters
  186. // * **Description** - Error code of a failed transaction.
  187. // 1. `ErrorMessage`
  188. // * **Min Length** - 0 characters
  189. // * **Max Length** - 10,000 characters
  190. // * **Description** - Error description for a failed transaction.
  191. // 1. `UPIErrorCode`
  192. // * **Min Length** - 0 characters
  193. // * **Max Length** - 3 characters
  194. // * **Description** - Error code as per the UPI specification. The issuer
  195. // switch maps the ErrorCode to an appropriate error code that complies
  196. // with the UPI specification.
  197. rpc ExportFinancialTransactions(ExportFinancialTransactionsRequest) returns (google.longrunning.Operation) {
  198. option (google.api.http) = {
  199. post: "/v1/{parent=projects/*}/financialTransactions:export"
  200. body: "*"
  201. };
  202. option (google.longrunning.operation_info) = {
  203. response_type: "ExportFinancialTransactionsResponse"
  204. metadata_type: "ExportFinancialTransactionsMetadata"
  205. };
  206. }
  207. // Export metadata transactions received within the specified time range as a
  208. // file into a configured target location. The returned `Operation` type has
  209. // the following method-specific fields:
  210. //
  211. // - `metadata`: [ExportMetadataTransactionsMetadata][google.cloud.paymentgateway.issuerswitch.v1.ExportMetadataTransactionsMetadata]
  212. // - `response`: [ExportMetadataTransactionsResponse][google.cloud.paymentgateway.issuerswitch.v1.ExportMetadataTransactionsResponse]
  213. //
  214. // The exported file will be in the standard CSV format where each row in the
  215. // file represents a transaction. The file has the following fields in order:
  216. //
  217. // 1. `TransactionID`
  218. // * **Min Length** - 35 characters
  219. // * **Max Length** - 35 characters
  220. // * **Description** - UPI transaction ID.
  221. // 1. `APIType`
  222. // * **Description** - The transaction's API type. The value will be of
  223. // the [ApiType][google.cloud.paymentgateway.issuerswitch.v1.ApiType] enum.
  224. // 1. `TransactionType`
  225. // * **Description** - Type of the transaction. The value will be of the
  226. // [TransactionType][google.cloud.paymentgateway.issuerswitch.v1.TransactionType] enum.
  227. // 1. `RequestReceivedTimestamp`
  228. // * **Min Length** - 20 characters
  229. // * **Max Length** - 20 characters
  230. // * **Description** - Timestamp (in UTC) indicating when the transaction
  231. // API request was received by the issuer switch. The format will be as
  232. // per RFC-3339. Example : 2022-11-22T23:00:05Z
  233. // 1. `CreationTime`
  234. // * **Min Length** - 20 characters
  235. // * **Max Length** - 20 characters
  236. // * **Description** - Timestamp (in UTC) indicating when the issuer
  237. // switch created the transaction resource for processing the transaction.
  238. // The format will be as per RFC-3339. Example : 2022-11-22T23:00:05Z
  239. // 1. `State`
  240. // * **Min Length** - 6 characters
  241. // * **Max Length** - 9 characters
  242. // * **Description** - State of the transaction. This will be one of
  243. // `FAILED`, `SUCCEEDED`, or `TIMED_OUT`.
  244. // 1. `OriginVPA`
  245. // * **Min Length** - 3 characters
  246. // * **Max Length** - 255 characters
  247. // * **Description** - Virtual Payment Address (VPA) of the originator of
  248. // the transaction.
  249. // 1. `BankAdapterRequestIDs`
  250. // * **Min Length** - 0 characters
  251. // * **Max Length** - 2,000 characters
  252. // * **Description** - List of Request IDs (colon separated) used when
  253. // invoking the Bank Adapter APIs for fulfilling a transaction request.
  254. // 1. `ErrorCode`
  255. // * **Min Length** - 0 characters
  256. // * **Max Length** - 255 characters
  257. // * **Description** - Error code of the failed transaction.
  258. // 1. `ErrorMessage`
  259. // * **Min Length** - 0 characters
  260. // * **Max Length** - 10,000 characters
  261. // * **Description** - Error description for the failed transaction.
  262. // 1. `UPIErrorCode`
  263. // * **Min Length** - 0 characters
  264. // * **Max Length** - 3 characters
  265. // * **Description** - Error code as per the UPI specification. The issuer
  266. // switch maps the ErrorCode to an appropriate error code that complies
  267. // with the UPI specification.
  268. rpc ExportMetadataTransactions(ExportMetadataTransactionsRequest) returns (google.longrunning.Operation) {
  269. option (google.api.http) = {
  270. post: "/v1/{parent=projects/*}/metadataTransactions:export"
  271. body: "*"
  272. };
  273. option (google.longrunning.operation_info) = {
  274. response_type: "ExportMetadataTransactionsResponse"
  275. metadata_type: "ExportMetadataTransactionsMetadata"
  276. };
  277. }
  278. // Export mandate transactions received within the specified time range as a
  279. // file into a configured target location. The returned `Operation` type has
  280. // the following method-specific fields:
  281. //
  282. // - `metadata`: [ExportMandateTransactionsMetadata][google.cloud.paymentgateway.issuerswitch.v1.ExportMandateTransactionsMetadata]
  283. // - `response`: [ExportMandateTransactionsResponse][google.cloud.paymentgateway.issuerswitch.v1.ExportMandateTransactionsResponse]
  284. //
  285. // The exported file will be in the standard CSV format where each row in the
  286. // file represents a transaction. The file has the following fields in order:
  287. //
  288. // 1. `TransactionID`
  289. // * **Min Length** - 35 characters
  290. // * **Max Length** - 35 characters
  291. // * **Description** - UPI transaction ID.
  292. // 1. `UniqueMandateNumber`
  293. // * **Min Length** - 3 characters
  294. // * **Max Length** - 70 characters
  295. // * **Description** - UPI Unique Mandate Number.
  296. // 1. `TransactionType`
  297. // * **Min Length** - 23 characters
  298. // * **Max Length** - 23 characters
  299. // * **Description** - Type of the transaction. This will be one of
  300. // `TRANSACTION_TYPE_CREATE`, `TRANSACTION_TYPE_REVOKE` or
  301. // `TRANSACTION_TYPE_UPDATE`.
  302. // 1. `RequestReceivedTimestamp`
  303. // * **Min Length** - 20 characters
  304. // * **Max Length** - 20 characters
  305. // * **Description** - Timestamp (in UTC) indicating when the mandate
  306. // API request was received by the issuer switch. The format will be as
  307. // per RFC-3339. Example : 2022-11-22T23:00:05Z
  308. // 1. `CreationTime`
  309. // * **Min Length** - 20 characters
  310. // * **Max Length** - 20 characters
  311. // * **Description** - Timestamp (in UTC) indicating when the issuer
  312. // switch created the transaction resource for processing the transaction.
  313. // The format will be as per RFC-3339. Example : 2022-11-22T23:00:05Z
  314. // 1. `State`
  315. // * **Min Length** - 6 characters
  316. // * **Max Length** - 9 characters
  317. // * **Description** - State of the transaction. This will be one of
  318. // `FAILED`, `SUCCEEDED`, or `TIMED_OUT`.
  319. // 1. `PayerVPA`
  320. // * **Min Length** - 3 characters
  321. // * **Max Length** - 255 characters
  322. // * **Description** - Virtual Payment Address (VPA) of the payer.
  323. // 1. `PayerMobileNumber`
  324. // * **Min Length** - 12 characters
  325. // * **Max Length** - 12 characters
  326. // * **Description** - Mobile number of the payer.
  327. // 1. `PayeeVPA`
  328. // * **Min Length** - 3 characters
  329. // * **Max Length** - 255 characters
  330. // * **Description** - Virtual Payment Address (VPA) of the payee.
  331. // 1. `PayeeMobileNumber`
  332. // * **Min Length** - 12 characters
  333. // * **Max Length** - 12 characters
  334. // * **Description** - Mobile number of the payee.
  335. // 1. `PayeeMerchantID`
  336. // * **Min Length** - 1 characters
  337. // * **Max Length** - 30 characters
  338. // * **Description** - Payee's merchant ID, only if the payee is a
  339. // merchant
  340. // 1. `Amount`
  341. // * **Description** - Amount specified in the mandate.
  342. // 1. `RecurrencePattern`
  343. // * **Description** - Reccurence pattern of the mandate. The value will
  344. // be of the [MandateTransaction.RecurrencePatternType][google.cloud.paymentgateway.issuerswitch.v1.MandateTransaction.RecurrencePatternType] enum.
  345. // 1. `RecurrenceRuleType`
  346. // * **Description** - Reccurrence rule type of the mandate. The value
  347. // will be of the [MandateTransaction.RecurrenceRuleType][google.cloud.paymentgateway.issuerswitch.v1.MandateTransaction.RecurrenceRuleType] enum.
  348. // 1. `RecurrenceRuleValue`
  349. // * **Min Length** - 0 characters
  350. // * **Max Length** - 2 characters
  351. // * **Description** - Recurrence rule value of the mandate. This will be
  352. // an integer between 1 and 31.
  353. // 1. `Revokeable`
  354. // * **Min Length** - 4 characters
  355. // * **Max Length** - 5 characters
  356. // * **Description** - Boolean value specifying if the mandate is
  357. // revokable.
  358. // 1. `StartDate`
  359. // * **Min Length** - 10 characters
  360. // * **Max Length** - 10 characters
  361. // * **Description** - The start date of the mandate in `YYYY-MM-DD`
  362. // format.
  363. // 1. `EndDate`
  364. // * **Min Length** - 10 characters
  365. // * **Max Length** - 10 characters
  366. // * **Description** - The end date of the mandate in `YYYY-MM-DD` format.
  367. // 1. `AmountRuleType`
  368. // * **Description** - The amount rule of the mandate. The value will be
  369. // of the [MandateTransaction.AmountRuleType][google.cloud.paymentgateway.issuerswitch.v1.MandateTransaction.AmountRuleType] enum.
  370. // 1. `ApprovalReference`
  371. // * **Min Length** - 6 characters
  372. // * **Max Length** - 9 characters
  373. // * **Description** - The block funds reference generated by the bank, if
  374. // funds have been blocked for the mandate. This column will have a value
  375. // only when the RecurrencePattern is ONETIME.
  376. // 1. `BlockFunds`
  377. // * **Min Length** - 4 characters
  378. // * **Max Length** - 5 characters
  379. // * **Description** - Boolean value specifying if the mandate transaction
  380. // requested to block funds.
  381. // 1. `LastUpdateTime`
  382. // * **Min Length** - 20 characters
  383. // * **Max Length** - 20 characters
  384. // * **Description** - Timestamp (in UTC) indicating when was the last
  385. // modification made to the mandate. The format will be as per RFC-3339.
  386. // Example : 2022-11-22T23:00:05Z
  387. // 1. `BankAdapterRequestIDs`
  388. // * **Min Length** - 0 characters
  389. // * **Max Length** - 2,000 characters
  390. // * **Description** - List of Request IDs (colon separated) used when
  391. // invoking the Bank Adapter APIs for fulfilling a transaction request.
  392. // 1. `ErrorCode`
  393. // * **Min Length** - 0 characters
  394. // * **Max Length** - 255 characters
  395. // * **Description** - Error code of the failed transaction.
  396. // 1. `ErrorMessage`
  397. // * **Min Length** - 0 characters
  398. // * **Max Length** - 10,000 characters
  399. // * **Description** - Error description for the failed transaction.
  400. // 1. `UPIErrorCode`
  401. // * **Min Length** - 0 characters
  402. // * **Max Length** - 3 characters
  403. // * **Description** - Error code as per the UPI specification. The issuer
  404. // switch maps the ErrorCode to an appropriate error code that complies
  405. // with the UPI specification.
  406. rpc ExportMandateTransactions(ExportMandateTransactionsRequest) returns (google.longrunning.Operation) {
  407. option (google.api.http) = {
  408. post: "/v1/{parent=projects/*}/mandateTransactions:export"
  409. body: "*"
  410. };
  411. option (google.longrunning.operation_info) = {
  412. response_type: "ExportMandateTransactionsResponse"
  413. metadata_type: "ExportMandateTransactionsMetadata"
  414. };
  415. }
  416. // Export complaint transactions received within the specified time range as a
  417. // file into a configured target location. The returned `Operation` type has
  418. // the following method-specific fields:
  419. //
  420. // - `metadata`: [ExportComplaintTransactionsMetadata][google.cloud.paymentgateway.issuerswitch.v1.ExportComplaintTransactionsMetadata]
  421. // - `response`: [ExportComplaintTransactionsResponse][google.cloud.paymentgateway.issuerswitch.v1.ExportComplaintTransactionsResponse]
  422. //
  423. // The exported file will be in the standard CSV format where each row in the
  424. // file represents a transaction. The file has the following fields in order:
  425. //
  426. // 1. `TransactionID`
  427. // * **Min Length** - 35 characters
  428. // * **Max Length** - 35 characters
  429. // * **Description** - UPI transaction ID.
  430. // 1. `TransactionType`
  431. // * **Min Length** - 23 characters
  432. // * **Max Length** - 30 characters
  433. // * **Description** - Type of the transaction. This will be one of
  434. // `TRANSACTION_TYPE_CHECK_STATUS`, `TRANSACTION_TYPE_COMPLAINT`,
  435. // `TRANSACTION_TYPE_REVERSAL`, `TRANSACTION_TYPE_DISPUTE`,
  436. // `TRANSACTION_TYPE_REFUND`, or `TRANSACTION_TYPE_STATUS_UPDATE`.
  437. // 1. `CreationTime`
  438. // * **Min Length** - 20 characters
  439. // * **Max Length** - 20 characters
  440. // * **Description** - Timestamp (in UTC) indicating when the issuer
  441. // switch created the transaction resource for processing the transaction.
  442. // The format will be as per RFC-3339. Example : 2022-11-22T23:00:05Z
  443. // 1: `State`
  444. // * **Min Length** - 6 characters
  445. // * **Max Length** - 9 characters
  446. // * **Description** - State of the transaction. This will be one of
  447. // `FAILED`, `SUCCEEDED`, or `TIMED_OUT`.
  448. // 1. `OriginalRRN`
  449. // * **Min Length** - 12 characters
  450. // * **Max Length** - 12 characters
  451. // * **Description** - Retrieval reference number of the original payment
  452. // transaction.
  453. // 1. `BankType`
  454. // * **Min Length** - 8 characters
  455. // * **Max Length** - 11 characters
  456. // * **Description** - The subtype of the transaction based on the bank
  457. // involved. This will be one of `BENEFICIARY`, or `REMITTER`.
  458. // 1. `OriginalTransactionID`
  459. // * **Min Length** - 35 characters
  460. // * **Max Length** - 35 characters
  461. // * **Description** - Transaction ID of the original unresolved
  462. // transaction.
  463. // 1. `RaiseComplaintAdjFlag`
  464. // * **Min Length** - 0 characters
  465. // * **Max Length** - 255 characters
  466. // * **Description** - Indicates the type of action to raise the
  467. // complaint.
  468. // 1. `RaiseComplaintAdjCode`
  469. // * **Min Length** - 0 characters
  470. // * **Max Length** - 255 characters
  471. // * **Description** - Indicates the reason of action to raise the
  472. // complaint.
  473. // 1. `ResolveComplaintAdjFlag`
  474. // * **Min Length** - 0 characters
  475. // * **Max Length** - 255 characters
  476. // * **Description** - Indicates the type of action to resolve the
  477. // complaint.
  478. // 1. `ResolveComplaintAdjCode`
  479. // * **Min Length** - 0 characters
  480. // * **Max Length** - 255 characters
  481. // * **Description** - Indicates the reason of action to resolve the
  482. // complaint.
  483. // 1. `RaiseDisputeAdjFlag`
  484. // * **Min Length** - 0 characters
  485. // * **Max Length** - 255 characters
  486. // * **Description** - Indicates the type of action to raise the dispute.
  487. // 1. `RaiseDisputeAdjCode`
  488. // * **Min Length** - 0 characters
  489. // * **Max Length** - 255 characters
  490. // * **Description** - Indicates the reason of action to raise the
  491. // dispute.
  492. // 1. `ResolveDisputeAdjFlag`
  493. // * **Min Length** - 0 characters
  494. // * **Max Length** - 255 characters
  495. // * **Description** - Indicates the type of action to resolve the
  496. // dispute.
  497. // 1. `ResolveDisputeAdjCode`
  498. // * **Min Length** - 0 characters
  499. // * **Max Length** - 255 characters
  500. // * **Description** - Indicates the reason of action to resolve the
  501. // dispute.
  502. // 1. `Amount`
  503. // * **Description** - Amount to be resolved.
  504. // 1. `CurrentCycle`
  505. // * **Min Length** - 4 characters
  506. // * **Max Length** - 5 characters
  507. // * **Description** - Boolean value specifying if the complaint / dispute
  508. // belongs to current settlement cycle or not.
  509. // 1. `CRN`
  510. // * **Min Length** - 0 characters
  511. // * **Max Length** - 255 characters
  512. // * **Description** - Defines the Complaint Reference number.
  513. // 1. `AdjTime`
  514. // * **Min Length** - 0 characters
  515. // * **Max Length** - 255 characters
  516. // * **Description** - Indicates the time when the resolution was done.
  517. // 1. `RespAdjFlag`
  518. // * **Min Length** - 0 characters
  519. // * **Max Length** - 255 characters
  520. // * **Description** - Indicates the response category type.
  521. // 1. `RespAdjCode`
  522. // * **Min Length** - 0 characters
  523. // * **Max Length** - 255 characters
  524. // * **Description** - Indicates the response reason used.
  525. // 1. `AdjRemarks`
  526. // * **Min Length** - 0 characters
  527. // * **Max Length** - 255 characters
  528. // * **Description** - Indicates the additional remarks for the complaint
  529. // / dispute.
  530. // 1. `BankAdapterRequestIDs`
  531. // * **Min Length** - 0 characters
  532. // * **Max Length** - 2,000 characters
  533. // * **Description** - List of Request IDs (colon separated) used when
  534. // invoking the Bank Adapter APIs for fulfilling a transaction request.
  535. // 1. `ErrorCode`
  536. // * **Min Length** - 0 characters
  537. // * **Max Length** - 255 characters
  538. // * **Description** - Error code of the failed transaction.
  539. // 1. `ErrorMessage`
  540. // * **Min Length** - 0 characters
  541. // * **Max Length** - 10,000 characters
  542. // * **Description** - Error description for the failed transaction.
  543. // 1. `UPIErrorCode`
  544. // * **Min Length** - 0 characters
  545. // * **Max Length** - 3 characters
  546. // * **Description** - Error code as per the UPI specification. The issuer
  547. // switch service maps the ErrorCode to an appropriate error code that
  548. // complies with the UPI specification.
  549. rpc ExportComplaintTransactions(ExportComplaintTransactionsRequest) returns (google.longrunning.Operation) {
  550. option (google.api.http) = {
  551. post: "/v1/{parent=projects/*}/complaintTransactions:export"
  552. body: "*"
  553. };
  554. option (google.longrunning.operation_info) = {
  555. response_type: "ExportComplaintTransactionsResponse"
  556. metadata_type: "ExportComplaintTransactionsMetadata"
  557. };
  558. }
  559. }
  560. // Information about a transaction processed by the issuer switch.
  561. // The fields in this type are common across both financial and metadata
  562. // transactions.
  563. message TransactionInfo {
  564. // Specifies the current state of the transaction.
  565. enum State {
  566. // Unspecified state.
  567. STATE_UNSPECIFIED = 0;
  568. // The transaction has successfully completed.
  569. SUCCEEDED = 1;
  570. // The transaction has failed.
  571. FAILED = 2;
  572. }
  573. // The sub-type of a transaction. This value is used only for certain API type
  574. // and transaction type combinations.
  575. enum TransactionSubType {
  576. // Unspecified transaction sub-type.
  577. TRANSACTION_SUB_TYPE_UNSPECIFIED = 0;
  578. // Collect sub type. This is used in a `SETTLE_PAYMENT` API type
  579. // transaction, with transaction type as either `CREDIT` or `DEBIT` when the
  580. // payment was initiated by a collect request.
  581. COLLECT = 1;
  582. // Debit sub type. This is used in a `SETTLE_PAYMENT` API type transaction,
  583. // with transaction type as `REVERSAL` when the original payment was a
  584. // debit request.
  585. DEBIT = 2;
  586. // Pay sub type. This is used in a `SETTLE_PAYMENT` API type transaction,
  587. // with transaction type as either `CREDIT` or `DEBIT` when the payment was
  588. // initiated by a pay request.
  589. PAY = 3;
  590. // Beneficiary subtype. This is used in a `COMPLAINT` API type transaction,
  591. // when the complaint / dispute request is initiated / received by the
  592. // beneficiary bank.
  593. BENEFICIARY = 4;
  594. // Remitter subtype. This is used in a `COMPLAINT` API type transaction,
  595. // when the complaint / dispute request is initiated / received by the
  596. // remitter bank.
  597. REMITTER = 5;
  598. }
  599. // Output only. An identifier that is mandatorily present in every transaction processed
  600. // via UPI. This maps to UPI's transaction ID.
  601. string id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  602. // Output only. The API type of the transaction.
  603. ApiType api_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
  604. // Output only. The transaction type.
  605. TransactionType transaction_type = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  606. // Output only. The transaction sub-type.
  607. TransactionSubType transaction_sub_type = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
  608. // Output only. The transaction's state.
  609. State state = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
  610. // Output only. Error code of the failed transaction.
  611. string error_code = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
  612. // Output only. Error description for the failed transaction.
  613. string error_message = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
  614. // Output only. The time at which the transaction resource was created by the
  615. // issuer switch.
  616. google.protobuf.Timestamp create_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
  617. // Output only. The time at which the transaction resource was last updated by the
  618. // issuer switch.
  619. google.protobuf.Timestamp update_time = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
  620. // Output only. List of Request IDs (colon separated) used when
  621. // invoking the Bank Adapter APIs for fulfilling a transaction request.
  622. string bank_adapter_request_ids = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
  623. // Output only. Error code as per the UPI specification. The issuer switch maps the
  624. // ErrorCode to an appropriate error code that complies with the UPI
  625. // specification.
  626. string upi_error_code = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
  627. }
  628. // A metadata API transaction processed by the issuer switch. This
  629. // includes UPI APIs such as List Accounts, Balance Enquiry, etc.
  630. message MetadataTransaction {
  631. option (google.api.resource) = {
  632. type: "issuerswitch.googleapis.com/MetadataTransaction"
  633. pattern: "projects/{project}/metadataTransactions/{transaction}"
  634. };
  635. // The name of the metadata transaction. This uniquely identifies the
  636. // transaction. Format of name is
  637. // projects/{project_id}/metadataTransaction/{metadata_transaction_id}.
  638. string name = 1;
  639. // Information about the transaction.
  640. TransactionInfo info = 2;
  641. // Output only. Virtual Payment Address (VPA) which originated the request.
  642. string origin_vpa = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  643. }
  644. // A financial API transaction processed by the issuer switch. In UPI, this maps
  645. // to the Pay API.
  646. message FinancialTransaction {
  647. option (google.api.resource) = {
  648. type: "issuerswitch.googleapis.com/FinancialTransaction"
  649. pattern: "projects/{project}/financialTransactions/{transaction}"
  650. };
  651. // The name of the financial transaction. This uniquely identifies the
  652. // transaction. Format of name is
  653. // projects/{project_id}/financialTransactions/{financial_transaction_id}.
  654. string name = 1;
  655. // Information about the transaction.
  656. TransactionInfo info = 2;
  657. // Output only. A 12 digit numeric code associated with the request. It could contain
  658. // leading 0s. In UPI, this is also known as as the customer reference or the
  659. // UPI transaction ID.
  660. string retrieval_reference_number = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  661. // Output only. The payer in the transaction.
  662. SettlementParticipant payer = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
  663. // Output only. The payee in the transaction.
  664. SettlementParticipant payee = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
  665. // Output only. The amount for payment settlement in the transaction.
  666. google.type.Money amount = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
  667. }
  668. // A mandate processed by the issuer switch. In UPI, this maps to the Mandate
  669. // API.
  670. message MandateTransaction {
  671. option (google.api.resource) = {
  672. type: "issuerswitch.googleapis.com/MandateTransaction"
  673. pattern: "projects/{project}/mandateTransactions/{transaction}"
  674. };
  675. // RecurrencePatternType specifies the recurrence pattern type of the mandate.
  676. enum RecurrencePatternType {
  677. // Unspecified recurrence pattern.
  678. RECURRENCE_PATTERN_TYPE_UNSPECIFIED = 0;
  679. // As presented recurrence pattern.
  680. AS_PRESENTED = 1;
  681. // Bi monthly recurrence pattern.
  682. BIMONTHLY = 2;
  683. // Daily recurrence pattern.
  684. DAILY = 3;
  685. // Bi weekly recurrence pattern.
  686. FORTNIGHTLY = 4;
  687. // Half yearly recurrence pattern.
  688. HALF_YEARLY = 5;
  689. // Monthly recurrence pattern.
  690. MONTHLY = 6;
  691. // One time recurrence pattern.
  692. ONE_TIME = 7;
  693. // Quarterly recurrence pattern.
  694. QUARTERLY = 8;
  695. // Weekly recurrence pattern.
  696. WEEKLY = 9;
  697. // Yearly recurrence pattern.
  698. YEARLY = 10;
  699. }
  700. // RecurrenceRuleType specifies the recurrence rule type of mandate.
  701. enum RecurrenceRuleType {
  702. // Unspecified recurrence rule type.
  703. RECURRENCE_RULE_TYPE_UNSPECIFIED = 0;
  704. // After recurrence rule type.
  705. AFTER = 1;
  706. // Before recurrence rule type.
  707. BEFORE = 2;
  708. // On recurrence rule type.
  709. ON = 3;
  710. }
  711. // AmountRuleType specifies the type of rule associated with the mandate
  712. // amount.
  713. enum AmountRuleType {
  714. // Unspecified amount rule.
  715. AMOUNT_RULE_TYPE_UNSPECIFIED = 0;
  716. // Exact amount rule. Amount specified is the exact amount for which
  717. // mandate could be granted.
  718. EXACT = 1;
  719. // Max amount rule. Amount specified is the maximum amount for which
  720. // mandate could be granted.
  721. MAX = 2;
  722. }
  723. // The name of the mandate transaction. This uniquely identifies the
  724. // transaction. Format of name is
  725. // projects/{project_id}/mandateTransactions/{mandate_transaction_id}.
  726. string name = 1;
  727. // Information about the transaction.
  728. TransactionInfo transaction_info = 2;
  729. // Output only. This maps to Unique Mandate Number (UMN) in UPI specification.
  730. string unique_mandate_number = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  731. // Output only. The virtual payment address (VPA) of the payer.
  732. string payer_vpa = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
  733. // Output only. The virtual payment address (VPA) of the payee.
  734. string payee_vpa = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
  735. // Output only. A unique identifier for merchant.
  736. string payee_merchant_id = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
  737. // Output only. The mobile number of the payer consisting of total twelve digits where
  738. // first two digits of country code (for eg. 91 for India) and then ten
  739. // digits mobile number. For eg. 911234567890
  740. string payer_mobile_number = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
  741. // Output only. The mobile number of the payer consisting of total twelve digits where
  742. // first two digits of country code (for eg. 91 for India) and then ten
  743. // digits mobile number. For eg. 911234567890
  744. string payee_mobile_number = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
  745. // Output only. The type of recurrence pattern of the mandate.
  746. RecurrencePatternType recurrence_pattern = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
  747. // Output only. The type of recurrence rule of the mandate.
  748. RecurrenceRuleType recurrence_rule_type = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
  749. // Output only. The recurrence rule value of the mandate. This is a value from 1 to 31.
  750. int32 recurrence_rule_value = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
  751. // Output only. The start date of the mandate.
  752. google.type.Date start_date = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
  753. // Output only. The end date of the mandate.
  754. google.type.Date end_date = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
  755. // Output only. If true, this specifies mandate can be revoked.
  756. bool revokable = 14 [(google.api.field_behavior) = OUTPUT_ONLY];
  757. // Output only. The amount of the mandate.
  758. double amount = 15 [(google.api.field_behavior) = OUTPUT_ONLY];
  759. // Output only. The amount rule type of the mandate.
  760. AmountRuleType amount_rule = 16 [(google.api.field_behavior) = OUTPUT_ONLY];
  761. // Output only. The Block funds reference generated by the bank, this will be available
  762. // only when Recurrence is ONETIME.
  763. string approval_reference = 17 [(google.api.field_behavior) = OUTPUT_ONLY];
  764. // Output only. If true, this specifies the mandate transaction requested funds to be
  765. // blocked.
  766. bool block_funds = 18 [(google.api.field_behavior) = OUTPUT_ONLY];
  767. // Output only.
  768. google.protobuf.Timestamp last_update_time = 19 [(google.api.field_behavior) = OUTPUT_ONLY];
  769. }
  770. // A complaint API transaction processed by the issuer switch. In
  771. // UPI, this maps to the Complaint API.
  772. message ComplaintTransaction {
  773. option (google.api.resource) = {
  774. type: "issuerswitch.googleapis.com/ComplaintTransaction"
  775. pattern: "projects/{project}/complaintTransactions/{transaction}"
  776. };
  777. // The name of the complaint transaction. This uniquely identifies the
  778. // transaction. Format of name is
  779. // projects/{project_id}/complaintTransactions/{complaint_transaction_id}.
  780. string name = 1;
  781. // Information about the transaction.
  782. TransactionInfo info = 2;
  783. // Information about the complaint transaction. It can be one of Complaint or
  784. // Dispute.
  785. oneof case {
  786. // Output only. Information about the complaint transaction when it is of type complaint.
  787. Complaint complaint = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  788. // Output only. Information about the complaint transaction when it is of type dispute.
  789. Dispute dispute = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
  790. }
  791. }
  792. // Request for the `ListMetadataTransactions` method. Callers can request for
  793. // transactions to be filtered by the given filter criteria and specified
  794. // pagination parameters.
  795. message ListMetadataTransactionsRequest {
  796. // Required. The parent resource. The format is `projects/{project}`.
  797. string parent = 1 [
  798. (google.api.field_behavior) = REQUIRED,
  799. (google.api.resource_reference) = {
  800. child_type: "issuerswitch.googleapis.com/MetadataTransaction"
  801. }
  802. ];
  803. // The maximum number of transactions to return. The service may return fewer
  804. // than this value. If unspecified or if the specified value is less than 1,
  805. // at most 50 transactions will be returned. The maximum value is 1000; values
  806. // above 1000 will be coerced to 1000. While paginating, you can specify a new
  807. // page size parameter for each page of transactions to be listed.
  808. int32 page_size = 2;
  809. // A page token, received from a previous `ListMetadataTransactions` call.
  810. // Specify this parameter to retrieve the next page of transactions.
  811. //
  812. // When paginating, you must specify only the `page_token` parameter. The
  813. // filter that was specified in the initial call to the
  814. // `ListMetadataTransactions` method that returned the page token will be
  815. // reused for all further calls where the page token parameter is specified.
  816. string page_token = 3;
  817. // An expression that filters the list of metadata transactions.
  818. //
  819. // A filter expression consists of a field name, a comparison
  820. // operator, and a value for filtering. The value must be a string, a
  821. // number, or a boolean. The comparison operator must be one of: `<`, `>` or
  822. // `=`. Filters are not case sensitive.
  823. //
  824. // The following fields in the `MetadataTransaction` are eligible for
  825. // filtering:
  826. //
  827. // * `apiType` - The API type of the metadata transaction. Must be one of
  828. // [ApiType][google.cloud.paymentgateway.issuerswitch.v1.ApiType] values. Allowed comparison operators: `=`.
  829. // * `transactionType` - The transaction type of the metadata transaction.
  830. // Must be one of [TransactionType][google.cloud.paymentgateway.issuerswitch.v1.TransactionType] values. Allowed comparison
  831. // operators: `=`.
  832. // * `transactionID` - The UPI transaction ID of the metadata transaction.
  833. // Allowed comparison operators: `=`.
  834. // * `originVPA` - The VPA of the orignitator of a metadata transaction.
  835. // Allowed comparison operators: `=`.
  836. // * `createTime` - The time at which the transaction was created
  837. // (received) by the issuer switch. The value should be in
  838. // the format `YYYY-MM-DDTHH:MM:SSZ`. Allowed comparison operators: `>`,
  839. // `<`.
  840. // * `state` - The state of the transaction. Must be one of
  841. // [TransactionInfo.State][google.cloud.paymentgateway.issuerswitch.v1.TransactionInfo.State] values. Allowed comparison operators: `=`.
  842. // * `errorCode` - Use this filter to list financial transactions which
  843. // have failed a particular error code. Allowed comparison operators:
  844. // `=`.
  845. // * `bankAdapterRequestID` - Request ID used when invoking the Bank
  846. // Adapter API for fulfilling a transaction request. Allowed comparison
  847. // operators: `=`.
  848. //
  849. // You can combine multiple expressions by enclosing each expression in
  850. // parentheses. Expressions are combined with AND logic. No other logical
  851. // operators are supported.
  852. //
  853. // Here are a few examples:
  854. //
  855. // * `apiType = LIST_ACCOUNTS` - - The API type is _LIST_ACCOUNTS_.
  856. // * `state = SUCCEEDED` - The transaction's state is _SUCCEEDED_.
  857. // * `(apiType = LIST_ACCOUNTS) AND (create_time <
  858. // \"2021-08-15T14:50:00Z\")` - The API type is _LIST_ACCOUNTS_ and
  859. // the transaction was received before _2021-08-15 14:50:00 UTC_.
  860. string filter = 4;
  861. }
  862. // Request for the `ListFinancialTransactions` method. Callers can request for
  863. // transactions to be filtered by the given filter criteria and specified
  864. // pagination parameters.
  865. message ListFinancialTransactionsRequest {
  866. // Required. The parent resource. The format is `projects/{project}`.
  867. string parent = 1 [
  868. (google.api.field_behavior) = REQUIRED,
  869. (google.api.resource_reference) = {
  870. child_type: "issuerswitch.googleapis.com/FinancialTransaction"
  871. }
  872. ];
  873. // The maximum number of transactions to return. The service may return fewer
  874. // than this value. If unspecified or if the specified value is less than 1,
  875. // at most 50 transactions will be returned. The maximum value is 1000; values
  876. // above 1000 will be coerced to 1000. While paginating, you can specify a new
  877. // page size parameter for each page of transactions to be listed.
  878. int32 page_size = 2;
  879. // A page token, received from a previous `ListFinancialTransactions` call.
  880. // Specify this parameter to retrieve the next page of transactions.
  881. //
  882. // When paginating, you must specify only the `page_token` parameter. The
  883. // filter that was specified in the initial call to the
  884. // `ListFinancialTransactions` method that returned the page token will be
  885. // reused for all further calls where the page token parameter is specified.
  886. string page_token = 3;
  887. // An expression that filters the list of financial transactions.
  888. //
  889. // A filter expression consists of a field name, a comparison operator, and
  890. // a value for filtering. The value must be a string, a number, or a
  891. // boolean. The comparison operator must be one of: `<`, `>`, or `=`.
  892. // Filters are not case sensitive.
  893. //
  894. // The following fields in the `FinancialTransaction` are eligible for
  895. // filtering:
  896. //
  897. // * `transactionType` - The transaction type of the financial
  898. // transaction. Must be one of [TransactionType][google.cloud.paymentgateway.issuerswitch.v1.TransactionType] values. For financial
  899. // transactions, only valid transaction types are `TRANSACTION_TYPE_CREDIT`,
  900. // `TRANSACTION_TYPE_DEBIT` and `TRANSACTION_TYPE_REVERSAL`. Allowed
  901. // comparison operators: `=`.
  902. // * `transactionID` - The UPI transaction ID of the financial
  903. // transaction. Allowed comparison operators: `=`.
  904. // * `RRN` - The retrieval reference number of the transaction. Allowed
  905. // comparison operators: `=`.
  906. // * `payerVPA` - The VPA of the payer in a financial transaction. Allowed
  907. // comparison operators: `=`.
  908. // * `payeeVPA` - The VPA of the payee in a financial transaction. Allowed
  909. // comparison operators: `=`.
  910. // * `payerMobileNumber` - The mobile number of the payer in a financial
  911. // transaction. Allowed comparison operators: `=`.
  912. // * `payeeMobileNumber` - The mobile number of the payee in a financial
  913. // transaction. Allowed comparison operators: `=`.
  914. // * `payeeMerchantId` - The merchant id of the payee in a financial
  915. // transaction. Allowed comparison operators: `=`.
  916. // * `createTime` - The time at which the transaction was created
  917. // (received) by the issuer switch. The value should be in
  918. // the format `YYYY-MM-DDTHH:MM:SSZ`. Allowed comparison operators: `>`,
  919. // `<`.
  920. // * `state` - The state of the transaction. Must be one of
  921. // [TransactionInfo.State][google.cloud.paymentgateway.issuerswitch.v1.TransactionInfo.State] values. Allowed comparison operators: `=`.
  922. // * `errorCode` - Use this filter to list financial transactions which
  923. // have failed a particular error code. Allowed comparison operators: `=`.
  924. // * `bankAdapterRequestID` - Request ID used when invoking the Bank
  925. // Adapter API for fulfilling a transaction request. Allowed comparison
  926. // operators: `=`.
  927. //
  928. // You can combine multiple expressions by enclosing each expression in
  929. // parentheses. Expressions are combined with AND logic. No other logical
  930. // operators are supported.
  931. //
  932. // Here are a few examples:
  933. //
  934. // * `transactionType = CREDIT` - The transaction type is _CREDIT_.
  935. // * `state = SUCCEEDED` - The transaction's state is _SUCCEEDED_.
  936. // * `payerVpa = example@okbank` - The VPA of the payer is the string
  937. // _example@okbank_.
  938. // * `(transactionType = DEBIT) AND (createTime < "2021-08-15T14:50:00Z")`
  939. // - The transaction type is _DEBIT_ and the transaction was received
  940. // before _2021-08-15 14:50:00 UTC_.
  941. // * `createTime > "2021-08-15T14:50:00Z" AND createTime <
  942. // "2021-08-16T14:50:00Z"` - The transaction was received between
  943. // _2021-08-15 14:50:00 UTC_ and _2021-08-16 14:50:00 UTC_.
  944. string filter = 4;
  945. }
  946. // Request for the `ListMandateTransactions` method. Callers can request for
  947. // transactions to be filtered by the given filter criteria and specified
  948. // pagination parameters.
  949. message ListMandateTransactionsRequest {
  950. // Required. The parent resource. The format is `projects/{project}`.
  951. string parent = 1 [
  952. (google.api.field_behavior) = REQUIRED,
  953. (google.api.resource_reference) = {
  954. child_type: "issuerswitch.googleapis.com/MandateTransaction"
  955. }
  956. ];
  957. // The maximum number of transactions to return. The service may return fewer
  958. // than this value. If unspecified or if the specified value is less than 1,
  959. // at most 50 transactions will be returned. The maximum value is 1000; values
  960. // above 1000 will be coerced to 1000. While paginating, you can specify a new
  961. // page size parameter for each page of transactions to be listed.
  962. int32 page_size = 2;
  963. // A page token, received from a previous `ListMandateTransactions` call.
  964. // Specify this parameter to retrieve the next page of transactions.
  965. //
  966. // When paginating, you must specify only the `page_token` parameter. The
  967. // filter that was specified in the initial call to the
  968. // `ListMandateTransactions` method that returned the page token will be
  969. // reused for all further calls where the page token parameter is specified.
  970. string page_token = 3;
  971. // An expression that filters the list of mandate transactions.
  972. //
  973. // A filter expression consists of a field name, a comparison operator, and
  974. // a value for filtering. The value must be a string, a number, or a
  975. // boolean. The comparison operator must be one of: `<`, `>`, or `=`.
  976. // Filters are not case sensitive.
  977. //
  978. // The following fields in the `Mandate` are eligible for
  979. // filtering:
  980. //
  981. // * `uniqueMandateNumber` - UPI Unique Mandate Number (UMN). Allowed
  982. // comparison operators: `=`.
  983. // * `transactionID` - The transaction ID of the mandate transaction.
  984. // Allowed comparison operators: `=`.
  985. // * `transactionType` - The transaction type of the mandate
  986. // transaction. Must be one of [TransactionType][google.cloud.paymentgateway.issuerswitch.v1.TransactionType] values. For mandate
  987. // transactions, only valid transaction types are
  988. // `TRANSACTION_TYPE_CREATE`, `TRANSACTION_TYPE_REVOKE` and
  989. // `TRANSACTION_TYPE_UPDATE`. Allowed comparison operators: `=`.
  990. // * `payerVPA` - The VPA of the payer in a mandate transaction. Allowed
  991. // comparison operators: `=`.
  992. // * `payeeVPA` - The VPA of the payee in a mandate transaction. Allowed
  993. // comparison operators: `=`.
  994. // * `payeeMerchantID` - The merchant ID of the payee in a mandate
  995. // transaction. Allowed comparison operators: `=`.
  996. // * `payerMobileNumber` - The mobile number of the payer in a mandate
  997. // transaction. Allowed comparison operators: `=`.
  998. // * `payeeMobileNumber` - The mobile number of the payee in a mandate
  999. // transaction. Allowed comparison operators: `=`.
  1000. // * `createTime` - The time at which the transaction was created
  1001. // (received) by the issuer switch. The value should be in
  1002. // the format `YYYY-MM-DDTHH:MM:SSZ`. Allowed comparison
  1003. // operators: `>`, `<`.
  1004. // * `state` - The state of the transaction. Must be one of
  1005. // [TransactionInfo.State][google.cloud.paymentgateway.issuerswitch.v1.TransactionInfo.State] values. Allowed comparison operators: `=`.
  1006. // * `recurrencePattern` - The recurrence pattern of the mandate. Must be
  1007. // one of [MandateTransaction.RecurrencePatternType][google.cloud.paymentgateway.issuerswitch.v1.MandateTransaction.RecurrencePatternType] values. Allowed
  1008. // comparison operators: `=`.
  1009. // * `startDate` - The start date of the mandate. The value should be in
  1010. // the format `YYYY-MM-DD`. Allowed comparison operators: `<` and `>`.
  1011. // * `endDate` - The end date of the mandate. The value should be in
  1012. // the format `YYYY-MM-DD`. Allowed comparison operators: `<` and `>`.
  1013. // * `errorCode` - Use this filter to list mandate transactions which
  1014. // have failed a particular error code. Allowed comparison
  1015. // operators: `=`.
  1016. // * `bankAdapterRequestID` - Request ID used when invoking the Bank
  1017. // Adapter API for fulfilling a transaction request. Allowed comparison
  1018. // operators: `=`.
  1019. // You can combine multiple expressions by enclosing each expression in
  1020. // parentheses. Expressions are combined with AND logic. No other logical
  1021. // operators are supported.
  1022. //
  1023. // Here are a few examples:
  1024. // * `recurrencePattern = MONTHLY` - The recurrence pattern type is
  1025. // monthly.
  1026. // * `state = SUCCEEDED` - The transaction's state is _SUCCEEDED_.
  1027. // * `payerVPA = example@okbank` - The VPA of the payer is the string
  1028. // _example@okbank_.
  1029. // * `(payerVPA = example@okbank) AND (createTime <
  1030. // "2021-08-15T14:50:00Z")`
  1031. // - The payer VPA example@okbank and the transaction was received
  1032. // before _2021-08-15 14:50:00 UTC_.
  1033. // * `createTime > "2021-08-15T14:50:00Z" AND createTime <
  1034. // "2021-08-16T14:50:00Z"` - The transaction was received between
  1035. // _2021-08-15 14:50:00 UTC_ and _2021-08-16 14:50:00 UTC_.
  1036. // * `startDate > "2021-08-15" AND startDate < "2021-08-17"` - The start
  1037. // date for mandate is between _2021-08-15_ and _2021-08-17_.
  1038. string filter = 4;
  1039. }
  1040. // Request for the `ListComplaintTransactions` method. Callers can request for
  1041. // transactions to be filtered by the given filter criteria and specified
  1042. // pagination parameters.
  1043. message ListComplaintTransactionsRequest {
  1044. // Required. The parent resource. The format is `projects/{project}`.
  1045. string parent = 1 [
  1046. (google.api.field_behavior) = REQUIRED,
  1047. (google.api.resource_reference) = {
  1048. child_type: "issuerswitch.googleapis.com/ComplaintTransaction"
  1049. }
  1050. ];
  1051. // The maximum number of transactions to return. The service may return fewer
  1052. // than this value. If unspecified or if the specified value is less than 1,
  1053. // at most 50 transactions will be returned. The maximum value is 1000; values
  1054. // above 1000 will be coerced to 1000. While paginating, you can specify a new
  1055. // page size parameter for each page of transactions to be listed.
  1056. int32 page_size = 2;
  1057. // A page token, received from a previous `ListComplaintTransactions` call.
  1058. // Specify this parameter to retrieve the next page of transactions.
  1059. //
  1060. // When paginating, you must specify only the `page_token` parameter. The
  1061. // filter that was specified in the initial call to the
  1062. // `ListComplaintTransactions` method that returned the page token will be
  1063. // reused for all further calls where the page token parameter is specified.
  1064. string page_token = 3;
  1065. // An expression that filters the list of complaint transactions.
  1066. //
  1067. // A filter expression consists of a field name, a comparison operator, and
  1068. // a value for filtering. The value must be a string, a number, or a
  1069. // boolean. The comparison operator must be one of: `<`, `>`, or `=`.
  1070. // Filters are not case sensitive.
  1071. //
  1072. // The following fields in the `Complaint` are eligible for
  1073. // filtering:
  1074. //
  1075. // * `transactionID` - The transaction ID of the complaint transaction.
  1076. // Allowed comparison operators: `=`.
  1077. // * `transactionType` - The transaction type of the complaint
  1078. // transaction. Must be one of [TransactionType][google.cloud.paymentgateway.issuerswitch.v1.TransactionType] values. For complaint
  1079. // transactions, only valid transaction types are
  1080. // `TRANSACTION_TYPE_CHECK_STATUS`, `TRANSACTION_TYPE_COMPLAINT`,
  1081. // `TRANSACTION_TYPE_REVERSAL`, `TRANSACTION_TYPE_DISPUTE`,
  1082. // `TRANSACTION_TYPE_REFUND` or `TRANSACTION_TYPE_STATUS_UPDATE`. Allowed
  1083. // comparison operators: `=`.
  1084. // * `originalRRN` - The retrieval reference number of the original
  1085. // transaction for which complaint / dispute was raised / resolved. Allowed
  1086. // comparison operators: `=`.
  1087. // * `createTime` - The time at which the transaction was created
  1088. // (received) by the issuer switch. The value should be in
  1089. // the format `YYYY-MM-DDTHH:MM:SSZ`. Allowed comparison
  1090. // operators: `>`, `<`.
  1091. // * `state` - The state of the transaction. Must be one of
  1092. // [TransactionInfo.State][google.cloud.paymentgateway.issuerswitch.v1.TransactionInfo.State] values. Allowed comparison operators: `=`.
  1093. // * `errorCode` - Use this filter to list complaint transactions which
  1094. // have failed a particular error code. Allowed comparison
  1095. // operators: `=`.
  1096. // You can combine multiple expressions by enclosing each expression in
  1097. // parentheses. Expressions are combined with AND logic. No other logical
  1098. // operators are supported.
  1099. //
  1100. // Here are a few examples:
  1101. //
  1102. // * `state = SUCCEEDED` - The transaction's state is _SUCCEEDED_.
  1103. // * (createTime < "2021-08-15T14:50:00Z")`
  1104. // - The transaction was received before _2021-08-15 14:50:00 UTC_.
  1105. // * `createTime > "2021-08-15T14:50:00Z" AND createTime <
  1106. // "2021-08-16T14:50:00Z"` - The transaction was received between
  1107. // _2021-08-15 14:50:00 UTC_ and _2021-08-16 14:50:00 UTC_.
  1108. string filter = 4;
  1109. }
  1110. // Response for the `ListMetadataTransactions` method.
  1111. message ListMetadataTransactionsResponse {
  1112. // List of non financial metadata transactions satisfying the filtered
  1113. // request.
  1114. repeated MetadataTransaction metadata_transactions = 1;
  1115. // Pass this token in the ListMetadataTransactionsRequest to continue to list
  1116. // results. If all results have been returned, this field is an empty string
  1117. // or not present in the response.
  1118. string next_page_token = 2;
  1119. }
  1120. // Response for the `ListFinancialTransactions` method.
  1121. message ListFinancialTransactionsResponse {
  1122. // List of financial transactions satisfying the filtered request.
  1123. repeated FinancialTransaction financial_transactions = 1;
  1124. // Pass this token in the ListFinancialTransactionsRequest to continue to list
  1125. // results. If all results have been returned, this field is an empty string
  1126. // or not present in the response.
  1127. string next_page_token = 2;
  1128. }
  1129. // Response for the `ListMandateTransactionsResponse` method.
  1130. message ListMandateTransactionsResponse {
  1131. // List of mandate transactions satisfying the filtered request.
  1132. repeated MandateTransaction mandate_transactions = 1;
  1133. // Pass this token in the ListMandateTransactionsRequest to continue to list
  1134. // results. If all results have been returned, this field is an empty string
  1135. // or not present in the response.
  1136. string next_page_token = 2;
  1137. }
  1138. // Response for the `ListComplaintTransactionsResponse` method.
  1139. message ListComplaintTransactionsResponse {
  1140. // List of complaint transactions satisfying the filtered request.
  1141. repeated ComplaintTransaction complaint_transactions = 1;
  1142. // Pass this token in the ListComplaintTransactionsRequest to continue to list
  1143. // results. If all results have been returned, this field is an empty string
  1144. // or not present in the response.
  1145. string next_page_token = 2;
  1146. }
  1147. // Request for the `ExportFinancialTransactions` method.
  1148. message ExportFinancialTransactionsRequest {
  1149. // Required. The parent resource for the transactions. The format is
  1150. // `projects/{project}`.
  1151. string parent = 1 [(google.api.field_behavior) = REQUIRED];
  1152. // Transaction type for the financial transaction API. The possible values for
  1153. // transaction type are
  1154. //
  1155. // * TRANSACTION_TYPE_CREDIT
  1156. // * TRANSACTION_TYPE_DEBIT
  1157. // * TRANSACTION_TYPE_REVERSAL
  1158. //
  1159. // If no transaction type is specified, records of all the above transaction
  1160. // types will be exported.
  1161. TransactionType transaction_type = 2;
  1162. // The start time for the query.
  1163. google.protobuf.Timestamp start_time = 3;
  1164. // The end time for the query.
  1165. google.protobuf.Timestamp end_time = 4;
  1166. }
  1167. // Request for the `ExportMetadataTransactions` method.
  1168. message ExportMetadataTransactionsRequest {
  1169. // Required. The parent resource for the transactions. The format is
  1170. // `projects/{project}`.
  1171. string parent = 1 [(google.api.field_behavior) = REQUIRED];
  1172. // API type of the metadata transaction API. The possible values for API type
  1173. // are
  1174. //
  1175. // * BALANCE
  1176. // * CHECK_STATUS
  1177. // * HEART_BEAT
  1178. // * INITIATE_REGISTRATION
  1179. // * LIST_ACCOUNTS
  1180. // * UPDATE_CREDENTIALS
  1181. // * VALIDATE_REGISTRATION
  1182. //
  1183. // If no API type is specified, records of all the above API types will be
  1184. // exported.
  1185. ApiType api_type = 2;
  1186. // The start time for the query.
  1187. google.protobuf.Timestamp start_time = 3;
  1188. // The end time for the query.
  1189. google.protobuf.Timestamp end_time = 4;
  1190. }
  1191. // Request for the `ExportMandateTransactions` method.
  1192. message ExportMandateTransactionsRequest {
  1193. // Required. The parent resource for the transactions. The format is
  1194. // `projects/{project}`.
  1195. string parent = 1 [(google.api.field_behavior) = REQUIRED];
  1196. // Transaction type for the mandate transaction API. The possible values for
  1197. // transaction type are
  1198. //
  1199. // * TRANSACTION_TYPE_CREATE
  1200. // * TRANSACTION_TYPE_REVOKE
  1201. // * TRANSACTION_TYPE_UPDATE
  1202. //
  1203. // If no transaction type is specified, records of all the above transaction
  1204. // types will be exported.
  1205. TransactionType transaction_type = 2;
  1206. // The start time for the query.
  1207. google.protobuf.Timestamp start_time = 3;
  1208. // The end time for the query.
  1209. google.protobuf.Timestamp end_time = 4;
  1210. }
  1211. // Request for the `ExportComplaintTransactions` method.
  1212. message ExportComplaintTransactionsRequest {
  1213. // Required. The parent resource for the transactions. The format is
  1214. // `projects/{project}`.
  1215. string parent = 1 [(google.api.field_behavior) = REQUIRED];
  1216. // Transaction type for the complaint transaction API. The possible values for
  1217. // transaction type are
  1218. //
  1219. // * TRANSACTION_TYPE_CHECK_STATUS
  1220. // * TRANSACTION_TYPE_COMPLAINT
  1221. // * TRANSACTION_TYPE_DISPUTE
  1222. // * TRANSACTION_TYPE_REFUND
  1223. // * TRANSACTION_TYPE_REVERSAL
  1224. // * TRANSACTION_TYPE_STATUS_UPDATE
  1225. //
  1226. // If no transaction type is specified, records of all the above transaction
  1227. // types will be exported.
  1228. TransactionType transaction_type = 2;
  1229. // The start time for the query.
  1230. google.protobuf.Timestamp start_time = 3;
  1231. // The end time for the query.
  1232. google.protobuf.Timestamp end_time = 4;
  1233. }
  1234. // Response for the `ExportFinancialTransactions` method.
  1235. message ExportFinancialTransactionsResponse {
  1236. // URI of the exported file.
  1237. string target_uri = 1;
  1238. }
  1239. // Response for the `ExportMetadataTransactions` method.
  1240. message ExportMetadataTransactionsResponse {
  1241. // URI of the exported file.
  1242. string target_uri = 1;
  1243. }
  1244. // Response for the `ExportMandateTransactions` method.
  1245. message ExportMandateTransactionsResponse {
  1246. // URI of the exported file.
  1247. string target_uri = 1;
  1248. }
  1249. // Response for the `ExportComplaintTransactions` method.
  1250. message ExportComplaintTransactionsResponse {
  1251. // URI of the exported file.
  1252. string target_uri = 1;
  1253. }
  1254. // Metadata for ExportFinancialTransactions.
  1255. message ExportFinancialTransactionsMetadata {
  1256. // Output only. The time at which the operation was created.
  1257. google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  1258. }
  1259. // Metadata for ExportMandateTransactions.
  1260. message ExportMandateTransactionsMetadata {
  1261. // Output only. The time at which the operation was created.
  1262. google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  1263. }
  1264. // Metadata for ExportMetadataTransactions.
  1265. message ExportMetadataTransactionsMetadata {
  1266. // Output only. The time at which the operation was created.
  1267. google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  1268. }
  1269. // Metadata for ExportComplaintTransactions.
  1270. message ExportComplaintTransactionsMetadata {
  1271. // Output only. The time at which the operation was created.
  1272. google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  1273. }