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.