--- title: "Initiate payments on behalf of account holders" description: "Learn how to consume our dedicated PISP endpoints." url: "https://docs.adyen.com/business-accounts/pisp" source_url: "https://docs.adyen.com/business-accounts/pisp.md" canonical: "https://docs.adyen.com/business-accounts/pisp" last_modified: "2026-05-26T13:48:55+02:00" language: "en" --- # Initiate payments on behalf of account holders Learn how to consume our dedicated PISP endpoints. [View source](/business-accounts/pisp.md) As part of the open banking framework for Payment Initiation Service Providers (PISPs), Adyen provides endpoints to initiate payment transactions on behalf of account holders who have given their consent. This page explains how you, as a third-party PISP, use the `/payments` endpoint to: * [Initiate a payment](#initiate-a-payment) * [Get the status of a payment](#payment-status) * [Get the status of a payment authorization](#authorization-status) ## Requirements | Requirement | Description | | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Integration type** | Not applicable; this documentation is intended for third-party providers. | | **Setup steps** | Before you begin, you must:- Complete the [Adyen onboarding steps](/business-accounts/open-banking#onboard-with-adyen). - Have your [access token](/business-accounts/oauth-flow#get-an-access-token) for the Adyen business account. | ## Initiate a payment To initiate a single payment on behalf of your account holder: 1. Make a POST `/payments/target-2-payments` request with the following parameters in the request body. The request header includes, for example, an IPv4 address like 19.68.26.143, or an IPv6 address like 2001:db8:1:1:1:1:1:1. | Parameter | Required | Description | | ------------------ | ------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | | `instructedAmount` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The currency and the amount of the payment. | | `creditorAccount` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The account number of the creditor—the person or entity who will receive the payment. | | `debtorAccount` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The account number of the debtor. | | `creditorName` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The name of the creditor. | | `creditorAddress` | ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") | The address of the creditor. | Here is an example of a request to initiate a payment of **EUR 0.50** to Railway Company. **Initiate a single payment** ```bash curl 'https://openbanking-psd2-test.adyen.com/obeu/pisp/v1/payments/target-2-payments' \ --header 'X-Request-ID: {your-request-id}' \ --header 'IPv4: 19.68.26.143' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer {access_token}' \ --data '{ "instructedAmount": { "currency": "EUR", "amount": "0.50" }, "creditorAccount": { "iban": "NL57INGB4654188101" }, "debtorAccount": { "iban": "NL91ABNA0417164300" }, "creditorName": "Railway Company", "creditorAddress": { "streetName": "Railstraat", "buildingNumber": "1", "townName": "Amsterdam", "postCode": "2023 AB", "country": "NL" } }' ``` 2. The response contains the details of the initiated payment, including the `transactionStatus` and the `paymentId`. The response contains the following fields: | Parameter | Description | | | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - | | `transactionStatus` | Current status of the payment. Possible values:- **ACCP**: Accepted customer profile. - **ACFC**: Accepted funds checked. - **ACCC**: Accepted settlement completed on the creditor's account. - **ACSC**: Accepted settlement completed on the debtor's account. - **ACSP**: Accepted settlement in process. - **ACTC**: Accepted technical validation. - **ACWC**: Accepted with change. - **ACWP**: Accepted without posting. - **CANC**: Payment initiation has been cancelled before execution. - **RCVD**: Payment initiation has been received. - **RJCT**: Payment initiation or individual transaction included in the payment initiation has been rejected. - **PDNG**: Payment initiation or individual transaction included in the payment initiation is pending. - **PART**: Partially accepted. - **PATC**: Partially accepted technical. | | | `paymentId` | A list of characters that represents the ID of a specific payment. | | **Response** ```json { "transactionStatus": "PDNG", "paymentId": "1WPF9J5ZKOIZH8MG", "_links": { "self": { "href": "/payments/target-2-payments/1WPF9J5ZKOIZH8MG" }, "status": { "href": "/payments/target-2-payments/1WPF9J5ZKOIZH8MG/status" }, "scaStatus": { "href": "/payments/target-2-payments/1WPF9J5ZKOIZH8MG/authorisations/OBAU4222Z223222P5J6FPG9DG4654T" } } } ``` ## Get payment status To get the status of the payment: 1. Make a GET `/payments/target-2-payments/{paymentId}` request. Use this endpoint to check if the payment has been confirmed. The `paymentId` is found in the response of the [Initiate a payment](#initiate-a-payment) step. Keep polling the endpoint for status updates (recommended every 5 seconds). **Get payment status** ```bash curl 'https://openbanking-psd2-test.adyen.com/obeu/pisp/v1/payments/target-2-payments/{paymentId}' \ --header 'X-Request-ID: {your-request-id}' \ --header 'Authorization: Bearer {access_token}' ``` 2. The response contains the `transactionStatus` which describes the current state of the payment. The response may look like this: **Response** ```json { "transactionStatus": "RCVD", "paymentId": "1WPF9J5ZKOIZH8MG", "instructedAmount": { "currency": "EUR", "amount": "-0.50" } } ``` ## Get authorization status To get information about the payment authorization details and determine where your account holder is in the in authorization flow to initiate payments. 1. Make a GET `/payments/target-2-payments/{paymentId}/authorisations/{authorizationId}` request, where `paymentId` represents a unique identifier for a payment transaction and `authorizationId` is a unique identifier for a specific payment authorization. **Get authorization status** ```bash curl 'https://openbanking-psd2-test.adyen.com/obeu/pisp/v1/payments/target-2-payments/1WPF9J5Z16P8M825/authorisations/OBAU4222Z223222P5HWJDLHD766H93' \ --header 'X-Request-ID: {your-request-id}' \ --header 'Authorization: Basic {access_token}' ``` 2. The response contains the authorization status. See the `scaStatus` for all possible values. | Parameter | Description | | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `scaStatus` | Status of authorization. Possible values:- **scaMethodSelected**: The account holder/third-party provider has selected the related SCA routine. - **started**: The addressed SCA routine has been started. - **finalised**: The SCA routine has been finalized successfully (including a potential confirmation command). This is a final status of the authorization resource. - **failed**: The SCA routine failed. This is a final status of the authorization resource. | **Response** ```json { "scaStatus": "finalised" } ``` ## See also * [Get account holder information](/business-accounts/aisp) * [Confirm funds](/business-accounts/piisp)