Check sale

Introduction

Check sale is initiated through HTTPS POST request by using URLs and the parameters.

Check sale is used for security purposes and allows Billblend to compare the data sent by Connecting Party’s app with the data stored on Connecting Party’s server.

It is highly recommended to respond with the actual information stored on Connecting Party’s server.

API URLs

Connecting Party Server
https://proxy.connectingpartyserver.com/sale/{invoiceId}/check

Request Parameters

Parameter NameDescriptionValue
consumerNecessity: RequiredTypeObject
consumer.deviceNecessity: RequiredTypeObject
consumer.device.serialNumberConsumer’s device serial number.Necessity: RequiredType: StringLength: 1-50
sessionNecessity: RequiredTypeObject
session.accessTokenConsumer’s access token key sent by Connecting Party’s app.Necessity: RequiredType: StringLength: 32-128
session.nonceValue sent by Connecting Party’s app.Necessity: RequiredType: StringLength: 32-128
session.signatureValue sent by Connecting Party’s app.Necessity: RequiredType: StringLength: 32-128
session.tokenThe session token of sale transaction.Necessity: RequiredType: StringLength: 16-36
sourceOfFundsNecessity: OptionalTypeObject
sourceOfFunds.referenceNecessity: OptionalTypeObject
sourceOfFunds.reference.clientCardIdThe source card reference identifier (on client side) if sent in Perform sale request.Necessity: OptionalType: StringLength: 1-128

Success Response Parameters

Parameter NameDescriptionValue
invoiceIdSale transaction identifierNecessity: RequiredType: String
sessionNecessity: RequiredTypeObject
session.checkSignatureChecksum generated by hmac-sha1 (see Signature computation) from the concatenation of the consumer.device.serialNumber, session.nonce, endpointId, invoiceId, sourceOfFunds.reference.serverCardId (if present).Necessity: RequiredType: String
session.nonceUnique random string generated by Connecting Party’s server in Initiate sale response.Necessity: RequiredType: String
session.tokenThe session token of sale transaction.Necessity: RequiredType: String
consumer.emailСonsumer’s email address, if sent in original card mapping transaction.Necessity: OptionalType: String
sourceOfFundsNecessity: OptionalTypeObject
sourceOfFunds.referenceNecessity: OptionalTypeObject
sourceOfFunds.reference.serverCardIdThe source card reference identifier (on server side).Necessity: OptionalType: String
transaction.currencyUpper case letters (ISO 4217 alpha code).Necessity: OptionalType: String
transaction.randomSumCentisRandom sum amount (for random sum check), 1.00 EUR = 100 centis.Necessity: OptionalType: Integer

Fail Response Parameters

Parameter NameDescriptionValue
errorTypeObject
error.causeCause of the error. Possible values: FILTEREDINVALID_REQUESTSERVER_FAILEDSERVER_UNAVAILABLE.Type: Enum
error.codeThe unique error code.Type: String
error.messageDescription of the error.Type: String
invoiceIdSale transaction identifier.Type: String

Request Example

{
  "consumer": {
    "device": {
      "serialNumber": "string"
    }
  },
  "session": {
    "accessToken": "string",
    "nonce": "string",
    "signature": "string",
    "token": "string"
  },
  "sourceOfFunds": {
    "reference": {
      "clientCardId": "string"
    }
  }
}

Success Response Example

{
  "consumer": {
    "email": "string"
  },
  "invoiceId": "string",
  "session": {
    "checkSignature": "string",
    "nonce": "string",
    "token": "string"
  },
  "sourceOfFunds": {
    "card": {
      "expiry": {
        "month": "integer",
        "year": "integer"
      },
      "holder":{
        "firstName": "string",
        "lastName": "string"
      },
      "number": "string"
    },
    "reference": {
      "serverCardId": "string",
    }
  },
  "transaction": {
    "currency": "string",
    "randomSumCentis": "integer"
  }
}

Fail Response Example

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

Contact us

By clicking on the button, you agree to the data protection policy

Complete the quiz

By clicking on the button, you agree to the data protection policy