Perform transfer

Introduction

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

On this stage Connecting Party’s app sends cardholder, device, session data and other parameters straight to Billblend to perform funds transfer from card to card.

A lot of criteria checks and filters may be applied, such as BIN, currency, country, blacklisted or not, etc. Depending on the integration, these settings may be customizable.

API URLs

Integration Production
https://sandbox.billblend.com/checkout/dapi/v1/transfer/{endpointId}/{invoiceId} https://pay.billblend.com/checkout/dapi/v1/transfer/{endpointId}/{invoiceId}

Request Parameters

Parameter Name Description Value
consumer Β  Necessity: RequiredType:Β Object
consumer.device Β  Necessity: RequiredType:Β Object
consumer.device.serialNumber Consumer’s device serial number. Necessity: RequiredType: StringLength: 1-50
consumer.email Consumer’s email address, if sent in original card mapping transaction and card reference is being used instead of cardholder data. Necessity: RequiredType: StringLength: 3-128
destinationOfFunds Β  Necessity: RequiredType:Β Object
destinationOfFunds.card Only one of these subtypes (card, reference) should be used. Necessity: RequiredType:Β Object
destinationOfFunds.card.number Destination card number (PAN). Necessity: RequiredType: StringLength: 9-19
destinationOfFunds.reference Only one of these subtypes (card, reference) should be used. Necessity: RequiredType:Β Object
destinationOfFunds.reference.clientCardId Destination card reference identifier (on client side). Necessity: RequiredType: StringLength: 1-128
session Β  Necessity: RequiredType:Β Object
session.accessToken Access token key received in Optional consumer authentication. Necessity: RequiredType: StringLength: 32-128
session.nonce Value received in Initiate transfer response. Necessity: RequiredType: StringLength: 32-128
session.signature Value received in Initiate transfer response. Necessity: RequiredType: StringLength: 32-128
sourceOfFunds Β  Necessity: RequiredType:Β Object
sourceOfFunds.card Only one of these subtypes (card, reference) should be used. Necessity: RequiredType:Β Object
sourceOfFunds.card.expiry Β  Necessity: RequiredType:Β Object
sourceOfFunds.card.expiry.month Source Card expiration month. Necessity: RequiredType: IntegerLength: 2
sourceOfFunds.card.expiry.year Source Card expiration year. Necessity: RequiredType: IntegerLength: 4
sourceOfFunds.card.holder Β  Necessity: RequiredType:Β Object
sourceOfFunds.card.holder.firstName Cardholder’s first name. Necessity: RequiredType: StringLength: 1-50
sourceOfFunds.card.holder.lastName Cardholder’s last name. Necessity: RequiredType: StringLength: 1-50
sourceOfFunds.card.holder.printedName Cardholder’s printed name (first and last name together). May be used instead of firstName + lastName. Necessity: RequiredType: StringLength: 1-50
sourceOfFunds.card.number Source card number (PAN). Necessity: RequiredType: StringLength: 9-19
sourceOfFunds.card.securityCode Source card security code (CVV). Necessity: RequiredType: StringLength: 3-4
sourceOfFunds.reference only one of these subtypes (card, reference) should be used. Necessity: RequiredType:Β Object
sourceOfFunds.reference.clientCardId Source card reference identifier (on client side). Necessity: RequiredType: StringLength: 1-128
sourceOfFunds.reference.securityCode Source card security code (CVV). Necessity: RequiredType: StringLength: 3-4
transaction Β  Necessity: RequiredType:Β Object
transaction.amountCentis Transaction amount, 1.00 EUR = 100 centis. Necessity: RequiredType: Integer
transaction.currency Upper case letters (ISO 4217 alpha code). Necessity: RequiredType: StringLength: 3
location Β  Necessity: OptionalType:Β Object
location.lat The latitude specified in the range of -90.0 through +90.0, both inclusive. Necessity: OptionalType: Double
location.lng The longitude specified in the range -180.0 through +180.0, both inclusive. Necessity: OptionalType: Double
billing Β  Necessity: OptionalType:Β Object
billing.address Β  Necessity: OptionalType:Β Object
billing.address.city City name. Necessity: OptionalType: StringLength: 1-100
billing.address.country ISO alpha3 country code. Necessity: OptionalType: StringLength: 3
billing.address.postcodeZip ZIP post code. Necessity: OptionalType: StringLength: 1-10
billing.address.state State is used if present. For example, Los Angeles is in CA state. Necessity: OptionalType: StringLength: 2-3
billing.address.street Street is used for district names and street names. Necessity: OptionalType: StringLength: 1-50
billing.address.street2 Street 2 is used for long addresses. Usually it contains apartment and building β„–. Necessity: OptionalType: StringLength: 1-50
billing.phone Consumer’s contact phone number. Necessity: OptionalType: StringLength: 1-20
consumer.birthDay Consumer’s birth day in β€œddMMyyyy” format. Necessity: OptionalType: StringLength: 8
consumer.device.imei Consumer’s device international mobile equipment identity. Necessity: OptionalType: StringLength: 14-16
consumer.ipAddresses Consumer’s IP addresses. Necessity: OptionalType: List
consumer.ipAddresses[] Consumer’s IP address. Necessity: OptionalType: StringLength: 7-15
order Β  Necessity: OptionalType:Β Object
order.description Brief transaction description. May be mandatory for certain Acquirer Banks. Necessity: OptionalType: StringLength: 128
order.siteUrl URL of website associated with the transaction. Necessity: OptionalType: StringLength: 128
order.purpose May be used for better transaction control or additional checks. Necessity: OptionalType: StringLength: 128

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

Fail Response Parameters

Parameter Name Description Value
error Β  Type:Β Object
error.cause Cause of the error. Possible values:Β INVALID_REQUEST,Β INVALID_CONFIGURATION,Β INTERNAL_ERROR,Β PROCESSING_FAILED. 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

{
  "billing": {
    "address": {
      "city": "string",
      "country": "string",
      "postcodeZip": "string",
      "state": "string",
      "street": "string",
      "street2": "string"
    },
    "phone": "string"
  },
  "consumer": {
    "birthDay": "string",
    "device": {
      "imei": "string",
      "serialNumber": "string"
    },
    "email": "string",
    "ipAddresses": ["string"]
  },
  "destinationOfFunds": {
    "card": {
      "number": "string",
    },
    "reference": {
      "clientCardId": "string"
    }
  },
  "location": {
    "lat": "double",
    "lng": "double"
  },
  "order": {
    "description": "string",
    "siteUrl": "string",
    "purpose": "string"
  },
  "session": {
    "accessToken": "string",
    "nonce": "string",
    "signature": "string"
  },
  "sourceOfFunds": {
    "card": {
      "expiry": {
        "month": "integer",
        "year": "integer"
      },
      "holder":{
        "firstName": "string",
        "lastName": "string"
      },
      "number": "string",
      "securityCode": "string"
    },
    "reference": {
      "clientCardId": "string",
      "securityCode": "string"
    }
  },
  "transaction": {
    "amountCentis": "integer",
    "currency": "string"
  }
}

Success Response Example

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

Fail Response Example

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

Request Builder

For integration purposes useΒ Billblend test scenariosΒ to generate random card numbers.

Contact us

Contact us in Telegram

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