# Transactions

Version: 1.0

## Servers

Sandbox
```
https://api.solaris-sandbox.de
```

Production
```
https://api.solarisbank.de
```

## Download OpenAPI description

[Transactions](https://docs.solarisgroup.com/_bundle/api-reference/digital-banking/transactions.yaml)

## Cash Operations (Viacash)

### Request a cash operation

 - [POST /v1/persons/{person_id}/accounts/{account_id}/cash_operations](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/cash-operations-(viacash)/solaris_account_cash_service_cash_operations_create.md): This method requests the creation of a cash operation barcode for the customer to present at the POS of a participating Viacash retailer. Note that this endpoint requires a change request. Once the customer confirms the change request, Viafintech processes the request and then the Solaris API returns a payload containing an EAN-13 barcode with an expiration date and a status. Each person may only have one active (i.e., PENDING/CREATED) cash operation request of each type (payin/payout) at a time. Ensure that the amount of the cash operation falls within the allowed range and does not exceed any daily limits. See the Viacash documentation for more information about limits.

### Retrieve a cash operation

 - [GET /v1/cash_operations/{cash_operation_id}](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/cash-operations-(viacash)/solaris_account_cash_service_cash_operations_find.md): Returns the cash operation specified in the request URL.

### Cancel a cash operation

 - [DELETE /v1/cash_operations/{cash_operation_id}](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/cash-operations-(viacash)/solaris_account_cash_service_cash_operations_delete.md): Cancels the cash operation specified in the request URL. You can only use this endpoint to cancel cash operations with a status of PENDING or CREATED. This method will trigger the CASH_OPERATION_STATUS_CHANGED webhook.

### (Sandbox only) Test cash operation process

 - [PATCH /v1/cash_operations/{cash_operation_id}](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/cash-operations-(viacash)/solaris_account_cash_service_cash_operations_emulate-events.md): This endpoint allows you to manually update the status of a cash operation. You may only use this endpoint on Sandbox. You may only use this endpoint on cash operations with a status of CREATED, and you may only supply the values PAID, CANCELED, or EXPIRED.

### List all cash operations for an account

 - [GET /v1/accounts/{account_id}/cash_operations](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/cash-operations-(viacash)/solaris_account_cash_service_cash_operations_all.md): Returns a paginated list of all associated with the customer account specified in the request URL.

## Clearing transactions

### Index clearing profiles

 - [GET /v1/clearing_profiles](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/clearing-transactions/paths/~1v1~1clearing_profiles/get.md): Returns an array containing all clearing profiles under your control.

### Create a credit clearing transaction

 - [POST /v1/accounts/{account_id}/credit_clearing_transactions](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/clearing-transactions/paths/~1v1~1accounts~1%7Baccount_id%7D~1credit_clearing_transactions/post.md): Creates a credit clearing transaction on the account specified in the request URL. The funds will be sent from this account to the account defined in the clearing profile sent in the request body.

### Create debit clearing transaction

 - [POST /v1/accounts/{account_id}/debit_clearing_transactions](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/clearing-transactions/paths/~1v1~1accounts~1%7Baccount_id%7D~1debit_clearing_transactions/post.md): Creates a debit clearing transaction to the account specified in the request URL. Funds will be drawn from the account defined in the clearing profile to the account in the URL.

### Get a clearing transaction

 - [GET /v1/accounts/{account_id}/clearing_transactions/{clearing_transaction_id}](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/clearing-transactions/paths/~1v1~1accounts~1%7Baccount_id%7D~1clearing_transactions~1%7Bclearing_transaction_id%7D/get.md): Returns the clearing transaction specified in the request URL.

## Instant Top-Ups

### Create a Top-Up

 - [POST /v1/persons/{person_id}/accounts/{account_id}/topups](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/instant-top-ups/paths/~1v1~1persons~1%7Bperson_id%7D~1accounts~1%7Baccount_id%7D~1topups/post.md): Creates a Top-Up for the person's account specified in the request URL.
Calling this endpoint will begin the payment process with Solaris and its
acquiring partner (e.g., Stripe). Note that you must provide the
returned client_secret to the Acquirer's SDK (e.g., the Stripe
PaymentIntent).

