Webhooks (1.0)

Download OpenAPI specification:Download

Webhook subscription

Create a webhook subscription

Creates a new webhook subscription for a specific event.
When you create a webhook subscription, Solaris checks the validity of the provided url by sending a single POST notification. The notification contains an empty body and the SOLARIS-WEBHOOK-EVENT-TYPE header with a value of WEBHOOK-SUBSCRIPTION.
The response from this endpoint contains a unique id for the subscription and a secret. Use this secret to verify the authenticity of the notifications.
Webhook URLs cannot be changed after creating a webhook subscription. You must delete the existing webhook and register a new one with the new URL. Note that you will receive a new id and secret.

Request
Security:
Request Body schema: application/json

The content of the request.

event_type
string

The type of event to subscribe to.

url
string

The URL where Solaris should send the webhook notifications.

Responses
201

Successful result of the operation

400

Invalid request.

403

You are not authorized to perform this action.

404

The resource could not be found.

500

Internal server error.

default

Unexpected error

post/v1/webhooks
Request samples
application/json
{}
Response samples
application/json
{}

Index webhooks

Returns an array containing all of your webhook subscriptions.

Request
Security:
query Parameters
page[number]
string

The number of results pages to return.

page[size]
string

The size of each page in the response.

Responses
200

Successful result of the operation

400

Invalid request.

403

You are not authorized to perform this action.

404

The resource could not be found.

500

Internal server error.

default

Unexpected error

get/v1/webhooks
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/webhooks?page%5Bnumber%5D=string&page%5Bsize%5D=string'
Response samples
application/json
[]

Retrieve a webhook

Returns the webhook subscription specified in the request URL. Note that the API only returns secret value when the webhook is created; this endpoint will return null as the value for secret.

Request
Security:
path Parameters
id
required
string
Responses
200

Successful result of the operation

400

Invalid request.

403

You are not authorized to perform this action.

404

The resource could not be found.

500

Internal server error.

default

Unexpected error

get/v1/webhooks/{id}
Request samples
curl -i -X GET \
  'https://api.solaris-sandbox.de/v1/webhooks/{id}'
Response samples
application/json
{}

Delete a webhook

Deletes the webhook subscription specified in the request URL. Please ensure that you have a replacement for a webhook before deleting it; all stored and unsent notifications will be lost.

Request
Security:
path Parameters
id
required
string
Responses
204

Successful result of the operation

400

Invalid request.

403

You are not authorized to perform this action.

404

The resource could not be found.

500

Internal server error.

default

Unexpected error

delete/v1/webhooks/{id}
Request samples
curl -i -X DELETE \
  'https://api.solaris-sandbox.de/v1/webhooks/{id}'
Response samples
application/json
"string"

Webhook events

ACCOUNT_BLOCK Webhook

The locking_status or locking_reason for a customer's account has changed. See the Account management guide for more information about account blocking.

Request
Request Body schema: application/json
account_id
string

The ID of customer's account that was blocked.

person_id
string

The ID of the person resource of the customer whose account was blocked.

business_id
string

The ID of the business resource of the customer whose account was blocked.

iban
string

The IBAN of the account that was blocked.

locking_status
string

Read-only booking block indicating whether funds can be transferred to/from the account. The default status is NO_BLOCK. Other status values indicate that funds may neither be credited to, nor debited from, the account. Only authorized Solaris employees can change the status of this value. Attempting to perform an action not compliant with the current blocking status (e.g., initiating a transaction to or from a blocked account) will cause either a return of the transaction or an exception.

Enum: "NO_BLOCK" "CREDIT_BLOCK" "DEBIT_BLOCK" "BLOCK"
updated_at
string

UTC timestamp from when the account's locking status has changed.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "account_id": "adc123a45d6d7cf8fbfeed537ba919d5cacc",
  • "person_id": "dc1a6812a14f6cc338cd084208535bcdcper",
  • "business_id": "null",
  • "iban": "DE87110101001000057123",
  • "locking_status": "DEBIT_BLOCK",
  • "updated_at": "2018-10-18T13:06:54.000Z"
}

ACCOUNT_CLOSUREWebhook

The account closure process has completed for a customer's account.

Request
Request Body schema: application/json
account_id
string

The ID of customer's account that was closed.

person_id
string

The ID of the person resource of the customer whose account was closed.

business_id
string

The ID of the business resource of the customer whose account was closed.

iban
string

The IBAN of the account that was closed.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "account_id": "adc123a45d6d7cf8fbfeed537ba919d5cacc",
  • "person_id": "dc1a6812a14f6cc338cd084208535bcdcper",
  • "business_id": "null",
  • "iban": "DE87110101001000057123"
}

ACCOUNT_CLOSURE_REQUESTWebhook

Solaris has initiated the account closure process for a customer's account.

Request
Request Body schema: application/json
account_closure_request_uid
string

ID of the account closure request.

closure_reason
string

The reason for the account closure.

Enum: "ACCOUNT_REVOCATION" "ACCOUNT_REVOCATION_INTERNAL" "COMPLIANCE_IMMEDIATE_INTERNAL" "COMPLIANCE_ORDINARY_INTERNAL" "CUSTOMER_WISH" "CUSTOMER_WISH_INTERNAL" "DUNNING_DECOUPLED_CARD_INTERNAL" "INSOLVENCY_IMMEDIATE_INTERNAL" "INSOLVENCY_ORDINARY_INTERNAL" "PARTNER_SERVICE_ACCOUNT_TERMINATED" "RELATIONSHIP_TERMINATION" "RELATIONSHIP_TERMINATION_INTERNAL" "SEIZURES_ORDINARY_INTERNAL"
status
string

Status of the account closure request.

Enum: "INITIATED" "CONFIRMED" "IN_PROGRESS" "COMPLETED" "FAILED" "REVOKED"
account_id
string

ID of the customer's account to be closed.

technical_closure_date
string <date>

The date when the account was removed from the Solaris system.

legal_closure_date
string <date>

The date when the contractual relationship underlying the product/account ends.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "account_closure_request_uid": "f8d7fbbd587047a0aa449ce69d2d6c08acrq",
  • "closure_reason": "COMPLIANCE_IMMEDIATE_INTERNAL",
  • "status": "IN_PROGRESS",
  • "account_id": "5526853938474f3e92b22a03ea57a544cacc",
  • "technical_closure_date": "2021-10-11",
  • "legal_closure_date": "2021-10-11"
}

ACCOUNT_LIMIT_CHANGEWebhook

The limit on a customer's account has changed. This webhook is used in the context of the Decoupled Cards product.

Request
Request Body schema: application/json
account_id
string

The ID of customer's account whose limit changed.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "account_id": "adc123a45d6d7cf8fbfeed537ba919d5cacc"
}

ACCOUNT_OPENING_REQUESTWebhook

An account opening request has been either accepted or rejected.

Request
Request Body schema: application/json
account_opening_request_id
string

The ID of the account opening request.

customer_id
string

The ID (i.e., person_id or business_id) of the customer for whom you're opening the account.

status
string

The status of the account opening request.

Enum: "INITIATED" "IN_PROGRESS" "COMPLETED" "FAILED"
account_id
string

The ID of the account that was created for the customer.

updated_at
string <date-time>

The timestamp (date-time) when the AOR was last updated.

error
string or null

