Alternative Payment Methods


1. Sofort

1.1. Introduction

Sofort Banking is a real-time online banking payment service available to customers who have a bank account in Germany, Italy, Poland, Sweden, Switzerland, Austria, Belgium, or the Netherlands. More countries are being added. The key benefit of Sofort Banking compared to normal credit transfer is the instant confirmation of the order that is sent to a merchant allowing for an instant delivery of services including instant notification, once money is received and credited to a merchant’s account. Transactions need to be in the EUR currency, otherwise they will fail.

As this is a bank transfer, there is no refund functionality via the ISX dashboard.
All returns need to be arranged directly by a merchant.

Sofort is a single use, notification payment method, that requires customers to authenticate their payment.

It redirects them to their bank's portal to authenticate the payment, and it typically takes a few seconds to a few days to receive notification of success or failure.

Additional information can be included in the API request, however, there are some specific objects that are required for a successful authentication process.

In our case, the workflow of this Alternative Payment Method (APM) consists of the following four steps:

  1. Create API Request.

  2. Receive API Request Response.

  3. ISX Transaction Page.

  4. Result Page.


1.2. Create API Request

The API request consists of four steps: Method, URL, Header, and Body.

Request Method: POST

The API is accessed from the Request URL. This is a combination of our URL and the addition of the following text at the end of the URL: “/v1/authorization/”.

Fill in the appropriate header information.

The API Header information is provided by the ISX relationship management team.

Field Name

Field Value

Field Name

Field Value

From

API client name

Authorization

Bearer API token

Content-Type

application/json

Example:

Field Name

Field Value

Field Name

Field Value

From

Test_APIClient

Authorization

Bearer TEXnkvZCtFucXebHYwrYLIGbkhjygvBTbxWELCCnCQJTKsx6bYNh5fOjEE

Content-Type

application/json

The word Bearer must be present in the API token or else an error will result.

In order to generate the “Transaction API call” the following API Objects are required.

Each object has a number of specific attributes in order to be successful.

Below you can view each object name, description, and whether it’s required or not.

Also, the glossary column has a link that directs you to detailed information about each object, including examples.

Object Name

Description

Required

Glossary

Object Name

Description

Required

Glossary

merchant

Information of the merchant

Yes

Merchant object

transaction

Information of the transaction

Yes

Transaction object

client

Information of the client

Yes

Client Object

account

Information of the account

Yes

Account object

In the API body request, add the “workflow” name and the “id” in the “merchant_id” with the ones provided by the ISX relationship management team.

“Test_Workflow” text (below) should be replaced with the “workflow” name provided by the ISX relationship management team.

"workflow":"Test_Workflow"

“Test_Merchant” text (below) should be replaced with the “merchant_id” provided by the ISX relationship management team.

"id":"Test_Merchant"

The API call consists of the following required fields, complete to proceed with the payment:

  • first_name

  • last_name

  • email

Refer to the JSON code entitled “Sample JSON body for APM” for reference.

Sample JSON body for APM

{ "workflow":"Test_Workflow", "merchant":{ "id":"Test_Merchant" }, "transaction":{ "id":"Test_ID", "amount":"100", "currency":"AUD", "reference":"Test_Ref" }, "client":{ "first_name":"Shana", "last_name":"Barrows", "email":"shana.barrows@isignthis.com" }, "account":{ "identifier":"Test_ID" } }

1.3. Receive API Request Response

Once the POST is sent, a response message will be received.

Field

Type

Description

Field

Type

Description

id/uid

String

Unique response identification code.

secret

String

The transaction secret code that can be used to validate ISX notifications.

mode

String

The transaction mode detected by ISX.

original_message

Object

Information about your transaction request.

state

String

Information about the state of the transaction.

compound_state

String

The ISX meaningful state of the transaction.

redirect_url

String

The redirect URL.

Sample JSON Payment Response

Following the “redirect_url”, will lead you to the transaction page.


1.4. Changing Language

If the language needs to be changed, add an extra parameter in the redirect URL, that you received in your response.

Add the code of the required language at the trailing end of the URL.

The available languages include:

Code

Language

Code

Language

da

Danish

de

German

en

English

es

Spanish

fr

French

ja

Japanese

no

Norwegian

se

Swedish


1.5. ISX Transaction Page (how to receive notifications)

Once the ISX transaction page is opened, the customer maybe prompted to insert additional information, (depending on the settings that you requested), once completed, proceed with the transaction.

For each unsuccessful transaction a customer makes, an appropriate event notification will be provided to your webhook.

Refer to Notifications and Transaction Events & States for more information.


1.6. Results Page

Depending on which page you have decided to show, the ISX results page or your own page will be displayed to the customer with the according message.

Refer to Transaction Events & States for more information.

If any issues arise, contact the ISX relationship management team.


1.7. Sofort Notifications

1.7.1. Where to find the notifications

All the required information in the transaction, is sent to the notification URL provided.

A sample of the objects is given below.

To receive notifications on the configured URL, your URL must end with /v1/notification.

1.7.2. Receive Notification Request

The code provided (below right) is a sample Sofort notification (after a transaction).

In the response you will be able to find all the required information regarding the transaction.

The notification will be attempted in the following intervals, until a response is received: 5 seconds, 1 minute, 1 hour, 6 hours, 12 hours, 1 day, and finally one more day.

Field

Type

Description

Field

Type

Description

original_sender_name

String

Original senders name

beneficiary_iban

String

Beneficiary’s IBAN Number

Data Types

Field

Type

Description

Field

Type

Description

id

String

Unique response identification code.

secret

String

The transaction secret code.

mode

String

The transaction mode detected by ISX.

recurring_transaction

Boolean

Whether the transaction was a recurring operation or not.

original_message

Object

Information about your transaction request.

workflow_state

Object

State information about the workflow.

event

String

Event name of the notification. Refer to Transaction Events & States for full list.

state

String

State of the transaction. Refer to Transaction Events & States.

compound_state

String

Compound State of the transaction. Refer to Transaction Events & States.

card_reference

Object

information of the card that was used.

payment_provider_responses

Array

Information about payments or credits made.

payment_amount

Object

Original requested payment amount.

identity

Object

Information about the identity.

response_code

String

Response code of the transaction. Refer to Transaction Events & States.

response_code_description

String

Response code description.

test_transaction

Boolean

Denotes use of test card.

Sample Sofort Notification

1.7.3. Additional notification fields for Sofort

Events
Successful Transaction

Event

Description

Event

Description

transaction_start

The transaction has started.

transaction_success

The transaction has been successful.

transaction_accepted

The transaction request has been accepted.

Expired Transaction

Event

Description

Event

Description

transaction_start

The transaction has started.

transaction_success

The transaction has been successful.

transaction_expired

The transaction request has expired.

Rejected Transaction

Event

Description

Event

Description

transaction_start

The transaction has started.

transaction_success

The transaction has been successful.

transaction_declined

The transaction request has been declined.

Pending Reconciliation Review

Event

Description

Event

Description

transaction_start

The transaction has started.

transaction_success

The transaction has been successful.

Pending Starting Transaction

Event

Description

Event

Description

transaction_start

The transaction has started.


© ISX Financial EU PLC 2024. All rights reserved.