Transfer status

Introduction

Transfer status is initiated through HTTPS POST request by using URLs and the parameters.
Funds transfer status request is made by Connecting Party’s app to Denumtech to get the status of transfer transaction.
It is recommended to send Transfer status request for a period of 2-3 minutes with interval of 3-5 seconds between requests. Connecting Party’s server should rely on the callback for final status.

API URLs

Integration

Production

https://sandbox.denumtech.ru/paynet/dapi/v1/transfer/{endpointId}/{invoiceId}/status

https://gate.denumtech.ru/paynet/dapi/v1/transfer/{endpointId}/{invoiceId}/status

Request Parameters

Parameter Name

Description

Value

session

Type: Object

session.accessToken

The access token key received in Optional consumer authentication.

Type: String
Length: 32-128

session.token

The session token of transfer transaction.

Type: String
Length: 16-36

Success Response Parameters

Parameter Name

Description

Value

invoiceId

Transfer transaction identifier.

Type: String

session

Type: Object

session.token

The session token of transfer transaction.

Type: String

state

Possible values: PROCESSING, REDIRECT_REQUEST, APPROVED, DECLINED. If Consumer defined transfer rates enable get TRANSFER_FEE_REQUEST.

Type: Enum

bankOrderId

Required if state is APPROVED or DECLINED.

Necessity: Conditional
Type: String
Length: 128

redirectUrl

Required if state is REDIRECT_REQUEST.

Necessity: Conditional
Type: String
Length: 128

orderId

Order identifier in payment processing system.

Necessity: Conditional
Type: String

transaction

Necessity: Conditional
Type: Object

transaction.amountCentis

Amount of money transfered in centis, 1.00 EUR = 100 centis.

Necessity: Conditional
Type: Integer

transaction.commissionCentis

Amount of commission held in centis.

Necessity: Conditional
Type: Integer

transaction.orderCreatedDate

Order creation date in payment processing system.

Necessity: Conditional
Type: String

transaction.transactionCreatedDate

Transaction creation date in payment processing system.

Necessity: Conditional
Type: String

errorCode

Decline reason code, may present if state is DECLINED.

Necessity: Optional
Type: Integer

errorMessage

Decline reason message, may present if state is DECLINED.

Necessity: Optional
Type: String
Length: 128

secure3DAuthStatus

Possible values: AUTHENTICATED, NOT_AUTHENTICATED, UNSUPPORTED means that card does not support 3-D Secure or 3DS authentication process finished with an unknown status.

Necessity: Optional
Type: Enum

randomSumAuthStatus

Possible values: AUTHENTICATED, NOT_AUTHENTICATED.

Necessity: Optional
Type: Enum

Success Response Parameters for Consumer defined transfer rates

Transfer status response includes the state parameter with TRANSFER_FEE_REQUEST value and the transferFeeList object with a list of commissions for possible processing gates. Each processing gate is represented by it’s own aliased name in assignedId parameter. TRANSFER_FEE_REQUEST value in state parameter exists only in “Consumer defined transfer rates” flow.
When the transaction reaches TRANSFER_FEE_REQUEST state, the processing will remain paused until Complete transfer request is sent.

Parameter Name

Description

Value

transferFeeList

Type: Object

transferFeeList.assignedId

Aliased payment gateway name.

Type: String

transferFeeList.commissionCentis

Amount of commission to be held in centis, 1.00 EUR = 100 centis.

Type: Integer

transferFeeList.currency

Upper case letters (ISO 4217 alpha code).

Type: String

state

In addition to the values from Status Transfer, TRANSFER_FEE_REQUEST value only exists in this flow.

Type: String

Fail Response Parameters

Parameter Name

Description

Value

error

Type: Object

error.cause

Cause of the error. Possible values: FILTERED, INVALID_REQUEST, INTERNAL_ERROR, PROCESSING_FAILED, ORDER_NOT_FOUND.

Type: Enum

error.code

The unique error code.

Type: String

error.message

Description of the error.

Type: String

invoiceId

Transfer transaction identifier.

Type: String

Request Example

{
  "session": {
    "accessToken": "string",
    "token": "string"
  }
}

Success Response Example

{
  "bankOrderId": "string",
  "invoiceId": "string",
  "redirectUrl": "string",
  "session": {
    "token": "string"
  },
  "state": "enum"
}

Success Response Example for Consumer defined transfer rates


The following structure extends the default Transfer status response body (e.g. 2 processing gates):

{
  "bankOrderId": "string",
  "invoiceId": "string",
  "redirectUrl": "string",
  "session": {
    "token": "string"
  },
  "state": "TRANSFER_FEE_REQUEST",
  "transferFeeList": [
    {
      "assignedId": "string",
      "commissionCentis": "integer",
      "currency": "string"
    },
    {
      "assignedId": "string",
      "commissionCentis": "integer",
      "currency": "string"
    }
  ]
}

Fail Response Example

{
  "error": {
    "cause": "enum",
    "code": "string",
    "message": "string"
  },
  "invoiceId": "string"
}

Request Builder

Endpoint Id
Invoice Id

Generated by Merchant's server in "Initiate transfer"

session.accessToken

Generated by Merchant's server in "Consumer authentication"

session.token

Obtained in "Perform transfer" response