Field to indicate errors related to the account opening request.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "account_opening_request_id": "f8d7fbbd587047a0aa449ce69d2d6c08aorq",
  • "customer_id": "b109ee6f66d2a061e006bd31c6455df2cper",
  • "status": "COMPLETED",
  • "account_id": "c5a0e32369e9372e0fdf490294cecd8dcacc",
  • "updated_at": "2021-12-22T15:05:33.634+00:00",
  • "error": null
}

ACCOUNT_SNAPSHOTWebhook

The status of an account snapshot has changed. This webhook is used in the context of different lending products.

Request
Request Body schema: application/json
wizard_session_key
string or null

The wizard key session. Only relevant if the source is FIN_TEC_SYSTEMS.

status_description
string or null

Additional context around the account snapshot status.

status
required
string

The status of the account snapshot.

Enum: "pending" "available" "expired" "failed"
provider
required
string

The provider of the account snapshot.

location
string or null

The URL to which you must redirect the customer to complete the account snapshot. Only relevant if source is FINREACH.

id
required
string

The ID of the account snapshot resource.

iban
string or null

The customer's IBAN to be used for the account snapshot. Only relevant if the source is FIN_TEC_SYSTEMS or FINREACH.

account_id
string or null

The customer's account ID to be used to initiate a Solarisbank account snapshot. Only relevant if the source is SOLARISBANK.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "wizard_session_key": "wiz04852083740",
  • "status_description": "string",
  • "status": "available",
  • "provider": "FINREACH",
  • "id": "6c8f81a234df4052a9cde197577347b7snap",
  • "iban": "DE87110101001000057123",
  • "account_id": "adc123a45d6d7cf8fbfeed537ba919d5cacc"
}

ACQUIRER_TOPUP_DECLINEDWebhook

A Top-Up transaction was declined by Solaris. The status of the Top Up has changed to DECLINED.

Request
Request Body schema: application/json
id
string

The ID of the Top-Up that was declined.

account_id
string

ID of the customer account associated with the declined Top-Up transaction.

object

The amount of the Top-Up.

client_secret
string

The client secret key provided by the Acquirer's API for use in their frontend SDK.

status
string (TopupStatusValues)

The current status of the Top-Up.

Enum: "ACCEPTED" "CONFIRMED" "EXECUTED" "DECLINED" "CANCELLED"
decline_reason
string or null

The reason why the Top-Up was declined. Usually present if the status is DECLINED due to a technical issue.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "b76cdcc321d345618084feedc47bbb1d",
  • "account_id": "adc123a45d6d7cf8fbfeed537ba919d5cacc",
  • "amount": {
    },
  • "client_secret": "pi_1DrPlP2eZvKYlo2CSBQ7uqFH_secret_o1A7UsYFLWeGISUD1QYNkT8IU",
  • "status": "ACCEPTED",
  • "decline_reason": "Person has blocked account(s)"
}

ACQUIRER_TOPUP_EXECUTEDWebhook

Solaris successfully processed a Top-Up via an Acquirer. The funds from the Top Up are cleared to the customer's account, and the status of the Top Up has changed to EXECUTED.

Request
Request Body schema: application/json
id
string

The ID of the Top-Up that was executed.

account_id
string

ID of the customer account associated with the successful Top-Up transaction.

object

The amount of the Top-Up.

client_secret
string

The client secret key provided by the Acquirer's API for use in their frontend SDK.

status
string (TopupStatusValues)

The current status of the Top-Up.

Enum: "ACCEPTED" "CONFIRMED" "EXECUTED" "DECLINED" "CANCELLED"
Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "b76cdcc321d345618084feedc47bbb1d",
  • "account_id": "adc123a45d6d7cf8fbfeed537ba919d5cacc",
  • "amount": {
    },
  • "client_secret": "pi_1DrPlP2eZvKYlo2CSBQ7uqFH_secret_o1A7UsYFLWeGISUD1QYNkT8IU",
  • "status": "ACCEPTED"
}

ACQUIRER_TOPUP_PAYMENT_FAILEDWebhook

A customer attempted an Instant Top-Up but the payment failed (e.g., because the payment method used did not have sufficient funds). The customer may re-attempt the Top-Up with the same payment method or use a different one.

Request
Request Body schema: application/json
id
string

The ID of the Top-Up that failed.

account_id
string

ID of the customer account associated with the failed Top-Up transaction.

object

The amount of the Top-Up.

client_secret
string

The client secret key provided by the Acquirer's API for use in their frontend SDK.

status
string (TopupStatusValues)

The current status of the Top-Up.

Enum: "ACCEPTED" "CONFIRMED" "EXECUTED" "DECLINED" "CANCELLED"
acquirer_error_code
string or null

Error code forwarded by the Acquirer's API (in case there was an error on the Acquirer's end).

acquirer_decline_code
string or null

If the Acquirer declines the Top-Up, then this property will contain the decline code forwarded by the Acquirer's API.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "b76cdcc321d345618084feedc47bbb1d",
  • "account_id": "adc123a45d6d7cf8fbfeed537ba919d5cacc",
  • "amount": {
    },
  • "client_secret": "pi_1DrPlP2eZvKYlo2CSBQ7uqFH_secret_o1A7UsYFLWeGISUD1QYNkT8IU",
  • "status": "ACCEPTED",
  • "acquirer_error_code": "card_declined",
  • "acquirer_decline_code": "exceeds daily limit"
}

BENEFICIAL_OWNERWebhook

A new beneficial owner was linked to a business, or an existing one was updated. Solaris will send a notification on this webhook if additional beneficial owners are discovered during the business identification process. For more information about beneficial owners, check the business onboarding guide.

Request
Request Body schema: application/json
id
string

ID of the beneficial owner relationship.

beneficial_owner_id
string

Person ID of the beneficial owner.

person_id
string

Person ID of the beneficial owner.

valid_until
string

The date when the beneficial owner relationship expires.

voting_share
integer

The beneficial owner's voting share. Expressed as a double-digit percentile (e.g., 75% would be expressed as 75).

business_id
string

ID of the business to which the beneficial owner is linked.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "a5f454e3f96447d6b3f7ecda46328040",
  • "beneficial_owner_id": "b9c5661fc7d240b8b51b9059b580cper",
  • "person_id": "b9c5661fc7d240b8b51b9059b580cper",
  • "valid_until": "2022-12-31",
  • "voting_share": 75,
  • "business_id": "e0277fae750a4c849660da873f94cbiz"
}

BOOKINGWebhook

A booking was created on the account specified in the webhook payload. For more information about bookings, check the account management guide.

Request
Request Body schema: application/json
id
string

ID of the booking.

creation_date
string

The date when the booking was created. Do not expose this to the account holder(s).

valuta_date
string

The valuta date of the booking (i.e., the date when the booking becomes effective).

booking_date
string

The date when the booking was posted.

booking_type
string (Solaris-Server-Decorators-BookingTypeEnum)

The type of the booking.

