From dbc6842c65ee37a77af644542f4efc44bca669e5 Mon Sep 17 00:00:00 2001 From: "gocardless-ci-robot[bot]" <123969075+gocardless-ci-robot[bot]@users.noreply.github.com> Date: Fri, 20 Mar 2026 13:48:09 +0000 Subject: [PATCH 1/5] Changes generated by 87dfcd1121536d53cd9efcf98c0f501ac7130bc2 This commit was automatically created from gocardless/client-library-templates@87dfcd1121536d53cd9efcf98c0f501ac7130bc2 by the `push-files` action. Workflow run: https://github.com/gocardless/client-library-templates/actions/runs/23345651146 --- package-lock.json | 64 ++++++++++++++++++------------------ src/services/eventService.ts | 11 +++++-- src/types/Types.ts | 13 ++++++++ 3 files changed, 54 insertions(+), 34 deletions(-) diff --git a/package-lock.json b/package-lock.json index d8617d60..46b3c051 100644 --- a/package-lock.json +++ b/package-lock.json @@ -228,23 +228,23 @@ } }, "node_modules/@babel/helpers": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", - "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", + "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", "dev": true, "license": "MIT", "dependencies": { "@babel/template": "^7.28.6", - "@babel/types": "^7.28.6" + "@babel/types": "^7.29.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", "dev": true, "license": "MIT", "dependencies": { @@ -552,21 +552,21 @@ "license": "MIT" }, "node_modules/@emnapi/core": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz", - "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.1.tgz", + "integrity": "sha512-mukuNALVsoix/w1BJwFzwXBN/dHeejQtuVzcDsfOEsdpCumXb/E9j8w11h5S54tT1xhifGfbbSm/ICrObRb3KA==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "@emnapi/wasi-threads": "1.1.0", + "@emnapi/wasi-threads": "1.2.0", "tslib": "^2.4.0" } }, "node_modules/@emnapi/runtime": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz", - "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.1.tgz", + "integrity": "sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==", "dev": true, "license": "MIT", "optional": true, @@ -575,9 +575,9 @@ } }, "node_modules/@emnapi/wasi-threads": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", - "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.0.tgz", + "integrity": "sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==", "dev": true, "license": "MIT", "optional": true, @@ -2437,9 +2437,9 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz", - "integrity": "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==", + "version": "2.10.9", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.9.tgz", + "integrity": "sha512-OZd0e2mU11ClX8+IdXe3r0dbqMEznRiT4TfbhYIbcRPZkqJ7Qwer8ij3GZAmLsRKa+II9V1v5czCkvmHH3XZBg==", "dev": true, "license": "Apache-2.0", "bin": { @@ -2672,9 +2672,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001777", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001777.tgz", - "integrity": "sha512-tmN+fJxroPndC74efCdp12j+0rk0RHwV5Jwa1zWaFVyw2ZxAuPeG8ZgWC3Wz7uSjT3qMRQ5XHZ4COgQmsCMJAQ==", + "version": "1.0.30001780", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001780.tgz", + "integrity": "sha512-llngX0E7nQci5BPJDqoZSbuZ5Bcs9F5db7EtgfwBerX9XGtkkiO4NwfDDIRzHTTwcYC8vC7bmeUEPGrKlR/TkQ==", "dev": true, "funding": [ { @@ -2872,9 +2872,9 @@ "license": "MIT" }, "node_modules/core-js": { - "version": "3.48.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.48.0.tgz", - "integrity": "sha512-zpEHTy1fjTMZCKLHUZoVeylt9XrzaIN2rbPXEt0k+q7JE5CkCZdo6bNq55bn24a69CH7ErAVLKijxJja4fw+UQ==", + "version": "3.49.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.49.0.tgz", + "integrity": "sha512-es1U2+YTtzpwkxVLwAFdSpaIMyQaq0PBgm3YD1W3Qpsn1NAmO3KSgZfu+oGSWVu6NvLHoHCV/aYcsE5wiB7ALg==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -3059,9 +3059,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.307", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.307.tgz", - "integrity": "sha512-5z3uFKBWjiNR44nFcYdkcXjKMbg5KXNdciu7mhTPo9tB7NbqSNP2sSnGR+fqknZSCwKkBN+oxiiajWs4dT6ORg==", + "version": "1.5.321", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.321.tgz", + "integrity": "sha512-L2C7Q279W2D/J4PLZLk7sebOILDSWos7bMsMNN06rK482umHUrh/3lM8G7IlHFOYip2oAg5nha1rCMxr/rs6ZQ==", "dev": true, "license": "ISC" }, @@ -3610,9 +3610,9 @@ } }, "node_modules/flatted": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.1.tgz", - "integrity": "sha512-IxfVbRFVlV8V/yRaGzk0UVIcsKKHMSfYw66T/u4nTwlWteQePsxe//LjudR1AMX4tZW3WFCh3Zqa/sjlqpbURQ==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", "dev": true, "license": "ISC" }, diff --git a/src/services/eventService.ts b/src/services/eventService.ts index 3968a009..b5ed5673 100644 --- a/src/services/eventService.ts +++ b/src/services/eventService.ts @@ -53,6 +53,7 @@ interface EventListRequest { //
  • `scheme_identifier`
  • //
  • `subscription`
  • //
  • `outbound_payment`
  • + //
  • `payment_account_transaction`
  • // include?: Types.EventInclude; @@ -91,6 +92,11 @@ interface EventListRequest { payment?: string; + // ID of a payment account transaction. If specified, this endpoint will return + // all events for the given transaction. + + payment_account_transaction?: string; + // ID of a [payout](#core-endpoints-payouts). If specified, this endpoint will // return all events for the given payout. @@ -104,8 +110,8 @@ interface EventListRequest { // Type of resource that you'd like to get all events for. // Cannot be used together with the `billing_request`, `creditor`, // `export`,`instalment_schedule`, `mandate`, `payer_authorisation`, `payment`, - // `payout`, `refund`, `scheme_identifier`, `subscription` or `outbound_payment` - // parameters. + // `payout`, `refund`, `scheme_identifier`, `subscription`, `outbound_payment` + // or `payment_account_transaction` parameters. // The type can be one of: // resource_type?: Types.EventResourceType; diff --git a/src/types/Types.ts b/src/types/Types.ts index a7041cfa..2f171704 100644 --- a/src/types/Types.ts +++ b/src/types/Types.ts @@ -4262,6 +4262,7 @@ export type Event = { //
  • `scheme_identifiers`
  • //
  • `subscriptions`
  • //
  • `outbound_payments`
  • + //
  • `payment_account_transactions`
  • // resource_type?: EventResourceType; @@ -4278,6 +4279,7 @@ export enum EventInclude { OutboundPayment = 'outbound_payment', PayerAuthorisation = 'payer_authorisation', Payment = 'payment', + PaymentAccountTransaction = 'payment_account_transaction', Payout = 'payout', Refund = 'refund', SchemeIdentifier = 'scheme_identifier', @@ -4450,6 +4452,10 @@ export type EventLinks = { // [payment](#core-endpoints-payments) which has been updated. payment?: string; + // If `resource_type` is `payment_account_transaction`, this is the ID of a + // transaction which has been recorded on the payment account. + payment_account_transaction?: string; + // If `resource_type` is `billing_requests`, this is the ID of the // [payment](#core-endpoints-payments) which has been created for Instant Bank // Payment. @@ -4489,6 +4495,7 @@ export enum EventResourceType { OutboundPayments = 'outbound_payments', PayerAuthorisations = 'payer_authorisations', Payments = 'payments', + PaymentAccountTransactions = 'payment_account_transactions', Payouts = 'payouts', Refunds = 'refunds', SchemeIdentifiers = 'scheme_identifiers', @@ -5430,6 +5437,9 @@ export type OutboundPaymentCreateRequestLinks = { // ID of the creditor who sends the outbound payment. creditor?: string; + // ID of the outbound payment import that created this outbound payment. + outbound_payment_import?: string; + // ID of the customer bank account which receives the outbound payment. recipient_bank_account: string; }; @@ -5467,6 +5477,9 @@ export type OutboundPaymentLinks = { // payment customer?: string; + // ID of the outbound payment import that created this outbound payment. + outbound_payment_import?: string; + // ID of the customer bank account which receives the outbound payment. recipient_bank_account?: string; }; From d810fae8f31c131808d39a6554e31fd0d8fc6d29 Mon Sep 17 00:00:00 2001 From: "gocardless-ci-robot[bot]" <123969075+gocardless-ci-robot[bot]@users.noreply.github.com> Date: Mon, 23 Mar 2026 16:45:58 +0000 Subject: [PATCH 2/5] Changes generated by a2755611c8a0e64259306e86e7d3d30d3a8ec9df This commit was automatically created from gocardless/client-library-templates@a2755611c8a0e64259306e86e7d3d30d3a8ec9df by the `push-files` action. Workflow run: https://github.com/gocardless/client-library-templates/actions/runs/23448935415 --- package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 46b3c051..4b929603 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2437,9 +2437,9 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.10.9", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.9.tgz", - "integrity": "sha512-OZd0e2mU11ClX8+IdXe3r0dbqMEznRiT4TfbhYIbcRPZkqJ7Qwer8ij3GZAmLsRKa+II9V1v5czCkvmHH3XZBg==", + "version": "2.10.10", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.10.tgz", + "integrity": "sha512-sUoJ3IMxx4AyRqO4MLeHlnGDkyXRoUG0/AI9fjK+vS72ekpV0yWVY7O0BVjmBcRtkNcsAO2QDZ4tdKKGoI6YaQ==", "dev": true, "license": "Apache-2.0", "bin": { @@ -2672,9 +2672,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001780", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001780.tgz", - "integrity": "sha512-llngX0E7nQci5BPJDqoZSbuZ5Bcs9F5db7EtgfwBerX9XGtkkiO4NwfDDIRzHTTwcYC8vC7bmeUEPGrKlR/TkQ==", + "version": "1.0.30001781", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001781.tgz", + "integrity": "sha512-RdwNCyMsNBftLjW6w01z8bKEvT6e/5tpPVEgtn22TiLGlstHOVecsX2KHFkD5e/vRnIE4EGzpuIODb3mtswtkw==", "dev": true, "funding": [ { From e57d6a790a4e69fd740493c040f908414c6b8182 Mon Sep 17 00:00:00 2001 From: "gocardless-ci-robot[bot]" <123969075+gocardless-ci-robot[bot]@users.noreply.github.com> Date: Tue, 24 Mar 2026 09:29:41 +0000 Subject: [PATCH 3/5] Changes generated by f4d2f1a8aec1ddd16dbb1c5c636e3fab91c57498 This commit was automatically created from gocardless/client-library-templates@f4d2f1a8aec1ddd16dbb1c5c636e3fab91c57498 by the `push-files` action. Workflow run: https://github.com/gocardless/client-library-templates/actions/runs/23482320858 --- package-lock.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4b929603..e01bb7a9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2291,9 +2291,9 @@ } }, "node_modules/anymatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", "dev": true, "license": "MIT", "engines": { @@ -3059,9 +3059,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.321", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.321.tgz", - "integrity": "sha512-L2C7Q279W2D/J4PLZLk7sebOILDSWos7bMsMNN06rK482umHUrh/3lM8G7IlHFOYip2oAg5nha1rCMxr/rs6ZQ==", + "version": "1.5.322", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.322.tgz", + "integrity": "sha512-vFU34OcrvMcH66T+dYC3G4nURmgfDVewMIu6Q2urXpumAPSMmzvcn04KVVV8Opikq8Vs5nUbO/8laNhNRqSzYw==", "dev": true, "license": "ISC" }, @@ -5229,9 +5229,9 @@ } }, "node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", "dev": true, "license": "MIT", "engines": { @@ -5625,9 +5625,9 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "license": "MIT", "engines": { From 7e6940a3c690b384e4c635c81bdd4f901452f1ad Mon Sep 17 00:00:00 2001 From: "gocardless-ci-robot[bot]" <123969075+gocardless-ci-robot[bot]@users.noreply.github.com> Date: Fri, 1 May 2026 10:45:37 +0000 Subject: [PATCH 4/5] Changes generated by 8b11b29c01bad5a3e25ac50c5641547d4c0311ed This commit was automatically created from gocardless/client-library-templates@8b11b29c01bad5a3e25ac50c5641547d4c0311ed by the `push-files` action. Workflow run: https://github.com/gocardless/client-library-templates/actions/runs/25208955194 --- package-lock.json | 146 +++++------ src/client.ts | 22 ++ .../outboundPaymentImportEntryService.ts | 75 ++++++ src/services/outboundPaymentImportService.ts | 145 +++++++++++ src/types/Types.ts | 226 +++++++++++++++++- 5 files changed, 539 insertions(+), 75 deletions(-) create mode 100644 src/services/outboundPaymentImportEntryService.ts create mode 100644 src/services/outboundPaymentImportService.ts diff --git a/package-lock.json b/package-lock.json index e01bb7a9..ffbf6102 100644 --- a/package-lock.json +++ b/package-lock.json @@ -51,9 +51,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", - "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", + "version": "7.29.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.3.tgz", + "integrity": "sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg==", "dev": true, "license": "MIT", "engines": { @@ -242,9 +242,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", - "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", + "version": "7.29.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.3.tgz", + "integrity": "sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==", "dev": true, "license": "MIT", "dependencies": { @@ -552,21 +552,21 @@ "license": "MIT" }, "node_modules/@emnapi/core": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.1.tgz", - "integrity": "sha512-mukuNALVsoix/w1BJwFzwXBN/dHeejQtuVzcDsfOEsdpCumXb/E9j8w11h5S54tT1xhifGfbbSm/ICrObRb3KA==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.10.0.tgz", + "integrity": "sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "@emnapi/wasi-threads": "1.2.0", + "@emnapi/wasi-threads": "1.2.1", "tslib": "^2.4.0" } }, "node_modules/@emnapi/runtime": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.1.tgz", - "integrity": "sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.10.0.tgz", + "integrity": "sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==", "dev": true, "license": "MIT", "optional": true, @@ -575,9 +575,9 @@ } }, "node_modules/@emnapi/wasi-threads": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.0.tgz", - "integrity": "sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.1.tgz", + "integrity": "sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==", "dev": true, "license": "MIT", "optional": true, @@ -841,9 +841,9 @@ } }, "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.6.tgz", + "integrity": "sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==", "dev": true, "license": "MIT", "engines": { @@ -1457,9 +1457,9 @@ } }, "node_modules/@sinclair/typebox": { - "version": "0.34.48", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.48.tgz", - "integrity": "sha512-kKJTNuK3AQOrgjjotVxMrCn1sUJwM76wMszfq1kdU4uYVJjvEWuFQ6HgvLt4Xz3fSmZlTOxJ/Ie13KnIcWQXFA==", + "version": "0.34.49", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.49.tgz", + "integrity": "sha512-brySQQs7Jtn0joV8Xh9ZV/hZb9Ozb0pmazDIASBkYKCjXrXU3mpcFahmK/z4YDhGkQvP9mWJbVyahdtU5wQA+A==", "dev": true, "license": "MIT" }, @@ -1486,9 +1486,9 @@ } }, "node_modules/@sinonjs/fake-timers": { - "version": "15.1.1", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-15.1.1.tgz", - "integrity": "sha512-cO5W33JgAPbOh07tvZjUOJ7oWhtaqGHiZw+11DPbyqh2kHTBc3eF/CjJDeQ4205RLQsX6rxCuYOroFQwl7JDRw==", + "version": "15.3.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-15.3.2.tgz", + "integrity": "sha512-mrn35Jl2pCpns+mE3HaZa1yPN5EYCRgiMI+135COjr2hr8Cls9DXqIZ57vZe2cz7y2XVSq92tcs6kGQcT1J8Rw==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -2205,9 +2205,9 @@ } }, "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", "dev": true, "license": "MIT", "dependencies": { @@ -2437,9 +2437,9 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.10.10", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.10.tgz", - "integrity": "sha512-sUoJ3IMxx4AyRqO4MLeHlnGDkyXRoUG0/AI9fjK+vS72ekpV0yWVY7O0BVjmBcRtkNcsAO2QDZ4tdKKGoI6YaQ==", + "version": "2.10.24", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.24.tgz", + "integrity": "sha512-I2NkZOOrj2XuguvWCK6OVh9GavsNjZjK908Rq3mIBK25+GD8vPX5w2WdxVqnQ7xx3SrZJiCiZFu+/Oz50oSYSA==", "dev": true, "license": "Apache-2.0", "bin": { @@ -2457,9 +2457,9 @@ "license": "MIT" }, "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.14.tgz", + "integrity": "sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==", "dev": true, "license": "MIT", "dependencies": { @@ -2481,9 +2481,9 @@ } }, "node_modules/browserslist": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", - "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", "dev": true, "funding": [ { @@ -2501,11 +2501,11 @@ ], "license": "MIT", "dependencies": { - "baseline-browser-mapping": "^2.9.0", - "caniuse-lite": "^1.0.30001759", - "electron-to-chromium": "^1.5.263", - "node-releases": "^2.0.27", - "update-browserslist-db": "^1.2.0" + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" }, "bin": { "browserslist": "cli.js" @@ -2672,9 +2672,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001781", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001781.tgz", - "integrity": "sha512-RdwNCyMsNBftLjW6w01z8bKEvT6e/5tpPVEgtn22TiLGlstHOVecsX2KHFkD5e/vRnIE4EGzpuIODb3mtswtkw==", + "version": "1.0.30001791", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001791.tgz", + "integrity": "sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==", "dev": true, "funding": [ { @@ -3059,9 +3059,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.322", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.322.tgz", - "integrity": "sha512-vFU34OcrvMcH66T+dYC3G4nURmgfDVewMIu6Q2urXpumAPSMmzvcn04KVVV8Opikq8Vs5nUbO/8laNhNRqSzYw==", + "version": "1.5.348", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.348.tgz", + "integrity": "sha512-QC2X59nRlycQQMc4ZXjSVBX+tSgJfgRtcrYHbIZLgOV2dCvefoQGegLR7lLXKgpPpSuVmJU19LMzGrSa2C7k3Q==", "dev": true, "license": "ISC" }, @@ -3795,9 +3795,9 @@ } }, "node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.0.tgz", + "integrity": "sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==", "dev": true, "license": "MIT", "dependencies": { @@ -3909,9 +3909,9 @@ "license": "MIT" }, "node_modules/handlebars": { - "version": "4.7.8", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", - "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "version": "4.7.9", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.9.tgz", + "integrity": "sha512-4E71E0rpOaQuJR2A3xDZ+GM1HyWYv1clR58tC8emQNeQe3RH7MAzSbat+V0wG78LQBo6m6bzSG/L4pBuCsgnUQ==", "dev": true, "license": "MIT", "dependencies": { @@ -3976,9 +3976,9 @@ } }, "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", + "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", "license": "MIT", "dependencies": { "function-bind": "^1.1.2" @@ -5002,9 +5002,9 @@ } }, "node_modules/lodash": { - "version": "4.17.23", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", "license": "MIT" }, "node_modules/lodash.memoize": { @@ -5367,9 +5367,9 @@ "license": "MIT" }, "node_modules/node-releases": { - "version": "2.0.36", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.36.tgz", - "integrity": "sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==", + "version": "2.0.38", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.38.tgz", + "integrity": "sha512-3qT/88Y3FbH/Kx4szpQQ4HzUbVrHPKTLVpVocKiLfoYvw9XSGOX2FmD2d6DrXbVYyAQTF2HeF6My8jmzx7/CRw==", "dev": true, "license": "MIT" }, @@ -6200,9 +6200,9 @@ "license": "MIT" }, "node_modules/qs": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.0.tgz", - "integrity": "sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==", + "version": "6.15.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.1.tgz", + "integrity": "sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==", "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.1.0" @@ -6483,13 +6483,13 @@ } }, "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" + "object-inspect": "^1.13.4" }, "engines": { "node": ">= 0.4" @@ -7089,9 +7089,9 @@ } }, "node_modules/uuid": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz", - "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.1.tgz", + "integrity": "sha512-vIYxrBCC/N/K+Js3qSN88go7kIfNPssr/hHCesKCQNAjmgvYS2oqr69kIufEG+O4+PfezOH4EbIeHCfFov8ZgQ==", "funding": [ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" diff --git a/src/client.ts b/src/client.ts index 5f41aee3..d0e35f21 100644 --- a/src/client.ts +++ b/src/client.ts @@ -28,6 +28,8 @@ import { MandateImportEntryService } from './services/mandateImportEntryService. import { MandatePdfService } from './services/mandatePdfService.js'; import { NegativeBalanceLimitService } from './services/negativeBalanceLimitService.js'; import { OutboundPaymentService } from './services/outboundPaymentService.js'; +import { OutboundPaymentImportService } from './services/outboundPaymentImportService.js'; +import { OutboundPaymentImportEntryService } from './services/outboundPaymentImportEntryService.js'; import { PayerAuthorisationService } from './services/payerAuthorisationService.js'; import { PayerThemeService } from './services/payerThemeService.js'; import { PaymentService } from './services/paymentService.js'; @@ -76,6 +78,8 @@ export class GoCardlessClient { private _mandatePdfs: MandatePdfService; private _negativeBalanceLimits: NegativeBalanceLimitService; private _outboundPayments: OutboundPaymentService; + private _outboundPaymentImports: OutboundPaymentImportService; + private _outboundPaymentImportEntries: OutboundPaymentImportEntryService; private _payerAuthorisations: PayerAuthorisationService; private _payerThemes: PayerThemeService; private _payments: PaymentService; @@ -124,6 +128,8 @@ export class GoCardlessClient { this._mandatePdfs = undefined; this._negativeBalanceLimits = undefined; this._outboundPayments = undefined; + this._outboundPaymentImports = undefined; + this._outboundPaymentImportEntries = undefined; this._payerAuthorisations = undefined; this._payerThemes = undefined; this._payments = undefined; @@ -366,6 +372,22 @@ export class GoCardlessClient { return this._outboundPayments; } + get outboundPaymentImports(): OutboundPaymentImportService { + if (!this._outboundPaymentImports) { + this._outboundPaymentImports = new OutboundPaymentImportService(this._api); + } + + return this._outboundPaymentImports; + } + + get outboundPaymentImportEntries(): OutboundPaymentImportEntryService { + if (!this._outboundPaymentImportEntries) { + this._outboundPaymentImportEntries = new OutboundPaymentImportEntryService(this._api); + } + + return this._outboundPaymentImportEntries; + } + get payerAuthorisations(): PayerAuthorisationService { if (!this._payerAuthorisations) { this._payerAuthorisations = new PayerAuthorisationService(this._api); diff --git a/src/services/outboundPaymentImportEntryService.ts b/src/services/outboundPaymentImportEntryService.ts new file mode 100644 index 00000000..3744424b --- /dev/null +++ b/src/services/outboundPaymentImportEntryService.ts @@ -0,0 +1,75 @@ +import { Api } from '../api/api.js'; +import * as Types from '../types/Types.js'; + +interface OutboundPaymentImportEntryResponse extends Types.OutboundPaymentImportEntry, Types.APIResponse {} + +interface OutboundPaymentImportEntryListResponse extends Types.APIResponse { + outbound_payment_import_entries: Array; + meta: Types.ListMeta; +} + +interface OutboundPaymentImportEntryListRequest { + // Cursor pointing to the start of the desired set. + + after?: string; + + // Cursor pointing to the end of the desired set. + + before?: string; + + // Number of records to return. + + limit?: string; + + // Unique identifier, beginning with "IM". + + outbound_payment_import: string; +} + +export class OutboundPaymentImportEntryService { + private api: Api; + + constructor(api) { + this.api = api; + } + + public async list( + requestParameters: OutboundPaymentImportEntryListRequest, + customHeaders: Types.JsonMap = {}, + ): Promise { + const urlParameters = []; + const requestParams = { + path: '/outbound_payment_import_entries', + method: 'get', + urlParameters, + requestParameters, + payloadKey: null, + fetch: null, + customHeaders, + }; + + const response = await this.api.request(requestParams); + const formattedResponse: OutboundPaymentImportEntryListResponse = { + ...response.body, + __response__: response.__response__, + }; + + return formattedResponse; + } + + public async *all( + requestParameters: OutboundPaymentImportEntryListRequest, + customHeaders: Types.JsonMap = {}, + ): AsyncGenerator { + let cursor = undefined; + do { + const list = await this.list({ ...requestParameters, after: cursor }, customHeaders); + + for (const outboundpaymentimportentry of list.outbound_payment_import_entries) { + yield outboundpaymentimportentry; + } + + cursor = list.meta.cursors.after; + } while (cursor); + } +} diff --git a/src/services/outboundPaymentImportService.ts b/src/services/outboundPaymentImportService.ts new file mode 100644 index 00000000..89f6c9c8 --- /dev/null +++ b/src/services/outboundPaymentImportService.ts @@ -0,0 +1,145 @@ +import { Api } from '../api/api.js'; +import * as Types from '../types/Types.js'; + +interface OutboundPaymentImportResponse extends Types.OutboundPaymentImport, Types.APIResponse {} + +interface OutboundPaymentImportListResponse extends Types.APIResponse { + outbound_payment_imports: Array; + meta: Types.ListMeta; +} + +interface OutboundPaymentImportCreateRequest { + // + + entry_items: Types.OutboundPaymentImportEntryItem[]; + + // Resources linked to this OutboundPaymentImport. + links?: Types.OutboundPaymentImportCreateRequestLinks; +} + +interface OutboundPaymentImportListRequest { + // Cursor pointing to the start of the desired set. + + after?: string; + + // Cursor pointing to the end of the desired set. + + before?: string; + + // The creation date of this OutboundPaymentImport. + created_at?: Types.CreatedAtFilter; + + // Number of records to return. + + limit?: string; + + // The status of the outbound payment import. + //
      + //
    • `created`: The initial state of a new import.
    • + //
    • `validating`: Import validation in progress.
    • + //
    • `invalid`: Import validation failed.
    • + //
    • `valid`: Import validation succeeded.
    • + //
    • `processing`: Authorisation received; payments are being generated.
    • + //
    • `processed`: All entries have been successfully converted into outbound + // payments.
    • + //
    • `cancelled`: The import was cancelled by a user or automatically expired + // by the system.
    • + //
    + + status?: Types.OutboundPaymentImportStatus; +} + +export class OutboundPaymentImportService { + private api: Api; + + constructor(api) { + this.api = api; + } + + public async create( + requestParameters: OutboundPaymentImportCreateRequest, + idempotencyKey = '', + customHeaders: Types.JsonMap = {}, + ): Promise { + const urlParameters = []; + const requestParams = { + path: '/outbound_payment_imports', + method: 'post', + urlParameters, + requestParameters, + payloadKey: 'outbound_payment_imports', + idempotencyKey, + customHeaders, + fetch: async (identity) => await this.find(identity), + }; + + const response = await this.api.request(requestParams); + const formattedResponse: OutboundPaymentImportResponse = { + ...(response.body?.['outbound_payment_imports'] ?? response), + __response__: response.__response__, + }; + + return formattedResponse; + } + + public async find(identity: string, customHeaders: Types.JsonMap = {}): Promise { + const urlParameters = [{ key: 'identity', value: identity }]; + const requestParams = { + path: '/outbound_payment_imports/:identity', + method: 'get', + urlParameters, + + payloadKey: null, + fetch: null, + customHeaders, + }; + + const response = await this.api.request(requestParams); + const formattedResponse: OutboundPaymentImportResponse = { + ...response.body['outbound_payment_imports'], + __response__: response.__response__, + }; + + return formattedResponse; + } + + public async list( + requestParameters: OutboundPaymentImportListRequest, + customHeaders: Types.JsonMap = {}, + ): Promise { + const urlParameters = []; + const requestParams = { + path: '/outbound_payment_imports', + method: 'get', + urlParameters, + requestParameters, + payloadKey: null, + fetch: null, + customHeaders, + }; + + const response = await this.api.request(requestParams); + const formattedResponse: OutboundPaymentImportListResponse = { + ...response.body, + __response__: response.__response__, + }; + + return formattedResponse; + } + + public async *all( + requestParameters: OutboundPaymentImportListRequest, + customHeaders: Types.JsonMap = {}, + ): AsyncGenerator { + let cursor = undefined; + do { + const list = await this.list({ ...requestParameters, after: cursor }, customHeaders); + + for (const outboundpaymentimport of list.outbound_payment_imports) { + yield outboundpaymentimport; + } + + cursor = list.meta.cursors.after; + } while (cursor); + } +} diff --git a/src/types/Types.ts b/src/types/Types.ts index 2f171704..d4032cba 100644 --- a/src/types/Types.ts +++ b/src/types/Types.ts @@ -584,7 +584,6 @@ export type BillingRequestActionBankAuthorisation = { export enum BillingRequestActionBankAuthorisationAdapter { OpenBankingGatewayPis = 'open_banking_gateway_pis', - PlaidAis = 'plaid_ais', OpenBankingGatewayAis = 'open_banking_gateway_ais', BankidAis = 'bankid_ais', BankPayRecurring = 'bank_pay_recurring', @@ -2701,7 +2700,6 @@ export type BillingRequestWithActionBillingRequestsActionBankAuthorisation = { export enum BillingRequestWithActionBillingRequestsActionBankAuthorisationAdapter { OpenBankingGatewayPis = 'open_banking_gateway_pis', - PlaidAis = 'plaid_ais', OpenBankingGatewayAis = 'open_banking_gateway_ais', BankidAis = 'bankid_ais', BankPayRecurring = 'bank_pay_recurring', @@ -4530,6 +4528,9 @@ export type Export = { // Download url for the export file. Subject to expiry. download_url?: string | null; + // Error message if the export encountered an error during processing. + error_message?: string | null; + // The type of the export export_type?: ExportExportType; @@ -5526,6 +5527,227 @@ export enum OutboundPaymentVerificationsRecipientBankAccountHolderVerificationTy ConfirmationOfPayee = 'confirmation_of_payee', } +/** Type for a outboundpaymentimport resource. */ +export type OutboundPaymentImport = { + // The sum of all import entry amounts, in the lowest denomination for the + // currency (e.g. pence in GBP, cents in EUR). + amount_sum?: number; + + // The link to the GoCardless dashboard to review and authorise the import + authorisation_url?: string; + + // Fixed [timestamp](#api-usage-dates-and-times), recording when this resource + // was created. + created_at?: string; + + // [ISO 4217](http://en.wikipedia.org/wiki/ISO_4217#Active_codes) currency. + // Currently only "GBP" is supported. + currency?: OutboundPaymentImportCurrency; + + // + entry_counts?: OutboundPaymentImportEntryCounts; + + // Unique identifier, beginning with "IM". + id: string; + + // Resources linked to this OutboundPaymentImport. + links?: OutboundPaymentImportLinks; + + // The status of the outbound payment import. + //
      + //
    • `created`: The initial state of a new import.
    • + //
    • `validating`: Import validation in progress.
    • + //
    • `invalid`: Import validation failed.
    • + //
    • `valid`: Import validation succeeded.
    • + //
    • `processing`: Authorisation received; payments are being + // generated.
    • + //
    • `processed`: All entries have been successfully converted into outbound + // payments.
    • + //
    • `cancelled`: The import was cancelled by a user or automatically + // expired by the system.
    • + //
    + status?: OutboundPaymentImportStatus; +}; + +/** Type for a outboundpaymentimportentryitem resource. */ +export type OutboundPaymentImportEntryItem = { + // Amount, in the lowest denomination for the currency (e.g. pence in GBP, + // cents in EUR). + amount: number; + + // Key-value store of custom data. Up to 3 keys are permitted, with + // key names up to 50 characters and values up to 500 characters. + metadata?: { [key: string]: string }; + + // ID of the customer bank account which receives the outbound payment. + recipient_bank_account_id: string; + + // An optional reference that will appear on your customer's bank statement. + // The character limit for this reference is dependent on the scheme.
    + // Faster Payments - 18 characters, including: + // "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 &-./"
    + reference?: string; + + // Bank payment scheme to process the outbound payment. Currently only + // "faster_payments" (GBP) is supported. + scheme: OutboundPaymentImportEntryItemScheme; +}; + +export enum OutboundPaymentImportEntryItemScheme { + FasterPayments = 'faster_payments', +} + +/** Type for a outboundpaymentimportcreaterequestlinks resource. */ +export type OutboundPaymentImportCreateRequestLinks = { + // ID of the creditor who sends the outbound payments from the import. + creditor?: string; +}; + +export enum OutboundPaymentImportStatus { + Created = 'created', + Validating = 'validating', + Valid = 'valid', + Invalid = 'invalid', + Processing = 'processing', + Processed = 'processed', + Cancelled = 'cancelled', +} + +export enum OutboundPaymentImportCurrency { + GBP = 'GBP', +} + +/** Type for a outboundpaymentimportentrycounts resource. */ +export type OutboundPaymentImportEntryCounts = { + // Count of entries that encountered a terminal error during the outbound + // payment generation process. + failed_to_process?: number; + + // Count of entries that failed validation checks. + invalid?: number; + + // Count of entries successfully converted into outbound payments after the + // import was authorised. + processed?: number; + + // The total number of entries included in the import. + total?: number; + + // Count of entries that passed validation checks. + valid?: number; + + // Total count of entries checked against bank account holder verification + // services (e.g., CoP). + verified?: number; + + // Count of entries where the account holder name was a direct match. + verified_with_full_match?: number; + + // Count of entries where the account holder name did not match the records. + verified_with_no_match?: number; + + // Count of entries where the account holder name was a close match. + verified_with_partial_match?: number; + + // Count of entries where the verification service could not return a + // definitive result. + verified_with_unable_to_match?: number; +}; + +/** Type for a outboundpaymentimportlinks resource. */ +export type OutboundPaymentImportLinks = { + // ID of the creditor who sends the outbound payments from the import. + creditor?: string; +}; + +/** Type for a outboundpaymentimportentry resource. */ +export type OutboundPaymentImportEntry = { + // Amount, in the lowest denomination for the currency (e.g. pence in GBP, + // cents in EUR). + amount?: number | null; + + // Fixed [timestamp](#api-usage-dates-and-times), recording when this resource + // was created. + created_at?: string; + + // Unique identifier, beginning with "IE". + id?: string; + + // Resources linked to this OutboundPaymentImportEntry. + links?: OutboundPaymentImportEntryLinks; + + // Key-value store of custom data. Up to 3 keys are permitted, with + // key names up to 50 characters and values up to 500 characters. + metadata?: { [key: string]: string } | null; + + // Fixed [timestamp](#api-usage-dates-and-times), recording when this entry + // was processed. + processed_at?: string | null; + + // An optional reference for the outbound payment. + reference?: string | null; + + // Bank payment scheme to process the outbound payment. Currently only + // "faster_payments" (GBP) is supported. + scheme?: OutboundPaymentImportEntryScheme; + + // Per-field validation errors for this entry, keyed by resource type and then + // by field name. + validation_errors?: OutboundPaymentImportEntryValidationErrors | null; + + // The result of bank account holder verification, if performed. + verification_result?: OutboundPaymentImportEntryVerificationResult | null; +}; + +/** Type for a outboundpaymentimportentrylinks resource. */ +export type OutboundPaymentImportEntryLinks = { + // ID of the associated outbound payment, once the entry has been processed. + outbound_payment?: string | null; + + // ID of the associated import. + outbound_payment_import?: string; + + // ID of the recipient bank account. + recipient_bank_account?: string | null; +}; + +export enum OutboundPaymentImportEntryScheme { + FasterPayments = 'faster_payments', +} + +/** Type for a outboundpaymentimportentryvalidationerrors resource. */ +export type OutboundPaymentImportEntryValidationErrors = { + // Validation errors for the outbound payment fields. + outbound_payment?: OutboundPaymentImportEntryValidationErrorsOutboundPayment; +}; + +/** Type for a outboundpaymentimportentryvalidationerrorsoutboundpayment resource. */ +export type OutboundPaymentImportEntryValidationErrorsOutboundPayment = { + // Errors related to the amount field. + amount?: string[]; + + // Errors related to the recipient bank account. + recipient_bank_account?: string[]; + + // Errors related to the reference field. + reference?: string[]; + + // Bank payment scheme to process the outbound payment. Currently only + // "faster_payments" (GBP) is supported. + scheme?: OutboundPaymentImportEntryValidationErrorsOutboundPaymentScheme; +}; + +export enum OutboundPaymentImportEntryValidationErrorsOutboundPaymentScheme { + FasterPayments = 'faster_payments', +} + +export enum OutboundPaymentImportEntryVerificationResult { + FullMatch = 'full_match', + PartialMatch = 'partial_match', + NoMatch = 'no_match', + UnableToMatch = 'unable_to_match', +} + /** Type for a payerauthorisation resource. */ export type PayerAuthorisation = { // All details required for the creation of a From ae5d5c0234a84c25e29b42a657e81fa844f41dbe Mon Sep 17 00:00:00 2001 From: "gocardless-ci-robot[bot]" <123969075+gocardless-ci-robot[bot]@users.noreply.github.com> Date: Fri, 1 May 2026 14:49:53 +0000 Subject: [PATCH 5/5] Changes generated by 44b6a6f73be14cecdcb4f7b43121d01b499ecb50 This commit was automatically created from gocardless/client-library-templates@44b6a6f73be14cecdcb4f7b43121d01b499ecb50 by the `push-files` action. Workflow run: https://github.com/gocardless/client-library-templates/actions/runs/25218825399 --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index ffbf6102..30a7ce4f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2437,9 +2437,9 @@ "license": "MIT" }, "node_modules/baseline-browser-mapping": { - "version": "2.10.24", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.24.tgz", - "integrity": "sha512-I2NkZOOrj2XuguvWCK6OVh9GavsNjZjK908Rq3mIBK25+GD8vPX5w2WdxVqnQ7xx3SrZJiCiZFu+/Oz50oSYSA==", + "version": "2.10.25", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.25.tgz", + "integrity": "sha512-QO/VHsXCQdnzADMfmkeOPvHdIAkoB7i0/rGjINPJEetLx75hNttVWGQ/jycHUDP9zZ9rupbm60WRxcwViB0MiA==", "dev": true, "license": "Apache-2.0", "bin": {