### Index Top-Ups for a person's account

 - [GET /v1/persons/{person_id}/accounts/{account_id}/topups](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/instant-top-ups/paths/~1v1~1persons~1%7Bperson_id%7D~1accounts~1%7Baccount_id%7D~1topups/get.md): Returns an array containing all Top-Ups for the person's account specified
in the request URL.

### Retrieve a Top-Up

 - [GET /v1/persons/{person_id}/accounts/{account_id}/topups/{topup_id}](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/instant-top-ups/paths/~1v1~1persons~1%7Bperson_id%7D~1accounts~1%7Baccount_id%7D~1topups~1%7Btopup_id%7D/get.md): Returns the Top-Up with the ID specified in the request URL.

### Cancel a Top-Up

 - [POST /v1/persons/{person_id}/accounts/{account_id}/topups/{topup_id}/cancel](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/instant-top-ups/paths/~1v1~1persons~1%7Bperson_id%7D~1accounts~1%7Baccount_id%7D~1topups~1%7Btopup_id%7D~1cancel/post.md): Cancels the Top-Up specified in the request URL. Specify the reason for the
cancellation in the request body.

## Instant Top-Up Payment Methods

### Index payment methods for a person

 - [GET /v1/persons/{person_id}/topups/payment_methods](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/instant-top-up-payment-methods/paths/~1v1~1persons~1%7Bperson_id%7D~1topups~1payment_methods/get.md): Returns an array containing all payment methods that have been stored for
the person specified in the request URL.

### Delete a payment method

 - [DELETE /v1/persons/{person_id}/topups/payment_methods/{payment_method_id}](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/instant-top-up-payment-methods/paths/~1v1~1persons~1%7Bperson_id%7D~1topups~1payment_methods~1%7Bpayment_method_id%7D/delete.md): Deletes the payment method with the ID specified in the request URL.

## Intra-customer transfers

### Create intra-customer transfer

 - [POST /v1/persons/{person_id}/accounts/{account_id}/transactions/intra_customer_transfer](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/intra-customer-transfers/paths/~1v1~1persons~1%7Bperson_id%7D~1accounts~1%7Baccount_id%7D~1transactions~1intra_customer_transfer/post.md): Initiates a transaction between the main- and sub-account of a single customer. This transaction does not require a change request. Both the account owner and any authorized person on the account may initiate this type of transaction.

## Prepaid accounts

### Top up a prepaid card

 - [POST /v1/accounts/{account_id}/transactions/intra_emoney_payin](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/prepaid-accounts/paths/~1v1~1accounts~1%7Baccount_id%7D~1transactions~1intra_emoney_payin/post.md): Tops up a prepaid card by transferring money from an EMONEY_PREPAID_POOLING account to an EMONEY_PREPAID account.

### Pay out from prepaid card to prepaid pooling account

 - [POST /v1/accounts/{account_id}/transactions/intra_emoney_payout](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/prepaid-accounts/paths/~1v1~1accounts~1%7Baccount_id%7D~1transactions~1intra_emoney_payout/post.md): Pays out money from a prepaid card by transferring money from an EMONEY_PREPAID account to an EMONEY_PREPAID_POOLING account.

### Create prepaid account credit transfer

 - [POST /v1/accounts/{account_id}/transactions/intra_emoney_transfer](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/prepaid-accounts/paths/~1v1~1accounts~1%7Baccount_id%7D~1transactions~1intra_emoney_transfer/post.md): Transfers money between an EMONEY_PREPAID_POOLING and an EMONEY_PARKING account.

## Partner remittances

### Index partner remittances

 - [GET /v1/partner_remittances](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/partner-remittances/paths/~1v1~1partner_remittances/get.md): Returns an array containing all partner remittances for all of your customers.

### Create a partner remittance

 - [POST /v1/accounts/{account_id}/partner_remittances](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/partner-remittances/paths/~1v1~1accounts~1%7Baccount_id%7D~1partner_remittances/post.md): Creates a partner remittance transaction for the account specified in the request URL. Note that this endpoint requires a change request.