Enum: "B2C_CRYPTO_EXCHANGE_BTC" "B2C_CRYPTO_EXCHANGE_ETH" "B2C_SAVING_POTS_FGP" "B2C_SAVING_POTS_PFT" "B2C_SAVING_POTS_PVP" "BOOSTER_PACKAGE" "CARD_DIRECT_DEBIT" "CARD_DIRECT_DEBIT_RETURN" "CARD_DIRECT_DEBIT_RETURN_CHARGE" "CARD_DIRECT_DEBIT_RETURN_FEE" "CARD_DIRECT_DEBIT_RETURN_PROCESSING_FEE" "CARD_TRANSACTION" "CASH_DEPOSIT_RETAIL_FEE" "CASH_WITHDRAWAL_RETAIL_FEE" "CHARGE_ACCOUNT_MAINTENANCE" "CHARGE_ATM" "CHARGE_ATM_FOREIGN_CURRENCY" "CHARGE_CARD" "CHARGE_CARD_DELIVERY" "CHARGE_CRYPTO_EXCHANGE" "CORRECTION_CRYPTO_BROKERAGE" "CRYPTO_BROKERAGE" "CRYPTO_EXCHANGE" "CURRENCY_EXCHANGE" "CURRENCY_EXCHANGE_PARTNER" "CURRENCY_EXCHANGE_PARTNER_RETURN" "CURRENCY_TRANSFER" "DIRECT_DEBIT" "EMONEY_CARD_SETTLEMENT" "EMONEY_PAYIN" "EMONEY_PAYOUT" "EMONEY_TRANSFER" "INTERNAL_CLAIM_CLEARING" "INTERNAL_TRANSFER" "INTRA_CUSTOMER_CURRENCY_TRANSFER" "INTRA_CUSTOMER_TRANSFER" "LOAN_PAYOUT" "PREPAID_CARD_SETTLEMENT" "SECURITY_PURCHASE" "SECURITY_SALE" "SEPA_CREDIT_TRANSFER" "SEPA_CREDIT_TRANSFER_RETURN" "SEPA_DIRECT_DEBIT" "SEPA_DIRECT_DEBIT_RETURN" "VERIFICATION_CODE"
object

The amount of the booking.

description
string

A description of the booking.

purpose_code
string

The purpose code of the booking.

recipient_bic
string

The recipient's BIC.

recipient_iban
string

The recipient's IBAN.

recipient_name
string

The recipient's full name.

receiver_iban_virtual
string

(If applicable) The receiver's virtual IBAN.

sender_bic
string

The sender's BIC.

sender_iban
string

The sender's IBAN.

sender_name
string

The sender's full name.

end_to_end_id
string

SEPA identifier provided by the customer who initiated the SEPA transaction, routed through the entire payment process.

creditor_identifier
string

Unique reference that identifies a party collecting payments under the SEPA Direct Debit scheme within and across 32 countries. See the Deutsche Bundesbank's definition of creditor identifier for more information.

mandate_reference
string

The reference of the SDD mandate.

transaction_id
string

The Solaris transaction ID.

return_transaction_id
string

(If applicable) The Solaris ID of the return transaction.

object

(If applicable) Object containing information about the SEPA Direct Debit return transaction charges.

sepa_return_code
string

(If applicable) The SEPA reason code for the return transaction. See the EPC173-14 guidelines for more information.

sepa_return_reason
string

(If applicable) The SEPA return reason text as defined by ISO 20022.

sepa_return_reason_definition
string

(If applicable) Explanation of the SEPA return reason code as defined by ISO 20022.

meta_info
string

JSON-serialized meta information about the booking (e.g., information about the card and merchant associated with the booking).

recorded_at
string

UTC timestamp from when the booking was recorded.

reconciliation_id
string

(If applicable) Unique ID of the related clearing transaction initiated by Solaris.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "fe6561bdb526ed8866e9dac00bd1848ecboo",
  • "creation_date": "2022-01-18",
  • "valuta_date": "2022-01-18",
  • "booking_date": "2022-01-18",
  • "booking_type": "B2C_CRYPTO_EXCHANGE_BTC",
  • "amount": {
    },
  • "description": "BERLINER VOLKSBANK EG, TXL ABFLUG",
  • "purpose_code": "OTHR",
  • "recipient_bic": "SOBKDEBBXXX",
  • "recipient_iban": "DE97110101002242911754",
  • "recipient_name": "Lisa Herrmann",
  • "receiver_iban_virtual": "string",
  • "sender_bic": "SOBKDEBBXXX",
  • "sender_iban": "DE95110101000018501020",
  • "sender_name": "HANS MUSTERMANN",
  • "end_to_end_id": "ct-16223941e3774f068faf046213835bde",
  • "creditor_identifier": "DE98ZZZ09999999999",
  • "mandate_reference": "E2E000001",
  • "transaction_id": "d651ee23300b4e7c8fe7b7e2b2e96trx",
  • "return_transaction_id": "string",
  • "sepa_charges": {
    },
  • "sepa_return_code": "string",
  • "sepa_return_reason": "string",
  • "sepa_return_reason_definition": "string",
  • "meta_info": "'{\\\"cards\\\":{\\\"card_id\\\":\\\"36d4c37f8c8430c8ded3cfa94fb3fc93mcrd\\\",\\\"merchant\\\": {\\\"country_code\\\":\\\"DE\\\",\\\"category_code\\\":\\\"6011\\\",\\\"name\\\":\\\"BERLINER VOLKSBANK EG\\\",\\\"town\\\":\\\"TXL ABFLUG\\\"},\\\"original_amount\\\":{\\\"currency\\\":\\\"EUR\\\",\\\"value\\\":-1000,\\\"fx_rate\\\":1.0},\\\"pos_entry_mode\\\":\\\"CHIP\\\",\\\"trace_id\\\":\\\"651afb5beea67124d57be6dee27a2c5b7a241e58\\\",\\\"transaction_date\\\":\\\"2019-01-17\\\",\\\"transaction_time\\\":\\\"2019-01-17T16:41:50+00:00\\\",\\\"transaction_type\\\":\\\"CASH_ATM\\\"}}'\n",
  • "recorded_at": "2022-01-24T00:41:57Z",
  • "reconciliation_id": "87271dda6e454393036b4ec2b64b2221itrx"
}

BUSINESS_CHANGEDWebhook

One or more attributes of a business were changed. This webhook does not come with a payload. The notification includes the ID of the business that was changed in the header.

Request
header Parameters
Solaris-Entity-Id
string

ID of the business whose attributes changed.

Example: 211c5c2f34ac442ff6f93d09fc8fb3edcbiz
Request Body schema: application/json
object
Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{ }

BUSINESS_DELETEDWebhook

Solaris has deleted all data related to the given business from its system.
Important: When you receive a notification of this type, you must immediately delete all data related to the business specified in the webhook header.

Request
header Parameters
Solaris-Entity-Id
string

ID of the business whose data you must delete.

Example: cba4289c773b7450482ee88a6e5126e9cbiz
Request Body schema: application/json
object
Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{ }

(Legacy) BUSINESS_DIRECT_DEBIT_PROFILE_BLOCK_CANCELLEDDeprecatedWebhook

A scheduled block on a business' SEPA Direct Debit profile was canceled.

Request
Request Body schema: application/json
id
string

ID of the SEPA Direct Debit profile.

status
string

Indicates whether or not the SEPA Direct Debit profile has been accepted and whether or not it is active.

Enum: "ACCEPTED" "REJECTED" "ACTIVE" "BLOCKED" "EXPIRED"
status_reasons
string

Associated reasoning behind REJECTED and BLOCKED statuses.

object

