Check verification

Introduction

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

Check verification 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/verification/{invoiceId}/check

Request Parameters

Parameter NameDescriptionValue
consumerTypeObject
consumer.deviceTypeObject
consumer.device.serialNumberConsumer’s device serial number.Type: StringLength: 1-50
sessionTypeObject
session.accessTokenConsumer’s access token key sent by Connecting Party’s app.Type: StringLength: 32-128
session.nonceValue sent by Connecting Party’s app.Type: StringLength: 32-128
session.signatureValue sent by Connecting Party’s app.Type: StringLength: 32-128
session.tokenThe session token of verification transaction.Type: StringLength: 16-36

Success Response Parameters

Parameter NameDescriptionValue
invoiceIdVerification transaction identifier.Necessity: RequiredType: String
sessionNecessity: RequiredTypeObject
session.checkSignatureChecksum generated by hmac-sha1 (see Signature computation) from the concatenation of consumer.device.serialNumber, session.nonce, endpointId and invoiceId.Necessity: RequiredType: String
session.nonceUnique random string generated by Connecting Party’s server in Initiate verification response.Necessity: RequiredType: String
session.tokenThe session token of verification transaction.Necessity: RequiredType: String
billingNecessity: OptionalTypeObject
billing.addressNecessity: OptionalTypeObject
billing.address.cityCity name.Necessity: OptionalType: String
billing.address.countryISO alpha3 country code.Necessity: OptionalType: String
billing.address.postcodeZipZIP post code.Necessity: OptionalType: String
billing.address.stateState is used if present. For example, Los Angeles is in CA state.Necessity: OptionalType: String
billing.address.streetStreet is used for district names and street names.Necessity: OptionalType: String
billing.address.street2Street 2 is used for long addresses. Usually it contains apartment and building №.Necessity: OptionalType: String
billing.phoneCustomer’s contact phone number.Necessity: OptionalType: String
consumer.birthDayConsumer’s birth day in “ddMMyyyy” format.Necessity: OptionalType: String
consumer.emailConsumer’s email address.Necessity: OptionalType: String
consumer.ipAddressesConsumer’s IP addresses.Necessity: OptionalType: List
consumer.ipAddresses[]Consumer’s IP address.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
invoiceIdVerification transaction identifier.Type: String

Request Example

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

Success Response Example

{
  "billing": {
    "address": {
      "city": "string",
      "country": "string",
      "postcodeZip": "string",
      "state": "string",
      "street": "string",
      "street2": "string"
    },
    "phone": "string"
  },
  "consumer": {
    "birthDay": "string",
    "email": "string",
    "ipAddresses": ["string"]
  },
  "invoiceId": "string",
  "session": {
    "checkSignature": "string",
    "nonce": "string",
    "token": "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