### Refund a partner remittance

 - [PATCH /v1/accounts/{account_id}/partner_remittances/{partner_remittance_id}/refund](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/partner-remittances/paths/~1v1~1accounts~1%7Baccount_id%7D~1partner_remittances~1%7Bpartner_remittance_id%7D~1refund/patch.md): Initiates the refund process for a partner remittance. Use this endpoint if you cannot credit the recipient's account, e.g., due to the beneficiary account being closed or blocked. When the refund is completed, you will receive a BOOKING webhook notification for the sender's account, and the status of the partner remittance will change to returned. Note that you may only use this endpoints on partner remittances with a status of COMPLETED.

### Show a partner remittance

 - [GET /v1/accounts/{account_id}/partner_remittances/{partner_remittance_id}](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/partner-remittances/paths/~1v1~1accounts~1%7Baccount_id%7D~1partner_remittances~1%7Bpartner_remittance_id%7D/get.md): Returns the partner remittance specified in the request URL.

## Reference account payouts

### Initiate payout to a specific person reference account

 - [POST /v1/persons/{person_id}/accounts/{account_id}/reference_accounts/{reference_account_id}/payouts](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/reference-account-payouts/paths/~1v1~1persons~1%7Bperson_id%7D~1accounts~1%7Baccount_id%7D~1reference_accounts~1%7Breference_account_id%7D~1payouts/post.md): Initiates a payout to the person reference account specified in the request URL. Note: Requests to this endpoint must be confirmed using the change request process.

### Index payouts to a specific person reference account

 - [GET /v1/persons/{person_id}/accounts/{account_id}/reference_accounts/{reference_account_id}/payouts](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/reference-account-payouts/paths/~1v1~1persons~1%7Bperson_id%7D~1accounts~1%7Baccount_id%7D~1reference_accounts~1%7Breference_account_id%7D~1payouts/get.md): Returns an array containing all payouts made to the particular reference account specified in the request URL.

### Initiate a payout to a business' reference account

 - [POST /v1/businesses/{business_id}/accounts/{account_id}/reference_accounts/{reference_account_id}/payouts](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/reference-account-payouts/paths/~1v1~1businesses~1%7Bbusiness_id%7D~1accounts~1%7Baccount_id%7D~1reference_accounts~1%7Breference_account_id%7D~1payouts/post.md): Initiates a payout from a business' wallet to the specific reference account specified in the request URL. Requests to this endpoint must be confirmed using the change request process.

### Index reference account payouts for a business account

 - [GET /v1/businesses/{business_id}/accounts/{account_id}/reference_accounts/{reference_account_id}/payouts](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/reference-account-payouts/paths/~1v1~1businesses~1%7Bbusiness_id%7D~1accounts~1%7Baccount_id%7D~1reference_accounts~1%7Breference_account_id%7D~1payouts/get.md): Returns an array containing all reference account payouts for the business account specified in the request URL.

### Initiate business reference account payout

 - [POST /v1/businesses/{business_id}/accounts/{account_id}/reference_account_payouts](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/reference-account-payouts/paths/~1v1~1businesses~1%7Bbusiness_id%7D~1accounts~1%7Baccount_id%7D~1reference_account_payouts/post.md): Initiates a payout from a business' wallet to its associated reference account.Note: Requests to this endpoint must be confirmed using the change request process.

### Index business reference account payouts

 - [GET /v1/businesses/{business_id}/accounts/{account_id}/reference_account_payouts](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/reference-account-payouts/paths/~1v1~1businesses~1%7Bbusiness_id%7D~1accounts~1%7Baccount_id%7D~1reference_account_payouts/get.md): Returns an array containing all wallet payouts to the business reference account specified in the request URL.

### Retrieve a business reference account payout

 - [GET /v1/businesses/{business_id}/accounts/{account_id}/reference_account_payouts/{id}](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/reference-account-payouts/paths/~1v1~1businesses~1%7Bbusiness_id%7D~1accounts~1%7Baccount_id%7D~1reference_account_payouts~1%7Bid%7D/get.md): Retrieves the business reference account payout specified in the request URL.