The available collection limit for the profile.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "3cab044cedf84443841d489547177469",
  • "status": "ACCEPTED",
  • "status_reasons": "string",
  • "collection_limit": {
    }
}

(Legacy) BUSINESS_DIRECT_DEBIT_PROFILE_BLOCK_SCHEDULEDDeprecatedWebhook

A block was scheduled on a business' SEPA Direct Debit profile.

Request
Request Body schema: application/json
id
string

ID of the SEPA Direct Debit profile.

status
string

Indicates whether or not the SEPA Direct Debit profile has been accepted and whether or not it is active.

Enum: "ACCEPTED" "REJECTED" "ACTIVE" "BLOCKED" "EXPIRED"
status_reasons
string

Associated reasoning behind REJECTED and BLOCKED statuses.

object

The available collection limit for the profile.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "3cab044cedf84443841d489547177469",
  • "status": "ACCEPTED",
  • "status_reasons": "string",
  • "collection_limit": {
    }
}

BUSINESS_FRONTING_APPLICATIONWebhook

The status of a business fronting loan application has changed.

Request
Request Body schema: application/json
id
string

The ID of the relevant business fronting loan application.

status
string

The status of the business fronting loan application.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "89d4eaaa73ec4a73a0b9d40fb5d9da9cbfla",
  • "status": "approved"
}

BUSINESS_FRONTING_LOAN_PAYOUTWebhook

The status of a fronting loan payout has changed to payout_issued.

Request
Request Body schema: application/json
agio
required
number <float>

The credit commission amount.

required
object

The loan amount.

application_id
required
string

The unique ID of the business fronting loan application.

collateral_account_iban
required
string

Your Solaris prefund account from which the full loan amount (agio + net loan amount) must be transferred to Solaris' settlement account.

collection_account_iban
required
string

Your account to which the agio is transferred.

duration
required
integer

The number of months over which the loan will be repaid.

effective_interest_rate
required
number <float>

The effective annual interest rate applied to the loan.

id
required
string

The unique ID of a business fronting loan.

nominal_interest_rate
required
number <float>

The nominal interest rate applied to the loan.

recipient_iban
required
string

The IBAN of the loan's recipient, to which the loan will be paid out.

recipient_name
required
string

The name of the loan recipient.

settlement_account_iban
required
string

The Solaris settlement account from which the loan amount is transferred to the business's account.

status
required
string

The status of the business fronting loan.

Enum: "payout_pending" "payout_issued"
status_reason
string or null

The status reason of the business fronting loan.

Enum: "closed" "terminated"
Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "agio": 0,
  • "amount": {
    },
  • "application_id": "89d4eaaa73ec4a73a0b9d40fb5d9da9cbfla",
  • "collateral_account_iban": "DE85110101014480677574",
  • "collection_account_iban": "DE87110101001000057123",
  • "duration": 24,
  • "effective_interest_rate": 0.309,
  • "id": "13651d2f3a274e768ec6d45b036e0f14bflo",
  • "nominal_interest_rate": 0.299,
  • "recipient_iban": "DE92370601930002130041",
  • "recipient_name": "Max Mustermann",
  • "settlement_account_iban": "DE07110101014503906016",
  • "status": "payout_issued",
  • "status_reason": "closed"
}

BUSINESS_FRONTING_PAYOUT_UPDATEWebhook

The status of a partial fronting loan payout has changed to transfers_complete.

Request
Request Body schema: application/json
required
object

The amount of the loan payout.

id
required
string

The unique ID of a business fronting loan's payout.

loan_id
required
string

The unique ID of the business fronting loan.

recipient_iban
required
string

The IBAN of the loan payout's recipient.

recipient_name
required
string

The name of the loan payout's recipient.

status
required
string

The status of the business fronting loan's payout.

Enum: "transfers_pending" "transfers_complete"
tag
required
string

The tag of the business fronting loan's payout.

Enum: "INITIAL_PAYOUT" "RETENTION_FEE" "FACTORING_INTEREST"
transaction_description
string or null

The transaction reference, which the recipient will see. Only use characters allowed by SEPA in this field.

transaction_end_to_end_id
string or null

SEPA identifier (provided by the end customer who initiated the SEPA transaction), routed through the whole payment process. (Max 35 characters without whitespace)

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "amount": {
    },
  • "id": "963347398e47416c9df216a63ef035c2bflp",
  • "loan_id": "29e1a05906954ce082ec779d81de8c1ebflo",
  • "recipient_iban": "DE92370601930002130041",
  • "recipient_name": "Max Mustermann",
  • "status": "transfers_pending",
  • "tag": "INITIAL_PAYOUT",
  • "transaction_description": "Example transaction.",
  • "transaction_end_to_end_id": "DDHHDHG333243"
}

BUSINESS_FRONTING_RELATIONSHIP_STATUS_CHANGEDWebhook

The status of the fronting business relationship with a customer has changed.

Request
Request Body schema: application/json
id
string

The ID of the business resource whose business relationship status has changed.

status
string

The status of the business relationship.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "3311ac2c0a6243a8836ab290380918facbiz",
  • "status": "active"
}

BUSINESS_IDENTIFICATIONWebhook

A business identification was created, or its status was updated. The primary purpose of this webhook is to deliver the URL where the customer must be redirected to complete a video identification.

Request
Request Body schema: application/json
id
string

The unique ID of the business identification resource.

method
string

The identification method. Default value is idnow.

Enum: "idnow" "itm" "import"
reference
string or null

The reference of the itm identification request. Empty when the identification method is idnow.

url
string

The URL to which you must redirect the business' legal representative(s) and/or authorized person(s) to complete the identification process.

status
string

The status of the business identification process.

Enum: "created" "pending" "successful" "failed" "expired"
completed_at
string or null

The date and time when the business identification was completed.

business_id
string

The ID of the business resource.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "4c74c804eaea5d2a2d64ef400a27a4d3bid",
  • "method": "idnow",
  • "reference": null,
  • "status": "pending",
  • "completed_at": null,
  • "business_id": "880bbac68a34add190786b9c74f4c82fcbiz"
}

BUSINESS_SEIZURE_CREATEDWebhook

Solaris has received a request from the authorities (e.g., court, governmental agency) to seize the account(s) of a business.

Request
Request Body schema: application/json
id
string

Unique ID of the seizure resource.

enactment_date
string <date>

The date when the authority issued the seizure.

delivery_date
string

The date when the seizure notice was delivered to Solaris.

authority_name
string

The name of the authority that issued the seizure.

resolution_case_number
string

The seizure's case ID number, generated by the issuing authority.

seizure_type
string

The type of seizure.

Enum: "ATTACHMENT" "AUTHORITY_SEIZURE" "COURT_SEIZURE" "PRE_ATTACHMENT"
status
string

The current status of the seizure.

Enum: "ACTIVE" "FULFILLED" "WAITING_FOR_AUTHORITY"
object

Object that represents the amount of the debt.

object

Additional costs of the seizure.

object

Object that contains the name and address information of the debtor.

object

Object that contains the name and address information of the creditor.

object

Object containing information about a person or an entity that represents the creditor (i.e., a third-party liaison between the debtor and creditor).

automatic_payout_date
string

The automatic payout date of the seizure amount.

insolvency
boolean

Field to indicate whether or not there's an insolvency case related to the customer.

social_benefits
boolean

Field to indicate whether or not social benefits are applicable to the customer.

