Skip to main content

Money Payment Flows

Purpose

Money payment flows enable you to process financial transactions, including incoming and outgoing payments. These endpoints are crucial for handling money movement and for providing transaction details to customers.

When to use

Use these endpoints when executing, monitoring, or verifying payment transactions. This includes transferring funds between accounts, receiving payments from external sources, and generating transaction histories.

Payment Flow Overview

The Revsto API supports two approaches for payment processing:

  1. Multi-step flow: Separate calls to initiate, add transactions, and submit
  2. Direct submission flow: Single call combining all payment details

The multi-step flow provides more flexibility and control, while the direct submission is simpler for straightforward transactions.

Testing Endpoints

You can test these endpoints directly in our API Sandbox.

Retrieve a Transaction

When you need to check the status or details of a specific transaction, use this endpoint.

Endpoint

GEThttps://sandbox.revsto.com/api/distributor/v1/transactions/{transactionId}
Required Scopes: transaction_view
curl -X GET "https://sandbox.revsto.com/api/distributor/v1/transactions/{transactionId}" \
-H "Authorization: Bearer your_api_token"

Sample Response

Transaction Details Response
{
"id": "15044",
"externalId": null,
"processId": 16268,
"type": "ACCOUNT_TO_EXTERNAL",
"localizedType": {
"value": "ACCOUNT_TO_EXTERNAL",
"label": "Settlement of transfer issued"
},
"amount": {
"value": 10000,
"currency": "EUR"
},
"description": "Transfer to Test ltd",
"shortDescription": "Transfer to Test ltd",
"media": "API",
"createdAt": "2025-05-09T09:54:57+03:00",
"businessProcessId": 16268,
"externalData": {
"remittanceInformation": "test",
"debtor": {
"id": "3630",
"name": "My Test Business",
"accountId": "DK6189000021685625",
"bic": "SXPYDKKKXXX"
},
"creditor": {
"name": "Test ltd",
"accountId": "NL24RABO8589312569",
"bic": "RABONL2UXXX"
},
"additionalReferences": {
"remittanceInfo": "test"
}
},
"accountingEntries": [
{
"id": "13209",
"accountId": "10000096916",
"transactionId": "15044",
"externalId": null,
"description": "Transfer to Test ltd (test)",
"type": "TRANSFER",
"amount": {
"value": -10000,
"currency": "EUR"
},
"balance": {
"value": 959921,
"currency": "EUR"
},
"availableBalance": {
"value": 959876,
"currency": "EUR"
},
"createdAt": "2025-05-09T09:54:57+03:00",
"accountOwner": {
"id": "3630",
"name": "My Test Business",
"externalId": null,
"userRole": "COMPANY"
}
}
],
"contributions": [
{
"id": "20792",
"role": "INTERMEDIARY",
"device": null,
"contributor": "3630",
"name": "My Test Business",
"externalId": null,
"userRole": {},
"employee": null,
"supportId": null
},
{
"id": "20793",
"role": "ACCOUNT_OWNER",
"device": null,
"contributor": "3630",
"name": "My Test Business",
"externalId": null,
"userRole": {},
"employee": null,
"supportId": 9727
}
]
}

List Transactions

To retrieve multiple transactions at once, use the payment transactions endpoint.

Endpoint

GEThttps://sandbox.revsto.com/service-domain/v1/payment-transactions
Required Scopes: customer-instruction_view, payment-instruction_view
curl -X GET "https://sandbox.revsto.com/service-domain/v1/payment-transactions" \
-H "Authorization: Bearer your_api_token"

Sample Response