### Initiate reference account payout to a person

 - [POST /v1/persons/{person_id}/accounts/{account_id}/reference_account_payouts](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/reference-account-payouts/paths/~1v1~1persons~1%7Bperson_id%7D~1accounts~1%7Baccount_id%7D~1reference_account_payouts/post.md): Initiates a payout from a person's wallet to their reference account. Note: Requests to this endpoint must be confirmed using the change request process.

### Index reference account payouts to a person

 - [GET /v1/persons/{person_id}/accounts/{account_id}/reference_account_payouts](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/reference-account-payouts/paths/~1v1~1persons~1%7Bperson_id%7D~1accounts~1%7Baccount_id%7D~1reference_account_payouts/get.md): Returns an array containing all payouts to a person's reference account.

### Retrieve a reference account payout to a person

 - [GET /v1/persons/{person_id}/accounts/{account_id}/reference_account_payouts/{id}](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/reference-account-payouts/paths/~1v1~1persons~1%7Bperson_id%7D~1accounts~1%7Baccount_id%7D~1reference_account_payouts~1%7Bid%7D/get.md): Returns a specific reference account payout to a person based on the ID specified in the request URL.

### Retrieve a payout to a person's reference account

 - [GET /v1/persons/{person_id}/accounts/{account_id}/reference_accounts/{reference_account_id}/payouts/{id}](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/reference-account-payouts/paths/~1v1~1persons~1%7Bperson_id%7D~1accounts~1%7Baccount_id%7D~1reference_accounts~1%7Breference_account_id%7D~1payouts~1%7Bid%7D/get.md): Returns a specific payout to a specific reference account.

### Retrieve a payout to a business reference account

 - [GET /v1/businesses/{business_id}/accounts/{account_id}/reference_accounts/{reference_account_id}/payouts/{id}](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/reference-account-payouts/paths/~1v1~1businesses~1%7Bbusiness_id%7D~1accounts~1%7Baccount_id%7D~1reference_accounts~1%7Breference_account_id%7D~1payouts~1%7Bid%7D/get.md): Returns a specific payout to a specific reference account.

### Initiate a payout to a reference account

 - [POST /v1/accounts/{account_id}/reference_account_payouts](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/reference-account-payouts/paths/~1v1~1accounts~1%7Baccount_id%7D~1reference_account_payouts/post.md): Initiates a payout to the reference account specified in the request payout. The specified reference account must be associated with the account specified in the request path. Payout will be executed after 2FA confirmation. This endpoint allows the payout from reference account without scoping to a person or business id. Also, this endpoint allows the use of credit line balance when set up in the partner configuration.

## Transfer requests

### Create transfer request

 - [POST /v1/accounts/{account_id}/transfer_requests](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/transfer-requests/paths/~1v1~1accounts~1%7Baccount_id%7D~1transfer_requests/post.md): Creates a transfer request and associates it with the account specified in the request URL. This method will create a reservation on the account for the amount specified in the transfer request.

### Index transfer requests for an account

 - [GET /v1/accounts/{account_id}/transfer_requests](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/transfer-requests/paths/~1v1~1accounts~1%7Baccount_id%7D~1transfer_requests/get.md): Returns an array containing all transfer requests associated with the account specified in the request URL.

### Retrieve a transfer request

 - [GET /v1/accounts/{account_id}/transfer_requests/{transfer_request_id}](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/transfer-requests/paths/~1v1~1accounts~1%7Baccount_id%7D~1transfer_requests~1%7Btransfer_request_id%7D/get.md): Returns information about the transfer request specified in the request URL.

### Index transfer request executions

 - [GET /v1/accounts/{account_id}/transfer_requests/{transfer_request_id}/executions](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/transfer-requests/paths/~1v1~1accounts~1%7Baccount_id%7D~1transfer_requests~1%7Btransfer_request_id%7D~1executions/get.md): Returns an array containing all transfer request executions for the account specified in the request URL.

### Execute a transfer request

 - [POST /v1/accounts/{account_id}/transfer_requests/{transfer_request_id}/executions](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/transfer-requests/paths/~1v1~1accounts~1%7Baccount_id%7D~1transfer_requests~1%7Btransfer_request_id%7D~1executions/post.md): Executes the transfer request specified in the request URL. Note that you can execute a transfer request for less than or equal to the transfer request amount. In case the amount is lower, a new reservation of the remaining amount will be created and the associated reservation_id of the transfer request will be updated. You must then release the previous reservation using PATCH Resolve a transfer request.

