Checkout API (2019-05-01)

Download OpenAPI specification:Download

API Integration Support: integration@dintero.com License: UNLICENSED

Changelog

All notable changes to the API.

2019-12-01

new Add support for include_session query parameter

new Add support for discount calculation on sessions. The discounts will be calculated when customer is identified

Extend the order and transaction items with new properties to support discount calculation of session:

  • discount_lines
  • gross_amount
  • is_change
  • eligible_for_discount

Support calculating and updating session with discount from:

new Add store property to session.order and transaction. Adds support for including details about the sales location in the order

new Add shipping_option from session.order to to transaction

changed Minor changes to the shipping_option object(s) in sessions

new Add an endpoint for abandon a checkout payment

2019-11-01

changed: Express Checkout flow added to sessions

new Update a an Express Checkout session order

new: Extend Transaction with optional billing_address field.

2019-10-01

new: Extend Transaction Event with correction field to handle correction of status after operations errors

changed: previously required fields are now optional for instabank.finance.

  • mortgage_debt
  • student_debt
  • other_secured_debt

changed: Payments for payment product type instabank.invoice now contain an optional applicant object used for sending more details about the payee. The applicant data will be required for amounts over a limit specified by Instabank.

changed: Payment sessions with instabank.invoice now contains an require_applicant boolean flag in the instabank invoice configuration when getting the session.

changed: Adds detailed debt array to instabank.finance.

2019-09-01

changed: Disabled instabank.invoice for amounts less than 500 NOK

new: Filter transaction list by payment_product_type:

  • instabank.finance
  • instabank.invoice
  • vipps
  • payex.creditcard
  • payex.swish

new: Filter transactions list by card_brand:

  • Visa
  • MasterCard

new: Added optional remember_me boolean to POST pay request body when initializing a payment of a session.

2019-07-01

fix: Transaction.status typo, rename PARTICALLY_CAPTURED_REFUNDED to PARTIALLY_CAPTURED_REFUNDED.

changed: replaced card payment type with payex. The payex payment type adds support for payment product types:

  • payex.creditcard
  • payex.swish

changed: Add support for optional custom expires_at parameter when creating a new session either directly or from a profile.

changed: Add support for override of configuration when creating a new session from a profile.

new: support cancel of session

changed: In SessionBase, extend order with partial_payment property that can be used in case where the payment is partial and the order.amount is less or equal to the order.items.amount.

2019-06-01

break: Pay with instabank.finance type requires now additional properties to comply with new regulations from Finanstilsynet.

changed: Remove instabank.installment and instabank.postponement payment type. The types will no longer be accepted by:

2019-05-01

In SessionMeta renamed field expiry_at to expires_at.

new: PaymentConfiguration extended with optional auto_capture boolean field. If set to true the checkout serivce will automatically capture the payment after the transaction is AUTHORIZED.

new: Add support for checkout with SMS. A SMS with link to the checkout can now be sent when a new session is created. See relevant resources for more information.

2019-04-01

fix: Fix documentation for the response from api-keys endpoints. No gateways property will be included in response to api-keys requests.

doc: Document support for JWT Bearer authentication. Use API client to get an JWT access token.

2019-03-01

break: Administration of checkout gateways was moved to new endpoints. Gateway configuration will no longer be supported via the PUT /admin/checkout endpoint.

removed:

  • POST /admin/gateways/{gateway} (check gateway status)

new: Extend transaction.event with created_by property. Include the user who created the event, i.e. applied an operation to the transaction.

2019-01-31

new: Add support for checkout with QR-Code A QR Code can now be generated for a Checkout Session or a Sale Location. See relevant resource for more information.

new: Add support for filter transactions with query parameters. Transactions can now be filtered on: status, payment_product, merchant_reference, session_id, amount and created_at.

2018-11-24

new: Add support for session.url.callback_url. Get system-to-system notification when session payment is completed.

Authentication

JWT

Bearer authentication (also called token authentication) should be used when accessing the API.

Use Get Token to get an access token for client credentials

Authorization by using the Bearer schema The content of the header should look like the following:

Authorization: Bearer {access_token}

where the access_token is JSON Web Tokens (JWT).

Security scheme type: API Key
Header parameter name: Authorization

apikey

X-API-Key authentication for accessing regular endpoints. Use Create api-key to create a key.

The content of the header should look like the following:

x-api-key: {api_key}
Security scheme type: API Key
Header parameter name: x-api-key

adminKey

X-API-Key authentication for accessing admin endpoints. Use Create api-key to create a key.

The content of the header should look like the following:

x-api-key: {api_key}
Security scheme type: API Key
Header parameter name: x-api-key

session

A Checkout Session relates to an order in your system. When an order has been placed you create a corresponding Checkout Session to receive payment for that order.

Create checkout session from profile

post /sessions-profile
https://checkout.dintero.com/v1/sessions-profile

Create a corresponding Checkout Session for an order placed in your system using predefined session profile

Session with Instabank

Note that items is a required property when creating a session with Instabank configured.

scopes:

  • admin:checkout
  • write:checkout
Authorizations:
query Parameters
include_session
boolean

Include all details about the session created

Request Body schema: application/json
order
required
object
url
required
object
profile_id
required
string

configuration profile

customer
object
expires_at
string <date-time>
configuration
object

Override configuration for the profile.

express
object

Present only for Express Checkout sessions.

An Express Checkout session is a session where the end user will submit a shipping address and then select a shipping option before the before a payment method is selected and the payment is initiated.

Endpoints used in the Express Checkout flow.

  1. Set shipping address
  2. Set shipping option

Responses

200

checkout session created

400

Bad / Invalid request

401

Access forbidden, invalid JWT token was used

403

Forbidden

500

Unexpected Error

Request samples

Content type
application/json
Copy
Expand all Collapse all
{
  • "url":
    {},
  • "customer":
    {
    },
  • "order":
    {
    },
  • "expires_at": "2019-12-15T18:06:40Z",
  • "configuration":
    {
    },
  • "profile_id": "string",
  • "express":
    {
    }
}

Response samples

Content type
application/json
Copy
Expand all Collapse all
{