Sofort Payment

Sofort allows no authorisation without capture, because the bank order is executed instantly. So Sofort is always captured automatically.

The endpoint to authorise and capture a Sofort payment is POST /api/v2/Smart/Transactions/{id}/prepare/sofort:

Request
{
"callback_urls": {
"success_url": "https://shop.example.org/sofort/SUCCESS",
"failure_url": "https://shop.example.org/sofort/FAILURE"
}
}

The two URLs are passed to Sofort. We will direct your customer to one of these URLs:

  • after the Sofort payment was accepted (success_url) or

  • after the Sofort payment was aborted or failed (failure_url).

If everthing is fine, the API responds with 200 OK and a respresentation of the Smart Transaction:

Response
{
"object": "smart.transactions",
"id": "STX_WBVJKK82Y2X3MKHN3NZCPAAF6C38AJ",
// ...
"updated": "2021-04-14T10:14:41+02:00",
"status": "created",
// ...
"payment_method": "sofort",
"trans_id": 34029564,
"iframe_url": "https:\/\/www.sofort.com\/payment\/go\/4e1f08c1b85dc4ea442cec44954fb14dd59dfe6d",
// ...
}

You need to direct the customer to iframe_url now, in order to make the payment. After this you will receive him back at one of the URLs you have passed with the request.

If the payment was accepted, and the success_url is called, the status of the Smart Transaction changes to pending. See the sections about the status flow, and how to check the status in order to understand more.