seizure_protected
boolean

Field to indicate whether or not there's a seizure protection related to the customer.

automated
boolean

Field to indicate whether or not the seizure will be processed automatically or manually.

country
string

The country in which the seizure happened.

multiple_drittschuldner
boolean

Field to indicate whether or not there are multiple third party debtors related to the customer.

customer_id
string

The person or business ID of the customer whose account has the seizure.

customer_type
string

The type of customer whose account has the seizure.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "211c5c2f34ac442ff6f93d09fc8fb3edseiz",
  • "enactment_date": "2019-01-31",
  • "delivery_date": "2019-01-28",
  • "authority_name": "Court",
  • "resolution_case_number": "Number 212121212",
  • "seizure_type": "COURT_SEIZURE",
  • "status": "ACTIVE",
  • "amount": {
    },
  • "additional_cost": {
    },
  • "debtor": {
    },
  • "creditor": {
    },
  • "creditor_representative": {
    },
  • "automatic_payout_date": "2022-01-29",
  • "insolvency": false,
  • "social_benefits": false,
  • "seizure_protected": false,
  • "automated": true,
  • "country": "DE",
  • "multiple_drittschuldner": true,
  • "customer_id": "880bbac68a34add190786b9c74f4c82fcbiz",
  • "customer_type": "Business"
}

BUSINESS_SEIZURE_DELETEDWebhook

Solaris has removed a seizure for a business because it was created by mistake.

Request
Request Body schema: application/json
id
string

Unique ID of the seizure resource.

enactment_date
string <date>

The date when the authority issued the seizure.

delivery_date
string

The date when the seizure notice was delivered to Solaris.

authority_name
string

The name of the authority that issued the seizure.

resolution_case_number
string

The seizure's case ID number, generated by the issuing authority.

seizure_type
string

The type of seizure.

Enum: "ATTACHMENT" "AUTHORITY_SEIZURE" "COURT_SEIZURE" "PRE_ATTACHMENT"
status
string

The current status of the seizure.

Enum: "ACTIVE" "FULFILLED" "WAITING_FOR_AUTHORITY"
object

Object that represents the amount of the debt.

object

Additional costs of the seizure.

object

Object that contains the name and address information of the debtor.

object

Object that contains the name and address information of the creditor.

object

Object containing information about a person or an entity that represents the creditor (i.e., a third-party liaison between the debtor and creditor).

customer_id
string

The person or business ID of the customer whose seizure was deleted.

customer_type
string

The type of customer whose account has the seizure.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "211c5c2f34ac442ff6f93d09fc8fb3edseiz",
  • "enactment_date": "2019-01-31",
  • "delivery_date": "2019-01-28",
  • "authority_name": "Court",
  • "resolution_case_number": "Number 212121212",
  • "seizure_type": "COURT_SEIZURE",
  • "status": "ACTIVE",
  • "amount": {
    },
  • "additional_cost": {
    },
  • "debtor": {
    },
  • "creditor": {
    },
  • "creditor_representative": {
    },
  • "customer_id": "880bbac68a34add190786b9c74f4c82fcbiz",
  • "customer_type": "Business"
}

BUSINESS_SEIZURE_FULFILLEDWebhook

The status of a seizure on a business has changed to FULFILLED.

Request
Request Body schema: application/json
id
string

Unique ID of the seizure resource.

enactment_date
string <date>

The date when the authority issued the seizure.

delivery_date
string

The date when the seizure notice was delivered to Solaris.

authority_name
string

The name of the authority that issued the seizure.

resolution_case_number
string

The seizure's case ID number, generated by the issuing authority.

seizure_type
string

The type of seizure.

Enum: "ATTACHMENT" "AUTHORITY_SEIZURE" "COURT_SEIZURE" "PRE_ATTACHMENT"
status
string

The current status of the seizure.

Enum: "ACTIVE" "FULFILLED" "WAITING_FOR_AUTHORITY"
object

Object that represents the amount of the debt.

object

Additional costs of the seizure.

object

Object that contains the name and address information of the debtor.

object

Object that contains the name and address information of the creditor.

object

Object containing information about a person or an entity that represents the creditor (i.e., a third-party liaison between the debtor and creditor).

customer_id
string

The person or business ID of the customer whose seizure was fulfilled.

customer_type
string

The type of customer whose account has the seizure.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "211c5c2f34ac442ff6f93d09fc8fb3edseiz",
  • "enactment_date": "2019-01-31",
  • "delivery_date": "2019-01-28",
  • "authority_name": "Court",
  • "resolution_case_number": "Number 212121212",
  • "seizure_type": "COURT_SEIZURE",
  • "status": "FULFILLED",
  • "amount": {
    },
  • "additional_cost": {
    },
  • "debtor": {
    },
  • "creditor": {
    },
  • "creditor_representative": {
    },
  • "customer_id": "880bbac68a34add190786b9c74f4c82fcbiz",
  • "customer_type": "Business"
}

BUSINESS_SEIZURE_UPDATEDWebhook

The processing method for a seizure for a business has switched from automated to manual.

Request
Request Body schema: application/json
id
string

Unique ID of the seizure resource.

enactment_date
string <date>

The date when the authority issued the seizure.

delivery_date
string

The date when the seizure notice was delivered to Solaris.

authority_name
string

The name of the authority that issued the seizure.

resolution_case_number
string

The seizure's case ID number, generated by the issuing authority.

seizure_type
string

The type of seizure.

Enum: "ATTACHMENT" "AUTHORITY_SEIZURE" "COURT_SEIZURE" "PRE_ATTACHMENT"
status
string

The current status of the seizure.

Enum: "ACTIVE" "FULFILLED" "WAITING_FOR_AUTHORITY"
object

Object that represents the amount of the debt.

object

Additional costs of the seizure.

object

Object that contains the name and address information of the debtor.

object

Object that contains the name and address information of the creditor.

object

Object containing information about a person or an entity that represents the creditor (i.e., a third-party liaison between the debtor and creditor).

automatic_payout_date
string

The automatic payout date of the seizure amount.

insolvency
boolean

Field to indicate whether or not there's an insolvency case related to the customer.

social_benefits
boolean

Field to indicate whether or not social benefits are applicable to the customer.

seizure_protected
boolean

Field to indicate whether or not there's a seizure protection related to the customer.

automated
boolean

Field to indicate whether or not the seizure will be processed automatically or manually.

country
string

The country in which the seizure happened.

multiple_drittschuldner
boolean

Field to indicate whether or not there are multiple third party debtors related to the customer.

customer_id
string

The person or business ID of the customer whose account has the seizure.

customer_type
string

The type of customer whose account has the seizure.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "211c5c2f34ac442ff6f93d09fc8fb3edseiz",
  • "enactment_date": "2019-01-31",
  • "delivery_date": "2019-01-28",
  • "authority_name": "Court",
  • "resolution_case_number": "Number 212121212",
  • "seizure_type": "COURT_SEIZURE",
  • "status": "ACTIVE",
  • "amount": {
    },
  • "additional_cost": {
    },
  • "debtor": {
    },
  • "creditor": {
    },
  • "creditor_representative": {
    },
  • "automatic_payout_date": "2022-01-29",
  • "insolvency": false,
  • "social_benefits": false,
  • "seizure_protected": false,
  • "automated": false,
  • "country": "DE",
  • "multiple_drittschuldner": true,
  • "customer_id": "880bbac68a34add190786b9c74f4c82fcbiz",
  • "customer_type": "Business"
}

