Allows customers to transfer money to their own, third-party or external accounts.
Payment Initiation Service
Allows customers to transfer money to their own, third-party or external accounts.
Payment Initiation with JSON encoding of the Payment Instruction
Creates a payment initiation request at the ASPSP.
/pis/{apiGroupVersion}/payments/{payment-product}
RESPONSES
201
Created
400
Bad Request
401
Unauthorized
403
Forbidden
404
Not Found
405
Method Not Allowed
406
Not Acceptable
415
Unsupported Media Type
429
Too Many Requests
Request
{
"paymentIdentification": {
"instructionId": "PAYMNT-2025-001",
"endToEndId": "E2E-REF-12345"
},
"categoryPurposeProprietary": "3",
"purposeProprietary": "999",
"debtorAccount": {
"iban": "MK07200002785493215",
"currency": "MKD"
},
"creditorAccount": {
"iban": "MK07200003215498765",
"currency": "MKD"
},
"creditor": {
"name": "John Doe"
},
"debtor": {
"name": "ABC Company"
},
"instructedAmount": {
"currency": "MKD",
"amount": "25000.00"
},
"chargeBearer": "SHAR",
"creditorAgent": {
"bic": "KOBSMK2X"
},
"debtorAgent": {
"bic": "EXAMPLEMKXXX"
},
"requestedExecutionDate": "2025-09-01",
"requestedExecutionDateTime": "2025-09-01T10:00:00"
}Responses
201
400
401
403
404
405
406
415
429
{
"Valid response": {
"value": {
"paymentId": "e521cf62-a45f-49c5-8372-94853fffeb55,",
"transactionStatus": "RCVD",
"_links": {
"scaRedirect": {
"href": "https://bank.com/sca"
}
}
}
}
}Get authorisation sub-resources request
Will deliver an array of resource identifications of all generated authorisation sub-resources.
/pis/{apiGroupVersion}/{payment-service}/{payment-product}/{payment-id}/authorisations
RESPONSES
200
OK
400
Bad Request
401
Unauthorized
403
Forbidden
404
Not Found
405
Method Not Allowed
406
Not Acceptable
415
Unsupported Media Type
429
Too Many Requests
Request
Responses
200
400
401
403
404
405
406
415
429
{
"Valid Response": {
"value": {
"authorisationsIds": [
123321
]
}
}
}Start authorisation process
Starts the authorisation process for a payment initiation.
/pis/{apiGroupVersion}/{payment-service}/{payment-product}/{payment-id}/authorisations
RESPONSES
201
Created
400
Bad Request
401
Unauthorized
403
Forbidden
404
Not Found
405
Method Not Allowed
406
Not Acceptable
415
Unsupported Media Type
429
Too Many Requests
Request
Responses
201
400
401
403
404
405
406
415
429
{
"Valid Response": {
"value": {
"scaStatus": "received",
"_links": {
"scaRedirect": {
"href": "https://bank.com/sca"
}
}
}
}
}Get Status Request
Can check the status of a payment initiation.
/pis/{apiGroupVersion}/payments/{payment-product}/{payment-id}/status
RESPONSES
200
OK
400
Bad Request
401
Unauthorized
403
Forbidden
404
Not Found
405
Method Not Allowed
406
Not Acceptable
415
Unsupported Media Type
429
Too Many Requests
Request
Responses
200
400
401
403
404
405
406
415
429
{
"Payment accepted": {
"value": {
"transactionStatus": "ACCC"
}
},
"No funds": {
"value": {
"apiClientMessages": [
{
"category": "WARNING",
"code": "FUNDS_NOT_AVAILABLE",
"text": "Not enough funds"
}
],
"transactionStatus": "RJCT"
}
},
"Content invalid": {
"value": {
"apiClientMessages": [
{
"category": "WARNING",
"code": "CONTENT_INVALID",
"text": "The content of payment has been found invalid after initial acceptance"
}
],
"transactionStatus": "RJCT"
}
}
}Get SCA status request
Checks the SCA status of a authorisation sub-resource.
/pis/{apiGroupVersion}/{payment-service}/{payment-product}/{payment-id}/authorisations/{authorisation-id}
RESPONSES
200
OK
400
Bad Request
401
Unauthorized
403
Forbidden
404
Not Found
405
Method Not Allowed
406
Not Acceptable
415
Unsupported Media Type
429
Too Many Requests
Request
Responses
200
400
401
403
404
405
406
415
429
{
"Valid Response": {
"value": {
"scaStatus": "received",
"_links": {
"scaRedirect": {
"href": "https://bank.com/sca"
}
}
}
}
}Get periodic payment status request
Checks the status of a periodic payment initiation.
/pis/{apiGroupVersion}/periodic-payments/{payment-product}/{payment-id}/status
RESPONSES
200
OK
400
Bad Request
401
Unauthorized
403
Forbidden
404
Not Found
405
Method Not Allowed
406
Not Acceptable
415
Unsupported Media Type
429
Too Many Requests
Request
Responses
200
400
401
403
404
405
406
415
429
{
"Payment accepted": {
"value": {
"transactionStatus": "ACCC"
}
},
"No funds": {
"value": {
"apiClientMessages": [
{
"category": "WARNING",
"code": "FUNDS_NOT_AVAILABLE",
"text": "Not enough funds"
}
],
"transactionStatus": "RJCT"
}
},
"Content invalid": {
"value": {
"apiClientMessages": [
{
"category": "WARNING",
"code": "CONTENT_INVALID",
"text": "The content of payment has been found invalid after initial acceptance"
}
],
"transactionStatus": "RJCT"
}
}
}Get Multi Bulk Payment Details
Returns the contents of multi bulk payment object.
/pis/{apiGroupVersion}/multi-bulk-payments/{payment-product}/{payment-id}
RESPONSES
200
OK
400
Bad Request
401
Unauthorized
403
Forbidden
404
Not Found
405
Method Not Allowed
406
Not Acceptable
415
Unsupported Media Type
429
Too Many Requests
Request
Responses
200
400
401
403
404
405
406
415
429
{
"Payment accepted": {
"value": {
"messageId": "multi-bulk-101",
"creationDateTime": "2022-02-02T13:04:06",
"numberOfTransactions": 2,
"controlSum": "75500",
"initiatingParty": {
"name": "Acme Corporation"
},
"payments": [
{
"paymentInformationId": "bulk-payment 123",
"batchBooking": true,
"categoryPurposeProprietary": "3",
"numberOfTransactions": 2,
"controlSum": "75500",
"debtorAccount": {
"iban": "DE40100100103307118608"
},
"requestedExecutionDate": "2018-08-01",
"creditTransfers": [
{
"paymentIdentification": {
"endToEndId": "Text, maximum of 35 characters."
},
"instructedAmount": {
"currency": "MKD",
"amount": "74000"
},
"creditorAccount": {
"iban": "XX7612345987650123456789014",
"currency": "MKD"
},
"creditor": {
"name": "Text, maximum of 140 characters."
}
},
{
"paymentIdentification": {
"endToEndId": "INV-2025-00234"
},
"instructedAmount": {
"currency": "MKD",
"amount": "1500.00"
},
"creditorAccount": {
"iban": "XX9121000418450200051332",
"currency": "MKD"
},
"creditor": {
"name": "Global Supplies Ltd."
}
}
]
}
],
"groupStatus": "RCVD"
}
},
"No funds": {
"value": {
"messageId": "multi-bulk-101",
"creationDateTime": "2022-02-02T13:04:06",
"numberOfTransactions": 2,
"controlSum": "75500",
"initiatingParty": {
"name": "Acme Corporation"
},
"payments": [
{
"paymentInformationId": "bulk-payment 123",
"batchBooking": true,
"categoryPurposeProprietary": "3",
"numberOfTransactions": 2,
"controlSum": "75500",
"debtorAccount": {
"iban": "DE40100100103307118608"
},
"requestedExecutionDate": "2018-08-01",
"creditTransfers": [
{
"paymentIdentification": {
"endToEndId": "Text, maximum of 35 characters."
},
"instructedAmount": {
"currency": "MKD",
"amount": "74000"
},
"creditorAccount": {
"iban": "XX7612345987650123456789014",
"currency": "MKD"
},
"creditor": {
"name": "Text, maximum of 140 characters."
}
},
{
"paymentIdentification": {
"endToEndId": "INV-2025-00234"
},
"instructedAmount": {
"currency": "MKD",
"amount": "1500.00"
},
"creditorAccount": {
"iban": "XX9121000418450200051332",
"currency": "MKD"
},
"creditor": {
"name": "Global Supplies Ltd."
}
}
]
}
],
"apiClientMessages": [
{
"category": "WARNING",
"code": "FUNDS_NOT_AVAILABLE",
"text": "Not enough funds"
}
],
"groupStatus": "RJCT"
}
},
"Content invalid": {
"value": {
"messageId": "multi-bulk-101",
"creationDateTime": "2022-02-02T13:04:06",
"numberOfTransactions": 2,
"controlSum": "75500",
"initiatingParty": {
"name": "Acme Corporation"
},
"payments": [
{
"paymentInformationId": "bulk-payment 123",
"batchBooking": true,
"categoryPurposeProprietary": "3",
"numberOfTransactions": 2,
"controlSum": "75500",
"debtorAccount": {
"iban": "DE40100100103307118608"
},
"requestedExecutionDate": "2018-08-01",
"creditTransfers": [
{
"paymentIdentification": {
"endToEndId": "Text, maximum of 35 characters."
},
"instructedAmount": {
"currency": "MKD",
"amount": "74000"
},
"creditorAccount": {
"iban": "XX7612345987650123456789014",
"currency": "MKD"
},
"creditor": {
"name": "Text, maximum of 140 characters."
}
},
{
"paymentIdentification": {
"endToEndId": "INV-2025-00234"
},
"instructedAmount": {
"currency": "MKD",
"amount": "1500.00"
},
"creditorAccount": {
"iban": "XX9121000418450200051332",
"currency": "MKD"
},
"creditor": {
"name": "Global Supplies Ltd."
}
}
]
}
],
"apiClientMessages": [
{
"category": "WARNING",
"code": "CONTENT_INVALID",
"text": "The content of payment has been found invalid after initial acceptance"
}
],
"groupStatus": "RJCT"
}
}
}Get Payment Details
Returns the content of payment object.
/pis/{apiGroupVersion}/payments/{payment-product}/{payment-id}
RESPONSES
200
OK
400
Bad Request
401
Unauthorized
403
Forbidden
404
Not Found
405
Method Not Allowed
406
Not Acceptable
415
Unsupported Media Type
429
Too Many Requests
Request
Responses
200
400
401
403
404
405
406
415
429
{
"Payment accepted": {
"value": {
"paymentIdentification": {
"instructionId": "PAYMNT-2025-001",
"endToEndId": "E2E-REF-12345"
},
"categoryPurposeProprietary": "3",
"purposeProprietary": "999",
"debtorAccount": {
"iban": "MK07200002785493215",
"currency": "MKD"
},
"creditorAccount": {
"iban": "MK07200003215498765",
"currency": "MKD"
},
"creditor": {
"name": "John Doe"
},
"debtor": {
"name": "ABC Company"
},
"instructedAmount": {
"currency": "MKD",
"amount": "25000.00"
},
"chargeBearer": "SHAR",
"creditorAgent": {
"bic": "KOBSMK2X"
},
"debtorAgent": {
"bic": "EXAMPLEMKXXX"
},
"requestedExecutionDate": "2025-09-01",
"requestedExecutionDateTime": "2025-09-01T10:00:00",
"transactionStatus": "ACCC",
"_links": {
"scaRedirect": {
"href": "https://bank.com/sca"
}
}
}
},
"No funds": {
"value": {
"paymentIdentification": {
"instructionId": "PAYMNT-2025-001",
"endToEndId": "E2E-REF-12345"
},
"categoryPurposeProprietary": "3",
"purposeProprietary": "999",
"debtorAccount": {
"iban": "MK07200002785493215",
"currency": "MKD"
},
"creditorAccount": {
"iban": "MK07200003215498765",
"currency": "MKD"
},
"creditor": {
"name": "John Doe"
},
"debtor": {
"name": "ABC Company"
},
"instructedAmount": {
"currency": "MKD",
"amount": "25000.00"
},
"chargeBearer": "SHAR",
"creditorAgent": {
"bic": "KOBSMK2X"
},
"debtorAgent": {
"bic": "EXAMPLEMKXXX"
},
"requestedExecutionDate": "2025-09-01",
"requestedExecutionDateTime": "2025-09-01T10:00:00",
"_links": {
"scaRedirect": {
"href": "https://bank.com/sca"
}
},
"apiClientMessages": [
{
"category": "WARNING",
"code": "FUNDS_NOT_AVAILABLE",
"text": "Not enough funds"
}
],
"transactionStatus": "RJCT"
}
},
"Content invalid": {
"value": {
"paymentIdentification": {
"instructionId": "PAYMNT-2025-001",
"endToEndId": "E2E-REF-12345"
},
"categoryPurposeProprietary": "3",
"purposeProprietary": "999",
"debtorAccount": {
"iban": "MK07200002785493215",
"currency": "MKD"
},
"creditorAccount": {
"iban": "MK07200003215498765",
"currency": "MKD"
},
"creditor": {
"name": "John Doe"
},
"debtor": {
"name": "ABC Company"
},
"instructedAmount": {
"currency": "MKD",
"amount": "25000.00"
},
"chargeBearer": "SHAR",
"creditorAgent": {
"bic": "KOBSMK2X"
},
"debtorAgent": {
"bic": "EXAMPLEMKXXX"
},
"requestedExecutionDate": "2025-09-01",
"requestedExecutionDateTime": "2025-09-01T10:00:00",
"_links": {
"scaRedirect": {
"href": "https://bank.com/sca"
}
},
"apiClientMessages": [
{
"category": "WARNING",
"code": "CONTENT_INVALID",
"text": "The content of payment has been found invalid after initial acceptance"
}
],
"transactionStatus": "RJCT"
}
}
}Periodic Payment Initiation with JSON encoding of the Payment Instruction
Creates a periodic payment initiation request at the ASPSP.
/pis/{apiGroupVersion}/periodic-payments/{payment-product}
RESPONSES
201
Created
400
Bad Request
401
Unauthorized
403
Forbidden
404
Not Found
405
Method Not Allowed
406
Not Acceptable
415
Unsupported Media Type
429
Too Many Requests
Request
{
"paymentIdentification": {
"instructionId": "PAYMNT-2025-001",
"endToEndId": "E2E-REF-12345"
},
"categoryPurposeProprietary": "3",
"purposeProprietary": "999",
"debtorAccount": {
"iban": "MK07200002785493215",
"currency": "MKD"
},
"creditorAccount": {
"iban": "MK07200003215498765",
"currency": "MKD"
},
"creditor": {
"name": "John Doe"
},
"debtor": {
"name": "ABC Company"
},
"instructedAmount": {
"currency": "MKD",
"amount": "25000.00"
},
"chargeBearer": "SHAR",
"creditorAgent": {
"bic": "KOBSMK2X"
},
"debtorAgent": {
"bic": "EXAMPLEMKXXX"
},
"startDate": "2025-09-01",
"executionRule": "following",
"endDate": "2026-09-01",
"frequency": "MNTH",
"dayOfExecution": "15",
"monthsOfExecution": [
"1",
"4",
"10"
]
}Responses
201
400
401
403
404
405
406
415
429
{
"Valid response": {
"value": {
"paymentId": "e521cf62-a45f-49c5-8372-94853fffeb55,",
"transactionStatus": "RCVD",
"_links": {
"scaRedirect": {
"href": "https://bank.com/sca"
}
}
}
}
}Multi bulk payment Initiation with JSON encoding of the Payment Instruction
Creates a multi bulk payment initiation request at the ASPSP.
/pis/{apiGroupVersion}/multi-bulk-payments/{payment-product}
RESPONSES
201
Created
400
Bad Request
401
Unauthorized
403
Forbidden
404
Not Found
405
Method Not Allowed
406
Not Acceptable
415
Unsupported Media Type
429
Too Many Requests
Request
{
"messageId": "multi-bulk-101",
"creationDateTime": "2022-02-02T13:04:06",
"numberOfTransactions": 2,
"controlSum": "75500",
"initiatingParty": {
"name": "Acme Corporation"
},
"payments": [
{
"paymentInformationId": "bulk-payment 123",
"batchBooking": true,
"categoryPurposeProprietary": "3",
"numberOfTransactions": 2,
"controlSum": "75500",
"debtorAccount": {
"iban": "DE40100100103307118608"
},
"requestedExecutionDate": "2018-08-01",
"creditTransfers": [
{
"paymentIdentification": {
"endToEndId": "Text, maximum of 35 characters."
},
"instructedAmount": {
"currency": "MKD",
"amount": "74000"
},
"creditorAccount": {
"iban": "XX7612345987650123456789014",
"currency": "MKD"
},
"creditor": {
"name": "Text, maximum of 140 characters."
}
},
{
"paymentIdentification": {
"endToEndId": "INV-2025-00234"
},
"instructedAmount": {
"currency": "MKD",
"amount": "1500.00"
},
"creditorAccount": {
"iban": "XX9121000418450200051332",
"currency": "MKD"
},
"creditor": {
"name": "Global Supplies Ltd."
}
}
]
}
]
}Responses
201
400
401
403
404
405
406
415
429
{
"Valid response": {
"value": {
"paymentId": "e521cf62-a45f-49c5-8372-94853fffeb55,",
"groupStatus": "RCVD",
"_links": {
"scaRedirect": {
"href": "https://bank.com/sca"
}
}
}
}
}Bulk Payment Extended Status Request
Can check the overall status of a bulk payment initiation together with reporting rejected transactions. See \"XS2A API as PSD2 Interface Implementation Guidelines \", section \"Get Bulk Extended Status Request\".
/pis/{apiGroupVersion}/multi-bulk-payments/{payment-product}/{payment-id}/extended-status
RESPONSES
200
OK
400
Bad Request
401
Unauthorized
403
Forbidden
404
Not Found
405
Method Not Allowed
406
Not Acceptable
415
Unsupported Media Type
429
Too Many Requests
Request
Responses
200
400
401
403
404
405
406
415
429
{
"PartialRejectionResponse": {
"summary": "Partial rejection",
"value": {
"groupStatus": "PART",
"originalTransactionInformationAndStatus": [
{
"originalUetr": "de2da6c9-18be-48d4-8053-867ed90a316a",
"transactionStatus": "RJCT"
},
{
"originalUetr": "de2da6c9-18be-48d4-8053-867ed90a317a",
"transactionStatus": "RJCT"
}
]
}
}
}Get Status Request
Can check the status of a payment initiation.
/pis/{apiGroupVersion}/multi-bulk-payments/{payment-product}/{payment-id}/status
RESPONSES
200
OK
400
Bad Request
401
Unauthorized
403
Forbidden
404
Not Found
405
Method Not Allowed
406
Not Acceptable
415
Unsupported Media Type
429
Too Many Requests
Request
Responses
200
400
401
403
404
405
406
415
429
{
"Payment accepted": {
"value": {
"groupStatus": "ACCC"
}
},
"No funds": {
"value": {
"apiClientMessages": [
{
"category": "WARNING",
"code": "FUNDS_NOT_AVAILABLE",
"text": "Not enough funds"
}
],
"groupStatus": "RJCT"
}
},
"Content invalid": {
"value": {
"apiClientMessages": [
{
"category": "WARNING",
"code": "CONTENT_INVALID",
"text": "The content of payment has been found invalid after initial acceptance"
}
],
"groupStatus": "RJCT"
}
}
}Get periodic payment details
Returns the content of a periodic payment object.
/pis/{apiGroupVersion}/periodic-payments/{payment-product}/{payment-id}
RESPONSES
200
OK
400
Bad Request
401
Unauthorized
403
Forbidden
404
Not Found
405
Method Not Allowed
406
Not Acceptable
415
Unsupported Media Type
429
Too Many Requests
Request
Responses
200
400
401
403
404
405
406
415
429
{
"Payment accepted": {
"value": {
"paymentIdentification": {
"instructionId": "PAYMNT-2025-001",
"endToEndId": "E2E-REF-12345"
},
"categoryPurposeProprietary": "3",
"purposeProprietary": "999",
"debtorAccount": {
"iban": "MK07200002785493215",
"currency": "MKD"
},
"creditorAccount": {
"iban": "MK07200003215498765",
"currency": "MKD"
},
"creditor": {
"name": "John Doe"
},
"debtor": {
"name": "ABC Company"
},
"instructedAmount": {
"currency": "MKD",
"amount": "25000.00"
},
"chargeBearer": "SHAR",
"creditorAgent": {
"bic": "KOBSMK2X"
},
"debtorAgent": {
"bic": "EXAMPLEMKXXX"
},
"startDate": "2025-09-01",
"executionRule": "following",
"endDate": "2026-09-01",
"frequency": "MNTH",
"dayOfExecution": "15",
"monthsOfExecution": [
"1",
"4",
"10"
],
"transactionStatus": "ACCC",
"_links": {
"scaRedirect": {
"href": "https://bank.com/sca"
}
}
}
},
"No funds": {
"value": {
"paymentIdentification": {
"instructionId": "PAYMNT-2025-001",
"endToEndId": "E2E-REF-12345"
},
"categoryPurposeProprietary": "3",
"purposeProprietary": "999",
"debtorAccount": {
"iban": "MK07200002785493215",
"currency": "MKD"
},
"creditorAccount": {
"iban": "MK07200003215498765",
"currency": "MKD"
},
"creditor": {
"name": "John Doe"
},
"debtor": {
"name": "ABC Company"
},
"instructedAmount": {
"currency": "MKD",
"amount": "25000.00"
},
"chargeBearer": "SHAR",
"creditorAgent": {
"bic": "KOBSMK2X"
},
"debtorAgent": {
"bic": "EXAMPLEMKXXX"
},
"requestedExecutionDate": "2025-09-01",
"requestedExecutionDateTime": "2025-09-01T10:00:00",
"startDate": "2025-09-01",
"executionRule": "following",
"endDate": "2026-09-01",
"frequency": "MNTH",
"dayOfExecution": "15",
"monthsOfExecution": [
"1",
"4",
"10"
],
"_links": {
"scaRedirect": {
"href": "https://bank.com/sca"
}
},
"apiClientMessages": [
{
"category": "WARNING",
"code": "FUNDS_NOT_AVAILABLE",
"text": "Not enough funds"
}
],
"transactionStatus": "RJCT"
}
},
"Content invalid": {
"value": {
"paymentIdentification": {
"instructionId": "PAYMNT-2025-001",
"endToEndId": "E2E-REF-12345"
},
"categoryPurposeProprietary": "3",
"purposeProprietary": "999",
"debtorAccount": {
"iban": "MK07200002785493215",
"currency": "MKD"
},
"creditorAccount": {
"iban": "MK07200003215498765",
"currency": "MKD"
},
"creditor": {
"name": "John Doe"
},
"debtor": {
"name": "ABC Company"
},
"instructedAmount": {
"currency": "MKD",
"amount": "25000.00"
},
"chargeBearer": "SHAR",
"creditorAgent": {
"bic": "KOBSMK2X"
},
"debtorAgent": {
"bic": "EXAMPLEMKXXX"
},
"requestedExecutionDate": "2025-09-01",
"requestedExecutionDateTime": "2025-09-01T10:00:00",
"startDate": "2025-09-01",
"executionRule": "following",
"endDate": "2026-09-01",
"frequency": "MNTH",
"dayOfExecution": "15",
"monthsOfExecution": [
"1",
"4",
"10"
],
"_links": {
"scaRedirect": {
"href": "https://bank.com/sca"
}
},
"apiClientMessages": [
{
"category": "WARNING",
"code": "CONTENT_INVALID",
"text": "The content of payment has been found invalid after initial acceptance"
}
],
"transactionStatus": "RJCT"
}
}
}