Transfer card mapping notification

Introduction

Transfer card mapping notification is initiated through HTTPS POST request by using URLs and the parameters.

Card mapping notification is used to allow Consumer credentials (phone, email, billing address, twitter name, etc) for mapping to card data. Card mappings can be used later in transfer or sale transactions instead of card numbers and other cardholder information. Billblend sends Transfer card mapping notification request to Connecting Party’s server/proxy with created on its side card reference – {serverCardId}.

Connecting Party’s server maps this {serverCardId} to {clientCardId}, created on its side. This {clientCardId} can then be mapped in Connecting Party’s app or on Connecting Party’s server to any Consumer’s data from the initial Perform transfer request. This allows Connecting Party’s app to process sale or transfer transactions by Consumer’s email, phone number, etc.

{uniqueReferenceCardId} remains the same if Consumer makes another verification with the same card number but different expiry date, for example. It can be used by Connecting Party for loyalty programs or fraud control.

Connecting Party’s app makes new transfer requests using {clientCardId} instead of source or destination card data. Billblend sends this {clientCardId} to Connecting Party’s server in “Check transfer request” and gets mapped to it {serverCardId} in “Check transfer response” from Connecting Party’s server, which is used to continue processing the transfer transaction.

{serverCardId} of source or verified card can be used both as source or destination for new transfer and sale transactions; {serverCardId} of destination card can be used only as destination for new transfers.

API URLs

Connecting Party Server
https://proxy.connectingpartyserver.com/transfer/notification

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.Necessity: RequiredType: StringLength: 32-128
session.tokenThe session token of transfer transaction.Necessity: RequiredType: StringLength: 16-36
destinationCardNecessity: OptionalTypeObject
destinationCard.binThe Destination card BIN.Necessity: OptionalType: Integer
destinationCard.referenceNecessity: OptionalTypeObject
destinationCard.reference.serverCardIdThe Destination card reference identifier (on server side).Necessity: OptionalType: StringLength: 1-64
destinationCard.reference.uniqueReferenceCardIdThe Destination card unique identifier (on server side).Necessity: OptionalType: Integer
sourceCardNecessity: OptionalTypeObject
sourceCard.binThe Source card BIN.Necessity: OptionalType: Integer
sourceCard.referenceNecessity: OptionalTypeObject
sourceCard.reference.serverCardIdThe Source card reference identifier (on server side).Necessity: OptionalType: StringLength: 1-64
sourceCard.reference.uniqueReferenceCardIdThe Source card unique identifier (on server side).Necessity: OptionalType: Integer

Success Response Parameters

Parameter NameDescriptionValue
invoiceIdTransfer transaction identifier.Type: String
sessionTypeObject
session.checkSignatureChecksum generated by hmac-sha1 (see Signature computation) from the concatenation of session.nonce, endpointId and invoiceId.Type: String
session.nonceUnique random string generated by Connecting Party’s server.Type: String
session.tokenThe session token of transfer transaction.Type: String

Fail Response Parameters

Parameter NameDescriptionValue
errorTypeObject
error.causeСause 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
invoiceIdTransfer transaction identifier.Type: String

Request Example

{
  "consumer": {
    "device": {
      "serialNumber": "string"
    }
  },
  "destinationCard": {
    "bin": "integer",
    "reference": {
      "serverCardId": "string",
      "uniqueReferenceCardId": "integer"
      }
    },
  "session": {
    "accessToken": "string",
    "token":"string"
  },
  "sourceCard": {
    "bin": "integer",
    "reference": {
      "serverCardId": "string",
      "uniqueReferenceCardId": "integer"
    }
  }
}

Success Response Example

{
  "invoiceId": "string",
  "session": {
    "checkSignature": "string",
    "nonce": "string",
    "token": "string"
  }
}

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