BUSINESS_TAX_IDENTIFICATION_CHANGEDWebhook

The tax identification number of a business was modified. The webhook contains the id of the relevant business tax identification in the header and the id of the relevant business in the payload.

Request
header Parameters
Solaris-Entity-Id
string

ID of the business tax identification that triggered the webhook notification.

Example: cba4289c773b7450482ee88a6e5126e9ctin
Request Body schema: application/json
id
string

The ID of the business whose tax identification has changed.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "e51dac3dfa8bd52f9df1a50b091dcbiz"
}

CARD_AUTHORIZATIONWebhook

An authorization was created on a customer's account following a card transaction.

Request
Request Body schema: application/json
id
string

ID of the reservation related to the card transaction.

object

Amount of the reservation related to the card transaction (in Euro cents).

reservation_type
string

The type of reservation.

Value: "CARD_AUTHORIZATION"
reference
string
status
string

The current status of the reservation. Possible values are OPEN and RESOLVED.

Enum: "OPEN" "RESOLVED"
object

An object containing all meta information related to the reservation.

expires_at
string

UTC timestamp when the reservation will expire.

expired_at
string or null

UTC timestamp from when the authorization expired (null if it hasn't expired).

resolved_at
string or null

UTC timestamp from when the authorization was resolved.

description
string

A description of the transaction related to the authorization.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "b814e2213c5c45149945ed53422db0c4cres",
  • "amount": {
    },
  • "reservation_type": "CARD_AUTHORIZATION",
  • "reference": "string",
  • "status": "OPEN",
  • "meta_info": {
    },
  • "expires_at": "2020-03-30T00:00:00Z",
  • "expired_at": null,
  • "resolved_at": null,
  • "description": "PAYPAL *RECISIO KAR, 35314369001"
}

(Legacy) CARD_AUTHORIZATION_DECLINEDeprecatedWebhook

A customer's card transaction was declined. Click here to see the full list of possible reasons.
Note: This webhook event is deprecated. Please use CARD_AUTHORIZATION_DECLINE_V2 instead.

Request
Request Body schema: application/json
reason
string

The reason why the card authorization was declined.

Enum: "3DS_FAILED" "ACCOUNT_CLOSED" "ACCOUNT_LIMIT_REACHED" "AUTHENTICATION_REQUIRED" "CARD_BLOCKED" "CARD_INACTIVE" "CARD_NOT_PRESENT_AMOUNT_LIMIT_REACHED_DAILY" "CARD_NOT_PRESENT_AMOUNT_LIMIT_REACHED_MONTHLY" "CARD_NOT_PRESENT_USE_LIMIT_REACHED_DAILY" "CARD_NOT_PRESENT_USE_LIMIT_REACHED_MONTHLY" "CARD_PRESENT_AMOUNT_LIMIT_REACHED_DAILY" "CARD_PRESENT_AMOUNT_LIMIT_REACHED_MONTHLY" "CARD_PRESENT_USE_LIMIT_REACHED_DAILY" "CARD_PRESENT_USE_LIMIT_REACHED_MONTHLY" "CASH_ADVANCE_AMOUNT_LIMIT_REACHED_DAILY" "CASH_ADVANCE_AMOUNT_LIMIT_REACHED_MONTHLY" "CONTACT_BANK" "CVV_INCORRECT" "DUPLICATE_TRASACTION" "EXPIRY_DATE_INVALID" "FRAUD_SUSPECTED" "INSUFFICIENT_FUNDS" "INVALID_PIN_BLOCKED" "PIN_ENTRY_TIMEOUT" "PIN_INCORRECT" "REPLACEMENT_CARD_ACTIVATED" "RETRY_WITH_CHIP_AND_PIN" "SCA_REQUIRED" "TERMINAL_ERROR"
object

Object containing information about the declined transaction.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "reason": "AUTHENTICATION_REQUIRED",
  • "card_transaction": {
    }
}

CARD_AUTHORIZATION_DECLINE_V2Webhook

A customer's card transaction was declined. Click here to see the full list of possible reasons.

Request
Request Body schema: application/json
Array of objects

Array of objects containing information about why the transaction was declined. A transaction may have been declined for multiple reasons.

object

Object containing information about the declined transaction.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "reasons": [
    ],
  • "card_transaction": {
    }
}

CARD_AUTHORIZATION_RESOLUTIONWebhook

A reservation for a card transaction was cancelled or booked, or it expired. You do not have to send the customer a push notification for this webhook.

Request
Request Body schema: application/json
id
string

ID of the reservation.

object

Amount of the reservation (in Euro cents).

reservation_type
string

The type of reservation.

Value: "CARD_AUTHORIZATION"
reference
string

Unique reference for the authorization.

status
string

The current status of the reservation.

Value: "RESOLVED"
object

An object containing all meta information related to the reservation.

expires_at
string

UTC timestamp when the reservation will expire.

expired_at
string or null

UTC timestamp from when the authorization expired (null if it hasn't expired).

resolved_at
string or null

UTC timestamp from when the authorization was resolved.

description
string

A description of the transaction.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "b814e2213c5c45149945ed53422db0c4cres",
  • "amount": {
    },
  • "reservation_type": "CARD_AUTHORIZATION",
  • "reference": "0e30e961-9abd-41a2-bbd6-4730a22f17fd",
  • "status": "RESOLVED",
  • "meta_info": {
    },
  • "expires_at": "2020-03-30T00:00:00Z",
  • "expired_at": null,
  • "resolved_at": "2020-03-30T00:10:00Z",
  • "description": "PAYPAL *RECISIO KAR, 35314369001"
}

CARD_FRAUD_CASE_PENDINGWebhook

A fraud case was recorded on a transaction made by a customer's card, and it requires the customer's immediate response (over a prompt provided by your frontend). See the Cards Smart Agent guide for more information.

Request
Request Body schema: application/json
id
string

ID of the fraud case.

resolution
string

The current status of the fraud case.

Enum: "CONFIRMED" "PENDING" "TIMEOUT" "WHITELISTED"
respond_until
string

Timestamp indicating the deadline for the customer to confirm that the transaction is not fraudulent.

whitelisted_until
string or null

Timestamp indicating how long transactions will be whitelisted for the given card after confirming that a transaction was not fraudulent (i.e., 10 minutes after making the API call).

object

Object containing information about the declined transaction.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "154dca58bb1b5c8701039fa6514ffc66frdcs",
  • "resolution": "PENDING",
  • "respond_until": "2020-05-05T11:54:26Z",
  • "whitelisted_until": null,
  • "card_transaction": {
    }
}

CARD_FRAUD_CASE_TIMEOUTWebhook

A fraud case that was recorded for a transaction with a customer's card did not receive a response from the customer within 30 minutes. See the Cards Smart Agent guide for more information.

Request
Request Body schema: application/json
id
string

ID of the fraud case.

resolution
string

The current status of the fraud case.

Enum: "CONFIRMED" "PENDING" "TIMEOUT" "WHITELISTED"
respond_until
string

Timestamp indicating the deadline for the customer to confirm that the transaction is not fraudulent.

whitelisted_until
string or null

