Initiate transfer

Introduction

Initiate transfer is initiated through HTTPS POST request by using URLs and the parameters.

To initiate funds transfer, Connecting Party’s app sends {accessToken} with transaction amount and other device parameters to Connecting Party’s server, which are used to start a session with unique random {nonce} and encrypted {signature}.

In response Connecting Party’s server also provides information about invoice in Connecting Party’s system and endpoint in Billblend.

The Connecting Party’s server may also respond with the transaction’s commission.

API URLs

Connecting Party Server
https://proxy.connectingpartyserver.com/transfer/initiate-transfer

Request Parameters

Parameter NameDescriptionValue
consumerNecessity: RequiredTypeObject
consumer.deviceNecessity: RequiredTypeObject
consumer.device.serialNumberConsumer’s device serial number.Necessity: RequiredType: StringLength: 1-50
transactionNecessity: RequiredTypeObject
transaction.amountCentisTransaction amount, 1.00 EUR = 100 centis.Necessity: RequiredType: Integer
transaction.currencyUpper case letters (ISO 4217 alpha code).Necessity: RequiredType: StringLength: 3
sessionNecessity: RequiredTypeObject
session.accessTokenAccess token key received in Optional consumer authentication.Necessity: RequiredType: StringLength: 32-128
consumer.device.imeiConsumer’s device international mobile equipment identity.Necessity: OptionalType: StringLength: 14-16
locationNecessity: OptionalTypeObject
location.latThe latitude specified in the range of -90.0 through +90.0, both inclusive.Type: Double
location.lngThe longitude specified in the range -180.0 through +180.0, both inclusive.Type: Double
consumer.ipAddressesConsumer’s IP addresses.Type: List
consumer.ipAddresses[]Consumer’s IP address.Necessity: OptionalType: StringLength: 7-15
fromBinSource of funds card BIN (first 6 digits of card number) may be used to display pre-calculated commission.Necessity: OptionalType: StringLength: 6
toBinDestination of funds card BIN (first 6 digits of card number) may be used to display pre-calculated commission.Necessity: OptionalType: StringLength: 6

Success Response Parameters

Parameter NameDescriptionValue
endpointIdEntry point identifier for transfer transaction.Necessity: RequiredType: String
invoiceIdTransfer transaction identifier.Necessity: RequiredType: String
sessionNecessity: RequiredTypeObject
session.nonceUnique random string generated by Connecting Party’s server.Necessity: RequiredType: String
session.signatureChecksum generated by hmac-sha1 (see Signature computation) from the concatenation of the accessToken, consumer.device.serialNumber, endpointId, session.nonce, invoiceId, transaction.amountCentis and the transaction.currency.Necessity: RequiredType: String
ratesNecessity: OptionalTypeObject
rates.minPossible minimum commission amount.Necessity: OptionalType: String
rates.maxPossible maximum commission amount.Necessity: OptionalType: String

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

Request Example

{
  "consumer": {
    "device": {
      "imei": "string",
      "serialNumber": "string"
    },
    "ipAddresses": ["string"]
  },
  "location": {
    "lat": "double",
    "lng": "double"
  },
  "session": {
    "accessToken": "string"
  },
  "transaction": {
    "amountCentis": "integer",
    "currency": "string"
  }
}

Success Response Example

{
  "endpointId": "string",
  "invoiceId": "string",
  "rates": {
    "min": "string",
    "max": "string"
  },
  "session": {
    "nonce": "string",
    "signature": "string"
  }
}

Fail Response Example

{
  "error": {
    "cause": "enum",
    "code": "string",
    "message": "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