{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-apis/banking/v4/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Payments","keywords":"documentation, api, portal, banking, payment, account information, aritma, psd2, open banking, reconciliation","description":"Developer documentation for Aritma's banking and financial APIs - payments, account information, webhooks, authentication and integrations.","meta":[{"name":"google-site-verification","content":"hplqlK_5O42BZjNnjtVQMEpxv9JkxcD1eH4J1T-NQmI"}],"llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"payments","__idx":0},"children":["Payments"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Payments API lets you submit outgoing credit transfers, track their status, and — for banks/customers configured with pre-approved payments — route them through a signing basket before they reach the bank."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"concepts","__idx":1},"children":["Concepts"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A payment request creates one ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["bulk payment (P1B)"]},", which contains one or more ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["payment lines (P1P)"]},". A single request can submit several payment lines at once."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Always resolve the real outcome at the P1P (line) level, not just P1B."]}," A bulk payment can show a partial status (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PART"]},") while its individual lines have different outcomes from each other."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Whether a payment requires manual sign-off depends on the account's approval model:",{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Non pre-approved (RGB off):"]}," the payment is sent straight to the bank with no signing step, and then the customer needs to do a manual approval withing the online bank."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Pre-approved (RGB on):"]}," the payment stays at ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["RCVD"]}," until it's approved through the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#signing-baskets"},"children":["signing basket flow"]},"."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Which model applies depends on the bank and how the customer's integration was ordered — RGB configuration is not identical across banks (see ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#troubleshooting--known-gotchas"},"children":["Troubleshooting"]},")."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["RGB ON is the recommended setup for the best user flow"]},", and the signing basket is the recommended way to approve payments within that setup."]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"common-headers","__idx":2},"children":["Common headers"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Header"},"children":["Header"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Value"},"children":["Value"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Authorization"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Bearer {access_token}"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Channel-Type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["openBanking"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Subscription-Id"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{subscriptionId}"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Resource-Group-Name"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{resourceGroupId}"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TPP-Redirect-URI"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Your configured bank signing/redirect URL"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Accept"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["application/json"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Content-Type"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["application/json"]}," (when the request has a body)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["api-version"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["1.0"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Idempotency-Key"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{UUID}"]}," — recommended on every POST, to safely retry without creating duplicate payments"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"submit-bulk-payment","__idx":3},"children":["Submit bulk payment"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Method"},"children":["Method"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Endpoint"},"children":["Endpoint"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Body"},"children":["Body"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{BankingBaseUrl}/api/bulk-payments/credit-transfer"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["JSON, structure below"]}]}]}]}]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"debtorAccount\": {\n    \"iban\": \"...\",\n    \"bban\": \"...\",\n    \"currency\": \"...\"\n  },\n  \"debtorName\": \"...\",\n  \"debtorAddress\": {\n    \"streetName\": \"...\",\n    \"postCode\": \"...\",\n    \"townName\": \"...\",\n    \"country\": \"...\"\n  },\n  \"batchBooking\": false,\n  \"requestedExecutionDate\": \"...\",\n  \"paymentLines\": [\n    {\n      \"endToEndIdentification\": \"...\",\n      \"instructedAmount\": { \"currency\": \"...\", \"amount\": \"...\" },\n      \"creditorAccount\": { \"iban\": \"...\", \"bban\": \"...\" },\n      \"creditorName\": \"...\",\n      \"creditorAddress\": { \"streetName\": \"...\", \"postCode\": \"...\", \"townName\": \"...\", \"country\": \"...\" },\n      \"remittanceInformationUnstructured\": \"...\",\n      \"remittanceInformationStructured\": { \"reference\": \"...\", \"referenceType\": \"SCOR|CINV\" },\n      \"purposeCode\": \"...\",\n      \"purposeProprietary\": \"...\",\n      \"regulatoryReportingCode\": \"...\",\n      \"regulatoryReportingInformation\": \"...\",\n      \"bundleReference\": \"...\"\n    }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Fields with empty values are normally omitted from the request. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["paymentLines"]}," can contain multiple payment lines in a single call."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Include as much remittance/reference information as you have — for cross-border payments, IBAN, SWIFT/BIC, and country codes are required. The payment goes through initial validation (illegal characters, etc.) before being sent onward, so malformed requests fail fast rather than reaching the bank."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"structured-reference--remittanceinformationstructured-","__idx":4},"children":["Structured reference (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["remittanceInformationStructured"]},")"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["referenceType"]}," identifies which ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["kind"]}," of structured reference is used — you don't need to (and shouldn't) pick the local reference format explicitly. The local form is set implicitly based on the account/country data in the API call itself."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Examples of local equivalents behind the same ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["referenceType"]},":"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Country"},"children":["Country"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Local reference name"},"children":["Local reference name"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"referenceType"},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["referenceType"]}]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Norway"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["KID"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SCOR"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Sweden"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["OCR"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SCOR"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Denmark"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["FIK"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SCOR"]}," (mapped to FIK locally)"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["General ISO/creditor reference"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["—"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["SCOR"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Invoice-based reference"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["—"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["CINV"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In other words: KID in Norway and OCR in Sweden are the ",{"$$mdtype":"Tag","name":"em","attributes":{},"children":["same underlying concept"]}," (a structured payment reference), just under different local names — the API represents them with the same ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["referenceType"]}," value, and the correct local variant is applied automatically based on the payment's country/account context."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"domestic-versus-non-domestic-payments","__idx":5},"children":["Domestic versus non-domestic payments"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["There is no separate ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["domestic"]}," / ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["international"]}," flag. Domestic and non-domestic payments are sent to the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["same endpoint"]}," using the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["same JSON structure"]}," — the API distinguishes them based on the account, currency, country, and payment-agent data you provide."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["In simplified terms:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Domestic:"]}," debtor and creditor are normally in the same country, the same local currency is used, and BBAN or IBAN can be sent without a foreign payment agent."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Non-domestic:"]}," the creditor is in another country, or the payment uses another currency. In this case, send the creditor's IBAN and — where available — ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["creditorAgent"]}," (SWIFT/BIC) and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["creditorAgentCountryCode"]},"."]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"example-domestic-payment","__idx":6},"children":["Example: domestic payment"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A Swedish payment in SEK to a Swedish account. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["creditorAgent"]}," can be omitted if no SWIFT code is registered for the recipient's bank."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"debtorAccount\": {\n    \"iban\": \"SE3550000000054910000003\",\n    \"bban\": \"54910000003\",\n    \"currency\": \"SEK\"\n  },\n  \"debtorName\": \"Aritma AB\",\n  \"debtorAddress\": {\n    \"streetName\": \"Example Street 1\",\n    \"postCode\": \"111 22\",\n    \"townName\": \"Stockholm\",\n    \"country\": \"SE\"\n  },\n  \"batchBooking\": false,\n  \"requestedExecutionDate\": \"2026-09-25\",\n  \"paymentLines\": [\n    {\n      \"endToEndIdentification\": \"V00001234\",\n      \"instructedAmount\": {\n        \"currency\": \"SEK\",\n        \"amount\": \"12500.00\"\n      },\n      \"creditorAccount\": {\n        \"iban\": \"SE4550000000054910000019\",\n        \"bban\": \"54910000019\"\n      },\n      \"creditorName\": \"Supplier Sweden AB\",\n      \"creditorAddress\": {\n        \"streetName\": \"Supplier Road 2\",\n        \"postCode\": \"411 10\",\n        \"townName\": \"Gothenburg\",\n        \"country\": \"SE\"\n      },\n      \"remittanceInformationUnstructured\": \"Invoice 1234\",\n      \"remittanceInformationStructured\": {\n        \"reference\": \"1234567890\",\n        \"referenceType\": \"SCOR\"\n      },\n      \"creditorAgentCountryCode\": \"SE\",\n      \"bundleReference\": \"{guid}\"\n    }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"example-non-domestic-payment","__idx":7},"children":["Example: non-domestic payment"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A payment from Sweden to a Norwegian account in NOK. The recipient's IBAN and SWIFT/BIC are used. ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["creditorAgent"]}," is only populated when the recipient bank account has a SWIFT value on record."]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"debtorAccount\": {\n    \"iban\": \"SE3550000000054910000003\",\n    \"bban\": \"54910000003\",\n    \"currency\": \"SEK\"\n  },\n  \"debtorName\": \"Aritma AB\",\n  \"debtorAddress\": {\n    \"streetName\": \"Example Street 1\",\n    \"postCode\": \"111 22\",\n    \"townName\": \"Stockholm\",\n    \"country\": \"SE\"\n  },\n  \"batchBooking\": false,\n  \"requestedExecutionDate\": \"2026-09-25\",\n  \"paymentLines\": [\n    {\n      \"endToEndIdentification\": \"V00001235\",\n      \"instructedAmount\": {\n        \"currency\": \"NOK\",\n        \"amount\": \"12500.00\"\n      },\n      \"creditorAccount\": {\n        \"iban\": \"NO9386011117947\"\n      },\n      \"creditorName\": \"Supplier Norway AS\",\n      \"creditorAddress\": {\n        \"streetName\": \"Supplier Road 2\",\n        \"postCode\": \"0150\",\n        \"townName\": \"Oslo\",\n        \"country\": \"NO\"\n      },\n      \"creditorAgent\": \"DNBANOKK\",\n      \"creditorAgentCountryCode\": \"NO\",\n      \"remittanceInformationUnstructured\": \"Invoice 1234\",\n      \"bundleReference\": \"{guid}\"\n    }\n  ]\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"how-the-classification-actually-works","__idx":8},"children":["How the classification actually works"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["There's no explicit ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["domestic = true/false"]}," field — the distinction is implicit in the fields you send, combined with the API's own rules:"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Field"},"children":["Field"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Where it comes from"},"children":["Where it comes from"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["debtorAccount.currency"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The debtor's bank account"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["instructedAmount.currency"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The payment currency"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["creditorAccount"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Populated with IBAN and/or BBAN, depending on which values are available"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["creditorAddress.country"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["The creditor's country code"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["creditorAgent"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Set to SWIFT/BIC when a value is available for the creditor's bank"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["creditorAgentCountryCode"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Always set from the creditor's country code"]}]}]}]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"retrieve-and-cancel-a-payment","__idx":9},"children":["Retrieve and cancel a payment"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Method"},"children":["Method"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Endpoint"},"children":["Endpoint"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Body"},"children":["Body"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["GET"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{BankingBaseUrl}/api/bulk-payments/credit-transfer/{paymentId}"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No body"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["DELETE"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{BankingBaseUrl}/api/bulk-payments/credit-transfer/{paymentId}"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["No body"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The same endpoint pattern is used to check status for both the complete bulk transfer (P1B) and individual payment lines (P1P) — as noted above, resolve the real per-line outcome rather than relying on the P1B-level status alone."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"status-progression","__idx":10},"children":["Status progression"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Full ISO 20022 status flow:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["RCVD"]}," → ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ACTC"]}," (Accepted Technical Validation) → ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ACCP"]}," (Accepted Customer Profile) → ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ACSP"]}," (Accepted Settlement In Process) → ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["ACSC"]}," (Accepted Settlement Completed)"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["RJCT"]}," (rejected) or ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["PART"]}," (partially accepted) as alternative branches. On rejection, check the status message / reason code returned with the payment."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Prefer ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["webhooks"]}," over polling to track status changes (see below)."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"signing-baskets","__idx":11},"children":["Signing baskets"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Used when an account has ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["pre-approved payments (RGB) enabled"]}," — the payment stays at ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["RCVD"]}," until the basket is created and authorized."]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Method"},"children":["Method"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Endpoint"},"children":["Endpoint"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Body"},"children":["Body"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{BankingBaseUrl}/api/signing-baskets"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{ \"paymentIds\": [\"{paymentId1}\", \"{paymentId2}\"] }"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["POST"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{BankingBaseUrl}/api/signing-baskets/{basketId}/authorizations"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Empty body; the signing redirect is returned via the ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TPP-Redirect-URI"]}," header"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Multiple payment IDs can be included in one basket to approve several payments at once. After authorization, the response includes a redirect URL where the authorized user completes BankID verification and approves the basket; they're then redirected back to the configured ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["TPP-Redirect-URI"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Both P1B (bulk payment) and P1P (individual payment line) IDs can be added to a signing basket. ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["We recommend adding P1P IDs"]}," rather than P1B IDs, since this gives a clean 1:1 relationship between what's approved and what's actually sent — a P1B can contain multiple lines with different outcomes, which makes basket-level approval harder to reason about."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A payment is only sent on to the bank once it has been fully approved — 1 out of 1, or 2 out of 2, signatures, depending on how the account's approval requirement (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["numberOfApprovers"]},") is configured. Only after that full approval is reached does the payment actually leave Aritma for the bank."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"tracking-status-via-webhooks","__idx":12},"children":["Tracking status via webhooks"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Rather than polling, subscribe to payment-related events on the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"https://developer.aritma.com/apis/platform/events"},"children":["Events API"]},":"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Function"},"children":["Function"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Event(s)"},"children":["Event(s)"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Callback path"},"children":["Callback path"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Payment/transfer status"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["banking.payment.status.updated"]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["banking.bulk_payment.status.updated"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/api/status_update/{tenantId}/{companyId}"]}]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["After subscribing, the subscription must be validated via the callback included in the subscription flow."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"troubleshooting--known-gotchas","__idx":13},"children":["Troubleshooting / known gotchas"]},{"$$mdtype":"Tag","name":"div","attributes":{"className":"md-table-wrapper"},"children":[{"$$mdtype":"Tag","name":"table","attributes":{"className":"md"},"children":[{"$$mdtype":"Tag","name":"thead","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Symptom"},"children":["Symptom"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"Cause"},"children":["Cause"]},{"$$mdtype":"Tag","name":"th","attributes":{"data-label":"What to do"},"children":["What to do"]}]}]},{"$$mdtype":"Tag","name":"tbody","attributes":{},"children":[{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Payment stuck at ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["RCVD"]}]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Account has pre-approved payments (RGB) enabled"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Complete the ",{"$$mdtype":"Tag","name":"a","attributes":{"href":"#signing-baskets"},"children":["signing basket flow"]}]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Bulk payment status looks wrong or incomplete"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["You're reading only the P1B-level status"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Always resolve the real outcome at the P1P (payment line) level"]}]},{"$$mdtype":"Tag","name":"tr","attributes":{},"children":[{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Unsure whether an account needs signing"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["RGB configuration differs by bank/country — e.g. most Norwegian banks use an Aritma toggle, while DNB and banks in Sweden/Denmark require RGB to be ordered as part of the bank agreement, and Handelsbanken doesn't support it until Q4 2026"]},{"$$mdtype":"Tag","name":"td","attributes":{},"children":["Check with the customer's bank onboarding setup, or contact Aritma support if unsure"]}]}]}]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For anything not covered above — production incidents, account-specific payment failures, or billing — escalate to ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["support@aritma.com"]}]}]},"headings":[{"value":"Payments","id":"payments","depth":1},{"value":"Concepts","id":"concepts","depth":2},{"value":"Common headers","id":"common-headers","depth":2},{"value":"Submit bulk payment","id":"submit-bulk-payment","depth":2},{"value":"Structured reference ( remittanceInformationStructured )","id":"structured-reference--remittanceinformationstructured-","depth":3},{"value":"Domestic versus non-domestic payments","id":"domestic-versus-non-domestic-payments","depth":2},{"value":"Example: domestic payment","id":"example-domestic-payment","depth":3},{"value":"Example: non-domestic payment","id":"example-non-domestic-payment","depth":3},{"value":"How the classification actually works","id":"how-the-classification-actually-works","depth":3},{"value":"Retrieve and cancel a payment","id":"retrieve-and-cancel-a-payment","depth":2},{"value":"Status progression","id":"status-progression","depth":3},{"value":"Signing baskets","id":"signing-baskets","depth":2},{"value":"Tracking status via webhooks","id":"tracking-status-via-webhooks","depth":2},{"value":"Troubleshooting / known gotchas","id":"troubleshooting--known-gotchas","depth":2}],"frontmatter":{"seo":{"title":"Payments"}},"lastModified":"2026-10-07T11:38:10.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/apis/banking/v4/guides/payments","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}