Timestamp indicating how long transactions will be whitelisted for the given card after confirming that a transaction was not fraudulent (i.e., 10 minutes after making the API call).

object

Object containing information about the declined transaction.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "154dca58bb1b5c8701039fa6514ffc66frdcs",
  • "resolution": "TIMEOUT",
  • "respond_until": "2020-05-05T11:54:26Z",
  • "whitelisted_until": null,
  • "card_transaction": {
    }
}

CARD_LIFECYCLE_EVENTWebhook

The status of a customer's card has changed. You can find the full list of available statuses here.

Request
Request Body schema: application/json
id
string

ID of the card.

status
string

The current status of the card.

Enum: "ACTIVE" "ACTIVATION_BLOCKED_BY_SOLARIS" "BLOCKED" "BLOCKED_BY_SOLARIS" "CLOSED" "CLOSED_BY_SOLARIS" "COUNTERFEIT_CARD" "FRAUD" "INACTIVE" "LOST" "NEVER_RECEIVED" "PROCESSING" "STOLEN"
reference
string

Unique reference number for the card.

type
string

The type of the card. Note The following enum list is not exhaustive but only indicative of some possible values.

Enum: "MASTERCARD_DEBIT" "MASTERCARD_BUSINESS_DEBIT" "VIRTUAL_MASTERCARD_DEBIT" "VIRTUAL_MASTERCARD_BUSINESS_DEBIT" "VIRTUAL_MASTERCARD_FREELANCE_DEBIT" "VISA_DEBIT" "VISA_BUSINESS_DEBIT" "VIRTUAL_VISA_DEBIT" "VIRTUAL_VISA_BUSINESS_DEBIT" "VIRTUAL_VISA_FREELANCE_DEBIT" "VISA_CREDIT" "VIRTUAL_VISA_CREDIT" "VISA_BUSINESS_CREDIT" "VIRTUAL_VISA_BUSINESS_CREDIT"
expiration_date
string

The expiration date of the card.

person_id
string

ID of the cardholder person resource.

account_id
string

ID of the account to which the card is tied.

business_id
string

(For business cards) ID of the business with which the card is associated.

object (Solaris_Decorators_PublicPlasticCard)

Object containing information about the cardholder, the card's masked PAN, and the formatted expiration date.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "8febdba4912a747808ccc6f95f82bbb4",
  • "status": "ACTIVE",
  • "reference": "87285d83-ab15-4906-af87-5763801d9e43",
  • "type": "MASTERCARD_DEBIT",
  • "expiration_date": "2020-12-30",
  • "person_id": "5af2ea4271038d5c53e68ccbf4fe43b3cper",
  • "account_id": "a5844f601567db9b59b3531245a58e96cacc",
  • "business_id": "52e6a9b8a559d842ed7d8901b0e1bf4bcbiz",
  • "representation": {
    }
}

CARD_TOKEN_LIFECYCLEWebhook

A push provisioning token has been created or updated for a customer's card.

Request
Request Body schema: application/json
card_id
string

The ID of the card associated with the token.

token_reference_id
string

The unique reference ID of the token that was created.

token_status
string

The status of the token.

Enum: "ACTIVE" "DEACTIVATED" "INACTIVE" "SUSPENDED"
event_type
string

The event type of the token's lifecycle.

Enum: "TOKEN_CREATED" "TOKEN_STATUS_UPDATED" "TOKEN_ACTIVATION_STIP"
message_reason
string

Token's lifecycle event reason (from VISA's constantly changing message reason codes, e.g., TOKEN_CREATED).

Enum: "CALL_CENTER_ACTIVATION" "CARDHOLDER_STEPUP_RESULT" "DEVICE_PROVISIONING_REPERSONALIZATION_RESULT" "DEVICE_PROVISIONING_RESULT" "LUK_REPLENISHMENT" "MOBILE_BANK_APP_ACTIVATION" "OTP_VERIFICATION_RESULT" "TOKEN_DEACTIVATED" "TOKEN_DEVICE_BINDING_REMOVED" "TOKEN_DEVICE_BINDING_RESULT" "TOKEN_EXPIRY_DATE_UPDATED" "TOKEN_RESUME" "TOKEN_SUSPEND" "TRUSTED_LISTING_ENROLLMENT_RESULT"
client_wallet_account_id
string

Unique 24-byte identifier for each instance of a [Android user, Google account] pair. Google computes the ID as a keyed hash of the Android user ID and the Google account ID. The key to this hash lives on Google's servers; the wallet ID is created during user setup as an RPC.

wallet_type
string

The type of the wallet.

Enum: "APPLE" "GOOGLE" "SAMSUNG"
visa_pan_reference_id
string

ID of the Primary Account Number (PAN) reference.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "card_id": "8b48d56bdc1c091d9ab5547fe0e9511bmcrd",
  • "token_reference_id": "DNITHE382228352676336613",
  • "token_status": "ACTIVE",
  • "event_type": "TOKEN_CREATED",
  • "message_reason": "TOKEN_CREATED",
  • "client_wallet_account_id": "Rwt3tJek_k1JxivcwbPHjKDk",
  • "wallet_type": "APPLE",
  • "visa_pan_reference_id": "V-3019278454673935797827"
}

CASH_OPERATION_STATUS_CHANGEDWebhook

A customer has paid out/paid in to a cash operation, or the cash operation has expired.

Request
Request Body schema: application/json
id
string

ID of the cash operation.

barcode_ean_13
string

The EAN-13 barcode that your solution must generate so that the customer can present it at the merchant POS to complete the cash operation.

expires_at
string <date-time>

The date and time when the cash operation barcode expires.

status
string

The current status of the cash operation.

Enum: "PENDING" "CREATED" "PAID" "EXPIRED" "CANCELLED"
reference_id
string

End-to-end reference for the customer.

person_id
string

ID of the person who initiated the cash operation.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "string",
  • "barcode_ean_13": "string",
  • "expires_at": "2019-08-24T14:15:22Z",
  • "status": "PENDING",
  • "reference_id": "string",
  • "person_id": "string"
}

CONSUMER_FRONTING_APPLICATIONWebhook

The status of a consumer loan application has changed.

Request
Request Body schema: application/json
agio
required
number <float>

The credit commission amount.

required
object

The loan amount.

application_id
required
string

The unique ID of a consumer fronting loan application.

collateral_account_iban
required
string

Your Solaris prefund account from which the full loan amount (agio + net loan amount) must be transferred to Solaris' settlement account.

collection_account_iban
required
string

Your account to which the agio is transferred.

duration
required
integer

The number of months over which the loan will be repaid.

id
required
string

The unique ID of the fronting loan, generated after a loan is created for the customer.

recipient_iban
required
string

The IBAN of the loan's recipient to which the loan will be paid out.

recipient_name
required
string

The name of the loan recipient.

requested_interest_rate
required
number <float>

The interest rate to apply to the fronting loan.

settlement_account_iban
required
string

The Solaris settlement account from which the loan amount is transferred to the customer's account.

status
required
string

The status of the consumer fronting loan.

Enum: "payout_issued" "payout_pending"
Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "agio": 0,
  • "amount": {
    },
  • "application_id": "504f3c3659e14079a6941fe5b7a75eaacfla",
  • "collateral_account_iban": "DE85110101014480677574",
  • "collection_account_iban": "DE87110101001000057123",
  • "duration": 12,
  • "id": "620b95f7987243d398c2621c889a2039cflo",
  • "recipient_iban": "DE92370601930002130041",
  • "recipient_name": "Max Mustermann",
  • "requested_interest_rate": 0.04,
  • "settlement_account_iban": "DE07110101014503906016",
  • "status": "payout_issued"
}