List Transactions Response
{
"items": [
{
"paymentTransactionInformation": {
"paymentInstrument": "CreditTransfer",
"paymentTransactionIdentification": {
"messageId": "NOTPROVIDED",
"endToEndId": "NOTPROVIDED",
"clearingChannel": "RTNS",
"externalTransactionId": "KOY1216vbREVSTOTEST",
"id": 15184
},
"paymentTransactionTypeInformation": {
"serviceLevel": "BACI"
},
"direction": "INWARD"
},
"paymentTransactionInternalInformation": {
"id": 15184,
"status": {
"value": "SETTLED",
"label": "Settled"
},
"history": [
{
"status": {
"value": "INI_STARTED",
"label": "Initiation started"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"date": "2025-04-11T16:12:13+03:00"
},
{
"status": {
"value": "SETTLED",
"label": "Settled"
},
"date": "2025-04-11T16:12:20+03:00",
"previousTransitionId": 104876
}
],
"contractId": 9054
},
"paymentTransactionDateInformation": {
"creationDate": "2025-04-11T16:12:13+03:00",
"instructedDate": "2025-04-11",
"settlementDate": "2025-04-11"
},
"paymentTransactionAmountInformation": {
"instructedAmount": {
"value": 10000000,
"currency": "EUR"
},
"chargesAmount": {
"value": 0,
"currency": "EUR"
}
},
"paymentTransactionParties": {
"debtor": {
"name": "Sureswipe 2",
"accountId": {
"type": "IBAN",
"value": "GB67BARC20035395294697",
"bankId": {
"type": "BIC",
"value": "BARCGB22XXX"
}
}
},
"creditor": {
"name": "REVSTO TESTING",
"id": {
"type": "identityId",
"value": "3467"
},
"accountId": {
"type": "IBAN",
"value": "DK4089000021685518",
"bankId": {
"type": "BIC",
"value": "SXPYDKKKXXX"
}
},
"postalAddress": {
"structuredAddress": {
"streetName": "18 Kyriakou Matsi, Victory Tower,",
"buildingNumber": "1st floor",
"postCode": "1082",
"townName": "Nicosia"
},
"country": "196"
}
}
},
"paymentTransactionDedicatedInformations": {
"remittanceInformation": {
"type": "UNSTRUCTURED",
"value": "remittance information"
}
},
"paymentInstructionId": 15183,
"links": [
{
"rel": "getPaymentInstruction",
"href": "https://sandbox.revsto.com/api/service-domain/v1/payment-instructions/15183"
}
]
},
{
"paymentTransactionInformation": {
"paymentInstrument": "CreditTransfer",
"paymentTransactionIdentification": {
"messageId": "NOTPROVIDED",
"endToEndId": "NOTPROVIDED",
"clearingChannel": "RTNS",
"id": 15237,
"customerInstructionId": 15236
},
"paymentTransactionTypeInformation": {
"serviceLevel": "BACI"
},
"direction": "OUTWARD"
},
"paymentTransactionInternalInformation": {
"id": 15237,
"status": {
"value": "SETTLED",
"label": "Settled"
},
"history": [
{
"status": {
"value": "SUB_STARTED",
"label": "Submission started"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"date": "2025-04-14T12:35:29+03:00"
},
{
"status": {
"value": "SUB_IS_VALID",
"label": "Submission validated"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"date": "2025-04-14T12:35:29+03:00",
"previousTransitionId": 105158
},
{
"status": {
"value": "SUB_INT_CTRL_PASSED",
"label": "Internal checks for submission passed"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"date": "2025-04-14T12:35:29+03:00",
"previousTransitionId": 105163
},
{
"status": {
"value": "SUBMITTED",
"label": "Submitted"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"date": "2025-04-14T12:35:29+03:00",
"previousTransitionId": 105164
},
{
"status": {
"value": "PRO_INT_CTRL_PASSED",
"label": "Internal checks for processing passed"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"date": "2025-04-14T12:35:32+03:00",
"previousTransitionId": 105165
},
{
"status": {
"value": "PRO_DEBIT_HOLD",
"label": "Debit hold"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"date": "2025-04-14T12:35:32+03:00",
"previousTransitionId": 105171
},
{
"status": {
"value": "READY_FOR_EXCHANGE",
"label": "Ready for exchange"
},
"date": "2025-04-14T12:35:32+03:00",
"previousTransitionId": 105172
},
{
"status": {
"value": "EXCHANGED",
"label": "Exchanged"
},
"date": "2025-04-15T10:35:58+03:00",
"previousTransitionId": 105173
},
{
"status": {
"value": "SETTLED",
"label": "Settled"
},
"date": "2025-04-15T10:35:58+03:00",
"previousTransitionId": 106122
}
],
"contractId": 9137
},
"paymentTransactionDateInformation": {
"creationDate": "2025-04-14T12:35:28+03:00",
"instructedDate": "2025-04-14",
"settlementDate": "2025-04-14"
},
"paymentTransactionAmountInformation": {
"instructedAmount": {
"value": 1000000,
"currency": "EUR"
},
"chargesAmount": {
"value": 0,
"currency": "EUR"
}
},
"paymentTransactionParties": {
"initiatingParty": {
"name": "joanna christoforidou",
"id": {
"type": "identityId",
"value": "3490"
}
},
"debtor": {
"name": "REVSTO TESTING",
"id": {
"type": "identityId",
"value": "3467"
},
"accountId": {
"type": "IBAN",
"value": "DK2389000021685533",
"bankId": {
"type": "BIC",
"value": "SXPYDKKKXXX"
}
}
},
"creditor": {
"name": "Test ltd",
"accountId": {
"type": "IBAN",
"value": "NL24RABO8589312569",
"bankId": {
"type": "BIC",
"value": "RABONL2UXXX"
}
}
}
},
"paymentTransactionDedicatedInformations": {
"remittanceInformation": {
"type": "UNSTRUCTURED",
"value": "SEPA C2B testing"
}
},
"customerInstructionId": 15236,
"paymentInstructionId": 15238,
"links": [
{
"rel": "getPaymentInstruction",
"href": "https://sandbox.revsto.com/api/service-domain/v1/payment-instructions/15238"
},
{
"rel": "exchangePaymentInstruction",
"href": "https://sandbox.revsto.com/api/service-domain/v1/outward-payment-instructions/15238/exchange"
},
{
"rel": "refusePaymentInstruction",
"href": "https://sandbox.revsto.com/api/service-domain/v1/outward-payment-instructions/15238/refuse"
}
]
}
],
"count": 2,
"limit": 20,
"offset": 0,
"sort": "+paymentTransactionId"
}

Filtering Transactions

You can filter transactions using query parameters:

ParameterDescriptionExample
statusFilter by transaction status?status=SETTLED
fromDateFilter by start date (ISO format)?fromDate=2023-09-01T00:00:00Z
toDateFilter by end date (ISO format)?toDate=2023-09-30T23:59:59Z
minAmountFilter by minimum amount?minAmount=10
maxAmountFilter by maximum amount?maxAmount=1000
pagePagination page number?page=2
pageSizeItems per page?pageSize=50
note

Please verify filtering capabilities with your specific implementation as some filters may have different behavior.

Multi-Step Payment Flow

The multi-step flow consists of three separate API calls:

  1. Initiate a customer instruction
  2. Add one or more payment transactions
  3. Submit the instruction for processing

Step 1: Initiate Customer Instruction

First, create a new customer instruction to hold the payment details.

Endpoint

POSThttps://sandbox.revsto.com/api/service-domain/v1/customer-instructions/credit-transfers
Required Scopes: customer-instruction_initiation

Code Examples

curl -X POST "https://sandbox.revsto.com/api/service-domain/v1/customer-instructions/credit-transfers" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_api_token" \
-d '{
"customerInstructionInformation": {
"paymentInstrument": "CreditTransfer",
"requestedExecutionDate": "2023-09-20",
"batchBooking": true,
"customerInstructionTypeInformation": {
"serviceLevel": "BACI"
}
},
"customerInstructionOrderingParties": {
"debtor": {
"name": "John Doe",
"accountId": {
"value": "FR7630006000011234567890189",
"type": "IBAN"
}
}
},
"externalData": {
"transferId": "user-ref-001"
}
}'

Request Body

Initiate Customer Instruction Request
{
"customerInstructionInformation": {
"paymentInstrument": "CreditTransfer",
"paymentService": "PAYMENTS",
"batchBooking": true,
"customerInstructionReference": "CINSTR001",
"requestedNbPaymentTransactions": 1,
"requestedTotalAmount": [
{
"value": 2000,
"currency": "EUR"
}
],
"requestedExecutionDate": "2019-08-24",
"customerInstructionTypeInformation": {
"categoryPurpose": "SALA",
"serviceLevel": "BACI"
}
},
"customerInstructionOrderingParties": {
"debtor": {
"name": "My Test Business",
"id": {
"value": "3630",
"type": "identityId"
},
"accountId": {
"value": "DK61 8900 0021 6856 25",
"type": "IBAN",
"bankId": {
"value": "SXPYDKKKXXX",
"type": "BIC"
}
},
"postalAddress": {
"addressLines": "88 rue du dôme, Apt 3",
"country": "250"
}
}
},
"externalData": {
"externalDataKey": "externalDataValue",
"externalDataArray": [1, 2, 3],
"externalDataBool": true
}
}

Sample Response

Initiate Customer Instruction Response
{
"id": 16271,
"status": {
"value": "INITIATED",
"label": "Initiated"
},
"groupStatus": {
"value": "INITIATED",
"label": "Initiated"
},
"history": [
{
"status": {
"value": "INI_STARTED",
"label": "Initiation started"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"date": "2025-05-09T10:53:55+03:00"
},
{
"status": {
"value": "INITIATED",
"label": "Initiated"
},
"groupStatus": {
"value": "INITIATED",
"label": "Initiated"
},
"date": "2025-05-09T10:53:55+03:00",
"previousTransitionId": 112496
}
],
"calculatedNbPaymentTransactions": 0,
"calculatedAmount": {
"value": 0,
"currency": "EUR"
},
"customerInstructionInformation": {
"paymentInstrument": "CreditTransfer",
"paymentService": "PAYMENTS",
"batchBooking": true,
"customerInstructionReference": "CINSTR001",
"requestedNbPaymentTransactions": 1,
"requestedTotalAmount": {
"value": 2000,
"currency": "EUR"
},
"customerInstructionTypeInformation": {
"categoryPurpose": "SALA",
"serviceLevel": "BACI"
},
"requestedExecutionDate": "2019-08-24"
},
"customerInstructionOrderingParties": {
"initiatingParty": {
"name": "joanna christoforidou",
"id": {
"type": "identityId",
"value": "3490"
}
},
"debtor": {
"name": "My Test Business",
"id": {
"type": "identityId",
"value": "3630"
},
"accountId": {
"type": "IBAN",
"value": "DK6189000021685625",
"bankId": {
"type": "BIC",
"value": "SXPYDKKKXXX"
}
},
"postalAddress": {
"addressLines": "88 rue du dôme, Apt 3",
"country": "250"
}
}
},
"externalData": {
"externalDataKey": "externalDataValue",
"externalDataArray": [1, 2, 3],
"externalDataBool": true
},
"links": [
{
"rel": "updateCustomerInstruction",
"href": "https://sandbox.revsto.com/api/service-domain/v1/customer-instructions/credit-transfers/16271"
},
{
"rel": "deleteCustomerInstruction",
"href": "https://sandbox.revsto.com/api/service-domain/v1/customer-instructions/credit-transfers/16271"
},
{
"rel": "getCustomerInstruction",
"href": "https://sandbox.revsto.com/api/service-domain/v1/customer-instructions/16271"
},
{
"rel": "getPaymentTransactionsList",
"href": "https://sandbox.revsto.com/api/service-domain/v1/customer-instructions/16271/payment-transactions"
},
{
"rel": "initiatePaymentTransaction",
"href": "https://sandbox.revsto.com/api/service-domain/v1/customer-instructions/credit-transfers/16271/payment-transactions/"
},
{
"rel": "submitCustomerInstruction",
"href": "https://sandbox.revsto.com/api/service-domain/v1/customer-instructions/credit-transfers/16271/submit"
}
]
}

Step 2: Add Payment Transaction

After initiating the instruction, add one or more payment transactions to it.

Endpoint

POSThttps://sandbox.revsto.com/api/service-domain/v1/customer-instructions/credit-transfers/{customerInstructionId}/payment-transactions
Required Scopes: customer-instruction_initiation

Code Examples

curl -X POST "https://sandbox.revsto.com/api/service-domain/v1/customer-instructions/credit-transfers/{customerInstructionId}/payment-transactions" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_api_token" \
-d '{
"paymentTransactionAmountInformation": {
"instructedAmount": {
"value": 2000,
"currency": "EUR"
},
"chargeBearer": "SLEV"
},
"paymentTransactionParties": {
"creditor": {
"name": "Test ltd",
"accountId": {
"value": "NL24RABO8589312569",
"type": "IBAN",
"bankId": {
"value": "RABONL2UXXX",
"type": "BIC"
}
},
"postalAddress": {
"structuredAddress": {
"streetName": "Rue de la Paix",
"buildingNumber": "10",
"postCode": "75002",
"townName": "Paris"
},
"country": "250"
}
},
"ultimateCreditor": {
"name": "John Doe",
"postalAddress": {
"structuredAddress": {
"streetName": "Rue de la Paix",
"buildingNumber": "10",
"postCode": "75002",
"townName": "Paris"
},
"country": "250"
}
}
},
"paymentTransactionDedicatedInformations": {
"remittanceInformation": {
"value": "Payment billing reference No1234556",
"type": "UNSTRUCTURED"
}
},
"paymentTransactionInformation": {
"paymentTransactionIdentification": {
"messageId": "CINSTR0101"
},
"transactionType": "ACCOUNT_TO_EXTERNAL"
},
"externalData": {
"externalDataKey": "externalDataValue",
"externalDataArray": [1, 2, 3],
"externalDataBool": true
}
}'

Request Body

Add Payment Transaction Request
{
"paymentTransactionAmountInformation": {
"instructedAmount": {
"value": 2000,
"currency": "EUR"
},
"chargeBearer": "SLEV"
},
"paymentTransactionParties": {
"creditor": {
"name": "Test ltd",
"accountId": {
"value": "NL24RABO8589312569",
"type": "IBAN",
"bankId": {
"value": "RABONL2UXXX",
"type": "BIC"
}
},
"postalAddress": {
"structuredAddress": {
"streetName": "Rue de la Paix",
"buildingNumber": "10",
"postCode": "75002",
"townName": "Paris"
},
"country": "250"
}
},
"ultimateCreditor": {
"name": "John Doe",
"postalAddress": {
"structuredAddress": {
"streetName": "Rue de la Paix",
"buildingNumber": "10",
"postCode": "75002",
"townName": "Paris"
},
"country": "250"
}
}
},
"paymentTransactionDedicatedInformations": {
"remittanceInformation": {
"value": "Payment billing reference No1234556",
"type": "UNSTRUCTURED"
}
},
"paymentTransactionInformation": {
"paymentTransactionIdentification": {
"messageId": "CINSTR0101"
},
"transactionType": "ACCOUNT_TO_EXTERNAL"
},
"externalData": {
"externalDataKey": "externalDataValue",
"externalDataArray": [1, 2, 3],
"externalDataBool": true
}
}

Sample Response

Add Payment Transaction Response
{
"paymentTransactionInformation": {
"paymentInstrument": "CreditTransfer",
"paymentTransactionIdentification": {
"messageId": "CINSTR0101",
"endToEndId": "NOTPROVIDED",
"clearingChannel": "RTNS",
"id": 16851,
"customerInstructionId": 16850
},
"paymentTransactionTypeInformation": {
"serviceLevel": "BACI"
},
"direction": "OUTWARD",
"transactionType": "ACCOUNT_TO_EXTERNAL"
},
"paymentTransactionInternalInformation": {
"id": 16851,
"status": {
"value": "INITIATED",
"label": "Initiated"
},
"groupStatus": {
"value": "INITIATED",
"label": "Initiated"
},
"history": [
{
"status": {
"value": "INI_STARTED",
"label": "Initiation started"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"date": "2025-06-10T15:28:37+03:00"
},
{
"status": {
"value": "INI_IS_VALID",
"label": "Initiation validated"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"date": "2025-06-10T15:28:37+03:00",
"previousTransitionId": 116560
},
{
"status": {
"value": "INI_INT_CTRL_PASSED",
"label": "Internal checks for initiation passed"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"date": "2025-06-10T15:28:37+03:00",
"previousTransitionId": 116561
},
{
"status": {
"value": "INITIATED",
"label": "Initiated"
},
"groupStatus": {
"value": "INITIATED",
"label": "Initiated"
},
"date": "2025-06-10T15:28:37+03:00",
"previousTransitionId": 116562
}
],
"contractId": 9727
},
"paymentTransactionDateInformation": {
"creationDate": "2025-06-10T15:28:37+03:00",
"instructedDate": "2025-06-10"
},
"paymentTransactionAmountInformation": {
"instructedAmount": {
"value": 2000,
"currency": "EUR"
},
"chargesAmount": {
"value": 0,
"currency": "EUR"
},
"chargeBearer": "SLEV"
},
"paymentTransactionParties": {
"initiatingParty": {
"name": "joanna christoforidou",
"id": {
"type": "identityId",
"value": "3490"
}
},
"debtor": {
"name": "My Test Business",
"id": {
"type": "identityId",
"value": "3630"
},
"accountId": {
"type": "IBAN",
"value": "DK6189000021685625",
"bankId": {
"type": "BIC",
"value": "SXPYDKKKXXX"
}
},
"postalAddress": {
"addressLines": "88 rue du dôme, Apt 3",
"country": "250"
}
},
"creditor": {
"name": "Test ltd",
"accountId": {
"type": "IBAN",
"value": "NL24RABO8589312569",
"bankId": {
"type": "BIC",
"value": "RABONL2UXXX"
}
},
"postalAddress": {
"structuredAddress": {
"streetName": "Rue de la Paix",
"buildingNumber": "10",
"postCode": "75002",
"townName": "Paris"
},
"country": "250"
}
},
"ultimateCreditor": {
"name": "John Doe",
"postalAddress": {
"structuredAddress": {
"streetName": "Rue de la Paix",
"buildingNumber": "10",
"postCode": "75002",
"townName": "Paris"
},
"country": "250"
}
}
},
"paymentTransactionDedicatedInformations": {
"remittanceInformation": {
"type": "UNSTRUCTURED",
"value": "Payment billing reference No1234556"
}
},
"customerInstructionId": 16850,
"externalData": {
"externalDataKey": "externalDataValue",
"externalDataArray": [
1,
2,
3
],
"externalDataBool": true
},
"links": [
{
"rel": "updatePaymentTransaction",
"href": "https://sandbox.revsto.com/api/service-domain/v1/customer-instructions/credit-transfers/payment-transactions/16851"
},
{
"rel": "deletePaymentTransaction",
"href": "https://sandbox.revsto.com/api/service-domain/v1/customer-instructions/credit-transfers/payment-transactions/16851"
},
{
"rel": "getPaymentTransaction",
"href": "https://sandbox.revsto.com/api/service-domain/v1/payment-transactions/16851"
},
{
"rel": "getCustomerInstruction",
"href": "https://sandbox.revsto.com/api/service-domain/v1/customer-instructions/16850"
},
{
"rel": "initiatePaymentTransaction",
"href": "https://sandbox.revsto.com/api/service-domain/v1/customer-instructions/credit-transfers/16850/payment-transactions/"
},
{
"rel": "submitCustomerInstruction",
"href": "https://sandbox.revsto.com/api/service-domain/v1/customer-instructions/credit-transfers/16850/submit"
}
]
}

Step 3: Submit Customer Instruction

Finally, submit the instruction for processing.

Endpoint

POSThttps://sandbox.revsto.com/api/service-domain/v1/customer-instructions/credit-transfers/{customerInstructionId}/submit
Required Scopes: customer-instruction_submission
curl -X POST "https://sandbox.revsto.com/api/service-domain/v1/customer-instructions/credit-transfers/{customerInstructionId}/submit" \
-H "Authorization: Bearer your_api_token"
note

This endpoint does not require a request body. The submission is handled via the URL parameters.

Sample Response (201 Created)

Submit Customer Instruction Response
{
"id": 16850,
"status": {
"value": "SUB_REQUIRED",
"label": "Submission required"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"history": [
{
"status": {
"value": "INI_STARTED",
"label": "Initiation started"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"date": "2025-06-10T15:28:14+03:00"
},
{
"status": {
"value": "INI_IS_VALID",
"label": "Initiation validated"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"date": "2025-06-10T15:28:14+03:00",
"previousTransitionId": 116554
},
{
"status": {
"value": "INI_IS_VALID",
"label": "Initiation validated"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"date": "2025-06-10T15:28:14+03:00",
"previousTransitionId": 116555
},
{
"status": {
"value": "INI_IS_VALID",
"label": "Initiation validated"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"date": "2025-06-10T15:28:14+03:00",
"previousTransitionId": 116556
},
{
"status": {
"value": "INI_INT_CTRL_PASSED",
"label": "Internal checks for initiation passed"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"date": "2025-06-10T15:28:14+03:00",
"previousTransitionId": 116557
},
{
"status": {
"value": "INITIATED",
"label": "Initiated"
},
"groupStatus": {
"value": "INITIATED",
"label": "Initiated"
},
"date": "2025-06-10T15:28:14+03:00",
"previousTransitionId": 116558
},
{
"status": {
"value": "SUB_STARTED",
"label": "Submission started"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"date": "2025-06-10T15:35:48+03:00",
"previousTransitionId": 116559
},
{
"status": {
"value": "SUB_IS_VALID",
"label": "Submission validated"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"date": "2025-06-10T15:35:48+03:00",
"previousTransitionId": 116564
},
{
"status": {
"value": "SUB_IS_VALID",
"label": "Submission validated"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"date": "2025-06-10T15:35:48+03:00",
"previousTransitionId": 116565
},
{
"status": {
"value": "SUB_INT_CTRL_PASSED",
"label": "Internal checks for submission passed"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"date": "2025-06-10T15:35:48+03:00",
"previousTransitionId": 116566
},
{
"status": {
"value": "SUB_REQUIRED",
"label": "Submission required"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"date": "2025-06-10T15:35:48+03:00",
"previousTransitionId": 116567
}
],
"calculatedNbPaymentTransactions": 1,
"calculatedAmount": {
"value": 2000,
"currency": "EUR"
},
"paymentTransactionsStatus": [
{
"groupStatus": "PROCESSABLE",
"nbTransactions": 1,
"totalAmount": {
"value": 2000,
"currency": "EUR"
}
}
],
"customerInstructionInformation": {
"paymentInstrument": "CreditTransfer",
"paymentService": "PAYMENTS",
"batchBooking": true,
"customerInstructionReference": "CINSTR0101",
"requestedNbPaymentTransactions": 1,
"requestedTotalAmount": {
"value": 2000,
"currency": "EUR"
},
"customerInstructionTypeInformation": {
"categoryPurpose": "SALA",
"serviceLevel": "BACI"
},
"requestedExecutionDate": "2025-06-10"
},
"customerInstructionOrderingParties": {
"initiatingParty": {
"name": "joanna christoforidou",
"id": {
"type": "identityId",
"value": "3490"
}
},
"debtor": {
"name": "My Test Business",
"id": {
"type": "identityId",
"value": "3630"
},
"accountId": {
"type": "IBAN",
"value": "DK6189000021685625",
"bankId": {
"type": "BIC",
"value": "SXPYDKKKXXX"
}
},
"postalAddress": {
"addressLines": "88 rue du dôme, Apt 3",
"country": "250"
}
}
},
"externalData": {
"externalDataKey": "externalDataValue",
"externalDataArray": [
1,
2,
3
],
"externalDataBool": true
},
"links": [
{
"rel": "getCustomerInstruction",
"href": "https://sandbox.revsto.com/api/service-domain/v1/customer-instructions/16850"
},
{
"rel": "getPaymentTransactionsList",
"href": "https://sandbox.revsto.com/api/service-domain/v1/customer-instructions/16850/payment-transactions"
}
]
}

Direct Payment Submission

For simpler use cases, you can submit a payment in a single API call.

Endpoint

POSThttps://sandbox.revsto.com/api/service-domain/v1/customer-instructions/credit-transfers/submit
Required Scopes: customer-instruction_submit

Code Examples

curl -X POST "https://sandbox.revsto.com/api/service-domain/v1/customer-instructions/credit-transfers/submit" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_api_token" \
-d '{
"customerInstructionInformation": {
"paymentInstrument": "CreditTransfer",
"requestedExecutionDate": "2023-09-20",
"batchBooking": true,
"customerInstructionTypeInformation": {
"serviceLevel": "BACI"
}
},
"customerInstructionOrderingParties": {
"debtor": {
"name": "Test Client",
"accountId": {
"value": "DK9889000021345847",
"type": "IBAN",
"bankId": {
"value": "SXPYDKKKXXX",
"type": "BIC"
}
}
}
},
"externalData": {
"transferId": "test-external"
},
"paymentTransaction": {
"paymentTransactionDedicatedInformations": {
"remittanceInformation": {
"value": "Revsto testing",
"type": "UNSTRUCTURED"
}
},
"paymentTransactionAmountInformation": {
"instructedAmount": {
"currency": "EUR",
"value": "10"
}
},
"paymentTransactionParties": {
"creditor": {
"name": "Test ltd",
"accountId": {
"value": "NL24RABO8589312569",
"type": "IBAN"
}
},
"postalAddress": {
"addressLines": "line Address",
"structuredAddress": {
"streetName": "street1",
"buildingNumber": "123",
"postCode": "2023",
"townName": "Berlin"
},
"country": "826"
}
}
}
}'

Request Body

Direct Payment Submission Request
{
"customerInstructionInformation": {
"paymentInstrument": "CreditTransfer",
"requestedExecutionDate": "2023-09-20",
"batchBooking": true,
"customerInstructionTypeInformation": {
"serviceLevel": "BACI"
}
},
"customerInstructionOrderingParties": {
"debtor": {
"name": "Test Client",
"accountId": {
"value": "DK9889000021345847",
"type": "IBAN",
"bankId": {
"value": "SXPYDKKKXXX",
"type": "BIC"
}
}
}
},
"externalData": {
"transferId": "test-external"
},
"paymentTransaction": {
"paymentTransactionDedicatedInformations": {
"remittanceInformation": {
"value": "Revsto testing",
"type": "UNSTRUCTURED"
}
},
"paymentTransactionAmountInformation": {
"instructedAmount": {
"currency": "EUR",
"value": "10"
}
},
"paymentTransactionParties": {
"creditor": {
"name": "Test ltd",
"accountId": {
"value": "NL24RABO8589312569",
"type": "IBAN"
}
},
"postalAddress": {
"addressLines": "line Address",
"structuredAddress": {
"streetName": "street1",
"buildingNumber": "123",
"postCode": "2023",
"townName": "Berlin"
},
"country": "826"
}
}
}
}

Sample Response

Direct Payment Submission Response
{
"id": 16263,
"status": {
"value": "READY_FOR_PROCESSING",
"label": "Ready for processing"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"history": [
{
"status": {
"value": "SUB_STARTED",
"label": "Submission started"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"date": "2025-05-09T09:17:57+03:00"
},
{
"status": {
"value": "READY_FOR_PROCESSING",
"label": "Ready for processing"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"date": "2025-05-09T09:17:57+03:00",
"previousTransitionId": 112439
}
],
"calculatedNbPaymentTransactions": 1,
"paymentTransactionsStatus": [
{
"groupStatus": "PROCESSABLE",
"nbTransactions": 1,
"totalAmount": {
"value": 17559,
"currency": "EUR"
}
}
],
"customerInstructionInformation": {
"paymentInstrument": "CreditTransfer",
"paymentService": "PAYMENTS",
"batchBooking": true,
"requestedNbPaymentTransactions": 1,
"requestedTotalAmount": {
"value": 17559,
"currency": "EUR"
},
"customerInstructionTypeInformation": {
"serviceLevel": "BACI"
},
"requestedExecutionDate": "2025-05-09"
},
"customerInstructionOrderingParties": {
"initiatingParty": {
"name": "joanna christoforidou",
"id": {
"type": "identityId",
"value": "3490"
}
},
"debtor": {
"name": "My Test Business",
"id": {
"type": "identityId",
"value": "3630"
},
"accountId": {
"type": "IBAN",
"value": "DK6189000021685625",
"bankId": {
"type": "BIC",
"value": "SXPYDKKKXXX"
}
}
}
},
"externalData": {
"transferId": "testING-external"
},
"paymentTransaction": {
"paymentTransactionInformation": {
"paymentInstrument": "CreditTransfer",
"paymentTransactionIdentification": {
"messageId": "NOTPROVIDED",
"endToEndId": "NOTPROVIDED",
"clearingChannel": "BOOK",
"id": 16264,
"customerInstructionId": 16263
},
"paymentTransactionTypeInformation": {
"serviceLevel": "ON_US"
},
"direction": "OUTWARD"
},
"paymentTransactionInternalInformation": {
"id": 16264,
"status": {
"value": "SUBMITTED",
"label": "Submitted"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"history": [
{
"status": {
"value": "SUB_STARTED",
"label": "Submission started"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"date": "2025-05-09T09:17:57+03:00"
},
{
"status": {
"value": "SUBMITTED",
"label": "Submitted"
},
"groupStatus": {
"value": "IN_PROGRESS",
"label": "In Progress"
},
"date": "2025-05-09T09:17:57+03:00",
"previousTransitionId": 112437
}
],
"contractId": 9727
},
"paymentTransactionDateInformation": {
"creationDate": "2025-05-09T09:17:57+03:00",
"instructedDate": "2025-05-09"
},
"paymentTransactionAmountInformation": {
"instructedAmount": {
"value": 17559,
"currency": "EUR"
},
"chargesAmount": {
"value": 0,
"currency": "EUR"
}
},
"paymentTransactionParties": {
"initiatingParty": {
"name": "joanna christoforidou",
"id": {
"type": "identityId",
"value": "3490"
}
},
"debtor": {
"name": "My Test Business",
"id": {
"type": "identityId",
"value": "3630"
},
"accountId": {
"type": "IBAN",
"value": "DK6189000021685625",
"bankId": {
"type": "BIC",
"value": "SXPYDKKKXXX"
}
}
},
"creditor": {
"name": "Test ltd",
"id": {
"type": "identityId",
"value": "3558"
},
"accountId": {
"type": "IBAN",
"value": "DK2589000021685594",
"bankId": {
"type": "BIC",
"value": "SXPYDKKKXXX"
}
}
}
},
"paymentTransactionDedicatedInformations": {
"remittanceInformation": {
"type": "UNSTRUCTURED",
"value": "testing"
}
},
"customerInstructionId": 16263,
"links": [
{
"rel": "getPaymentTransaction",
"href": "https://sandbox.revsto.com/api/service-domain/v1/payment-transactions/16264"
},
{
"rel": "getCustomerInstruction",
"href": "https://sandbox.revsto.com/api/service-domain/v1/customer-instructions/16263"
}
]
}

Transaction Status Values

StatusDescription
INI_STARTEDInitiation process has started
INI_IS_VALIDInitiation has been validated
INI_INT_CTRL_PASSEDInternal checks for initiation have passed
INITIATEDTransaction has been initiated
SUB_STARTEDSubmission process has started
SUB_IS_VALIDSubmission has been validated
SUB_INT_CTRL_PASSEDInternal checks for submission have passed
SUBMITTEDTransaction has been submitted for processing
PRO_INT_CTRL_PASSEDInternal checks for processing have passed
PRO_DEBIT_HOLDDebit hold has been placed
READY_FOR_EXCHANGETransaction is ready for exchange
READY_FOR_PROCESSINGTransaction is ready for processing
EXCHANGEDTransaction has been exchanged
SETTLEDTransaction has been settled (completed)
FAILEDTransaction processing failed
REJECTEDTransaction was rejected
CANCELLEDTransaction was cancelled before processing

Transaction Types

TypeDescription
CREDIT_TRANSFERStandard credit transfer (sending money)
ACCOUNT_TO_EXTERNALTransfer from account to external recipient
INTERNAL_TRANSFERTransfer between accounts at the same institution
FEEFee transaction
REFUNDRefund of a previous transaction
DISTRIBUTOR_POSTINGInternal distributor posting transaction
note

Direct debit transactions are not currently supported by the platform.

Required Payment Information

When creating payment transactions, ensure you provide all required information:

Debtor Information (Sender)

  • Account identifier (IBAN)
  • Name
  • Optional BIC/SWIFT

Creditor Information (Recipient)

  • Account identifier (IBAN)
  • Name
  • Optional BIC/SWIFT
  • Optional postal address

Amount Information

  • Value (decimal as string)
  • Currency code (e.g., "EUR")

Payment Details

  • Remittance information
  • Payment reference
  • Payment type information

Best Practices

  1. Error Handling: Implement robust error handling for payment flows. Always check the response status and handle errors appropriately.

  2. Idempotency: Generate unique references for payments to avoid duplicates if a request is retried.

  3. Transaction Reconciliation: Regularly reconcile transactions to ensure all payments are accounted for.

  4. Status Monitoring: Use webhooks to get real-time updates on transaction statuses instead of polling.

  5. Testing: Always test payment flows thoroughly in the sandbox environment before going to production.

Security Considerations

Payment operations involve money movement and require additional security precautions:

  1. Access Control: Restrict access to payment APIs to authorized personnel only.

  2. Transaction Limits: Implement limits on transaction amounts and frequencies.

  3. Audit Trail: Maintain comprehensive logs of all payment operations.

  4. Dual Authorization: Consider requiring multiple approvals for high-value payments.

caution

Always verify account details before initiating payments. IBAN/account number errors can result in payments being sent to incorrect recipients.