### Resolve a transfer request

 - [PATCH /v1/accounts/{account_id}/transfer_requests/{transfer_request_id}/resolve](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/transfer-requests/paths/~1v1~1accounts~1%7Baccount_id%7D~1transfer_requests~1%7Btransfer_request_id%7D~1resolve/patch.md): Trigger release of reservation amount

## (Legacy) Money Transfer

### Show account

 - [GET /v1/money_transfer/account](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/(legacy)-money-transfer/paths/~1v1~1money_transfer~1account/get.md): Return account with id

### Index Booking

 - [GET /v1/money_transfer/account/bookings](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/(legacy)-money-transfer/paths/~1v1~1money_transfer~1account~1bookings/get.md): Return all bookings for account

### Index customers balances

 - [GET /v1/money_transfer/customers/balances](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/(legacy)-money-transfer/paths/~1v1~1money_transfer~1customers~1balances/get.md): List of customers balances

### Index customers

 - [GET /v1/money_transfer/customers](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/(legacy)-money-transfer/paths/~1v1~1money_transfer~1customers/get.md): Index customers

### Create Customer

 - [POST /v1/money_transfer/customers](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/(legacy)-money-transfer/paths/~1v1~1money_transfer~1customers/post.md): Create Customer for Partner

### Show customers balance

 - [GET /v1/money_transfer/customers/{id}/balance](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/(legacy)-money-transfer/paths/~1v1~1money_transfer~1customers~1%7Bid%7D~1balance/get.md): Show customers balance

### Show Customer

 - [GET /v1/money_transfer/customers/{id}](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/(legacy)-money-transfer/paths/~1v1~1money_transfer~1customers~1%7Bid%7D/get.md): Show Customer for Partner

### Update Customer

 - [PATCH /v1/money_transfer/customers/{id}](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/(legacy)-money-transfer/paths/~1v1~1money_transfer~1customers~1%7Bid%7D/patch.md): Update Customer for Partner

### Index customer transactions

 - [GET /v1/money_transfer/customers/{id}/transactions](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/(legacy)-money-transfer/paths/~1v1~1money_transfer~1customers~1%7Bid%7D~1transactions/get.md): List of transactions done by customer

### Terminate Customer

 - [PATCH /v1/money_transfer/customers/{id}/terminate](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/(legacy)-money-transfer/paths/~1v1~1money_transfer~1customers~1%7Bid%7D~1terminate/patch.md): Terminate customer for partner

### Create Payin

 - [POST /v1/money_transfer/payments/payin](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/(legacy)-money-transfer/paths/~1v1~1money_transfer~1payments~1payin/post.md): Create Payin payment

### Index payments

 - [GET /v1/money_transfer/payments](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/(legacy)-money-transfer/paths/~1v1~1money_transfer~1payments/get.md): Index payments

### Show Payment

 - [GET /v1/money_transfer/payments/{id}](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/(legacy)-money-transfer/paths/~1v1~1money_transfer~1payments~1%7Bid%7D/get.md): Show selected Payment

### List transactions in payment

 - [GET /v1/money_transfer/payments/{id}/transactions](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/(legacy)-money-transfer/paths/~1v1~1money_transfer~1payments~1%7Bid%7D~1transactions/get.md): List of transactions related to given payment id

### Create Sepa Credit Transfer

 - [POST /v1/money_transfer/payments/sepa_credit_transfer](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/(legacy)-money-transfer/paths/~1v1~1money_transfer~1payments~1sepa_credit_transfer/post.md): Create Sepa Credit Transfer payout

### Create Sepa Direct Debit

 - [POST /v1/money_transfer/payments/sepa_direct_debit](https://docs.solarisgroup.com/api-reference/digital-banking/transactions/(legacy)-money-transfer/paths/~1v1~1money_transfer~1payments~1sepa_direct_debit/post.md): Create Sepa Direct Debit payment

