hup Developer Api documentation (1.0.0)

Download OpenAPI specification:

Hi 👋

Before you dive into the code, please read this first.

This documentation is still in development. Some endpoints may not work correctly yet.

Use this only as a concept — do not share it.

Direct Integration

Direct Integration

For direct integration with in3 you can use the transactionProcessing endpoints below. Refer to the endpoint documentation for request/response details and error handling.

  • POST /merchant-cpsp/transactions: Create a new transaction
  • GET /merchant-cpsp/transactions/{transactionId}: Get transaction details

Create a new transaction

This endpoint is used to create an in3 transaction by the Merchant/CPSP. In case of a non-deterministic failure (timeout, 429, or 5xx), the Merchant/CPSP should retry this endpoint once.

Authorizations:
API Key
Request Body schema: application/json
required
required
object (Amount)
description
required
string (TransactionDescription) [ 1 .. 35 ] characters

Description shown to the user and on statement.

reference
required
string (TransactionReference) [ 1 .. 35 ] characters [a-zA-Z0-9]{1,35}

External transaction reference used for reconciliation.

expirationPeriod
integer <int64> [ 60 .. 3600 ]
transactionType
string (TransactionType)
Value: "ONLINE"

Transaction type used in this transaction.

  • ONLINE - Used particularly for Online transactions, e.g. a webshop
transactionFlow
string (TransactionFlow)
Value: "STANDARD"

Transaction flow which the Merchant/CPSP desires to initiate.

  • STANDARD - Used for normal in3 transactions.
required
object (CreateTransactionCreditor)
object (RequestedCheckoutDetails)
mcc
string (MCC) = 4 characters

Merchant Category Code

transactionCallbackUrl
required
string <uri> (TransactionCallbackUrl)
returnUrl
required
string (ReturnUrl)
issuerId
string (IssuerId) [ 8 .. 11 ] characters ^[A-Z]{6}[A-Z2-9][A-NP-Z0-9]([A-Z0-9]{3}){0,1...

Responses

Request samples

Content type
application/json
{
  • "amount": {
    },
  • "description": "Bike",
  • "reference": "in3Purchase",
  • "expirationPeriod": 60,
  • "transactionType": "ONLINE",
  • "transactionFlow": "STANDARD",
  • "creditor": {
    },
  • "requestedCheckoutDetails": {
    },
  • "mcc": 5812,
  • "issuerId": "RABONL2UXXX"
}

Response samples

Content type
application/json
{
  • "transactionId": "0001000000000001",
  • "createdDateTimestamp": "2019-08-24T14:15:22Z",
  • "expiryDateTimestamp": "2019-08-24T14:15:22Z",
  • "description": "Bike",
  • "reference": "in3Purchase",
  • "transactionType": "ONLINE",
  • "transactionFlow": "STANDARD",
  • "amount": {
    },
  • "creditor": {
    },
  • "mcc": 5812,
  • "issuerId": "RABONL2UXXX",
  • "links": {},
  • "notificationResult": "PUSH_SENT_SHOW_WAITING_SCREEN",
  • "requestedCheckoutDetails": {
    }
}

Get transaction details

This API is used to get the details of the transaction identified by transactionId.

This api should NOT implement a retry mechanism on this endpoint but they can try it once only in the following situations:

  • The user ends up in the merchant environment and the final transaction state is not known (callback has not been received)
  • The transaction exceeds its expiryPeriod and the final transaction state is not known
  • 24 hours after transaction creation when the final transaction state is not known
Authorizations:
API Key
path Parameters
transactionId
required
string = 16 characters [0-9]{16}
Example: 0001000000000001

The unique numeric identifier generated by in3 for a transaction.

Responses

Response samples

Content type
application/json
{
  • "status": "OPEN",
  • "guaranteedAmount": 1000,
  • "finalStateDateTimestamp": "2019-08-24T14:15:22Z",
  • "debtor": {
    },
  • "transactionId": "0001000000000001",
  • "createdDateTimestamp": "2019-08-24T14:15:22Z",
  • "expiryDateTimestamp": "2019-08-24T14:15:22Z",
  • "description": "Bike",
  • "reference": "in3Purchase",
  • "transactionType": "ONLINE",
  • "transactionFlow": "STANDARD",
  • "amount": {
    },
  • "creditor": {
    },
  • "mcc": 5812,
  • "issuerId": "RABONL2UXXX"
}