CONSUMER_OVERDRAFTWebhook

The status of a consumer overdraft has changed.

Request
Request Body schema: application/json
status
required
string

The status of an overdraft offered to a consumer.

Enum: "conditions_pending" "limit_pending" "created" "attached"
person_id
required
string

The unique person ID, generated after completing the person onboarding process.

overdraft_rate
required
number <float>

The interest rate applicable to the overdraft.

negative_since
required
string or null <datetime>

The date and time when overdraft went negative.

object or null (SolarisToolkit.Web.Money.Optional)
required
SolarisToolkit.Web.Money (object)

The daily interest accrued by an person account.

interest_accrual_rate
required
number <float>

The daily rate at which interest is accrued on the used amount of an overdraft.

id
required
string

The unique ID of a consumer overdraft, generated after an overdraft is offered.

created_at
required
string <datetime>

The date and time the overdraft was created.

consumer_application_id
required
string

The unique ID of a consumer overdraft application.

account_iban
required
string

The IBAN of a person account.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "status": "created",
  • "person_id": "dc1a6812a14f6cc338cd084208535bcdcper",
  • "overdraft_rate": 9,
  • "negative_since": "2021-08-03T18:01:48Z",
  • "limit": {
    },
  • "interest_accrued": {
    },
  • "interest_accrual_rate": 3,
  • "id": "00556cd181f2409aaa6c2a033cce3a8fcovd",
  • "created_at": "2021-08-03T18:01:48.000Z",
  • "consumer_application_id": "b83z264de98741018419b53648e20ca9coap",
  • "account_iban": "DE87110101001000057123"
}

CONSUMER_OVERDRAFT_APPLICATIONWebhook

The status of a consumer overdraft application has changed.

Request
Request Body schema: application/json
status_description
string or null

The description of the consumer overdraft application status.

status
required
string

The status of a consumer overdraft application.

Enum: "scoring_pending" "offered" "overdraft_created" "rejected" "deleted"
person_id
required
string

The unique person ID, generated after completing the person onboarding process.

partner_risk_class
string or null

The risk class assigned to a customer by the partner.

object or null (SolarisToolkit.Web.Money.Optional)
partner_reference_number
string or null

The partner's reference number.

partner_id
required
string

The unique partner ID, generated after creating a partner.

partner_contact_number
string or null

The number of the partner's contact person.

partner_contact_name
string or null

The name of the partner's contact person.

overdraft_id
string or null

The unique ID of a consumer overdraft, generated after an overdraft is offered.

object (SolarisToolkit.Web.Money)
object or null

Minimum credit risk criteria fields for scorer

object or null (SolarisToolkit.Web.Money.Optional)
interest_accrual_rate
number or null <float>

Scorer rate for risk based pricing

identification_id
required
string

The unique identification ID of a person, generated after completing the person identification process.

id
required
string

The unique ID of a consumer overdraft application.

employment_status
string or null

The consumer's employment status, mentioned in the signed self-declaration form.

Enum: "EMPLOYED" "UNEMPLOYED" "PUBLIC_SECTOR_EMPLOYEE" "PROFESSIONAL_SOLDIER" "FREELANCER" "HOUSEWORK" "APPRENTICE" "MANAGEMENT" "RETIRED" "STUDENT" "SELF_EMPLOYED" "MILITARY_OR_COMMUNITY_SERVICE"
credit_record_id
string or null

The unique ID of a credit record, generated after creating a consumer credit record.

created_at
required
string <datetime>

The date and time the consumer overdraft application was created.

account_iban
required
string

The IBAN of a person account.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "status_description": "The overdraft is approved and offered to the customer.",
  • "status": "offered",
  • "person_id": "dc1a6812a14f6cc338cd084208535bcdcper",
  • "partner_risk_class": "d",
  • "partner_requested_limit": {
    },
  • "partner_reference_number": "a123456",
  • "partner_id": "6ee8e4c8bdc2f9b15870c989706aa9cccpar",
  • "partner_contact_number": "+491565904345",
  • "partner_contact_name": "Peter Mustermann",
  • "overdraft_id": "00556cd181f2409aaa6c2a033cce3a8fcovd",
  • "net_income_amount": {
    },
  • "minimum_credit_risk_criteria": { },
  • "limit": {
    },
  • "interest_accrual_rate": 0,
  • "identification_id": "176a96d1ecf7459d659d1b7f0108a3f2cidt",
  • "id": "b83z264de98741018419b53648e20ca9coap",
  • "employment_status": "EMPLOYED",
  • "credit_record_id": "fbb7d15fa4c54ba0b077592665ef04a4ccrd",
  • "created_at": "2021-08-03T18:01:48.000Z",
  • "account_iban": "DE87110101001000057123"
}

CREDIT_CARD_APPLICATIONWebhook

The status of a customer's credit card application has changed.

Request
Request Body schema: application/json
id
string
external_customer_id
string

Arbitrary ID provided by you (e.g., membership ID).

customer_id
string

ID of the person who applied for the credit card.

account_id
string

ID of the Solaris account associated with the credit card.

account_iban
string

IBAN of the Solaris account associated with the credit card.

reference_account_id
string

ID of the reference account associated with the credit card.

status
string

The current status of the credit card.

Enum: "PENDING" "IN_SCORING" "PRE_APPROVED" "FINALIZED" "DECLINED"
product_type
string

Indicates the type of credit card.

Enum: "CONSUMER_CREDIT_CARD" "FREELANCER_CREDIT_CARD" "BUSINESS_CREDIT_CARD"
billing_start_date
string <date>

The start date of the current billing cycle.

billing_end_date
string <date>

The end date of the current billing cycle.

object

The credit card limit approved for the customer by Solaris.

object

The credit card limit requested by the customer.

object

The current limit applied to the credit card. Can be less than or equal to the approved_limit.

decline_reasons
Array of strings

An array of reasons why the credit card application was declined.

Items Value: "SCORING"
object

Object containing information about the customer's repayment plan for the credit card.

consumer_scoring_options (object) or business_scoring_options (object)

Object containing information about the scoring for the credit card application.

in_dunning
boolean

Boolean value to indicate whether the credit card is currently subject to the dunning process.

Responses
200

Return 200 to indicate that you successfully received the webhook notification.

Request samples
application/json
{
  • "id": "string",
  • "external_customer_id": "string",
  • "customer_id": "0ba2211cab11af6094d60ead81f2bd9dcper",
  • "account_id": "c2a13abed3b0686ab5343aa748d7f2fecacc",
  • "account_iban": "DE53110101013323159108",
  • "reference_account_id": "d1ed02309ca52b5e636e215ff82b2d52sddm",
  • "status": "PENDING",
  • "product_type": "CONSUMER_CREDIT_CARD",
  • "billing_start_date": "2022-07-01",
  • "billing_end_date": "2022-07-28",
  • "approved_limit": {
    },
  • "requested_limit": {
    },
  • "current_limit": {
    },
  • "decline_reasons": [
    ],
  • "repayment_options": {
    },
  • "scoring_options": {