Transfer status
Introduction
Transfer status is initiated through HTTPS POST request by using URLs and the parameters.
Funds transfer status request is made by Connecting Party’s app to Billblend to get the status of transfer transaction.
It is recommended to send Transfer status request for a period of 2-3 minutes with interval of 3-5 seconds between requests. Connecting Party’s server should rely on the callback for final status.
API URLs
| Integration | Production |
|---|---|
| https://sandbox.billblend.com/checkout/dapi/v1/transfer/{endpointId}/{invoiceId}/status | https://pay.billblend.com/checkout/dapi/v1/transfer/{endpointId}/{invoiceId}/status |
Request Parameters
| Parameter Name | Description | Value |
|---|---|---|
| session | Type: Object | |
| session.accessToken | The access token key received in Optional consumer authentication. | Type: StringLength: 32-128 |
| session.token | The session token of transfer transaction. | Type: StringLength: 16-36 |
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 |
| state | Possible values: PROCESSING, REDIRECT_REQUEST, APPROVED, DECLINED. If Consumer defined transfer rates enable get TRANSFER_FEE_REQUEST. | Type: Enum |
| bankOrderId | Required if state is APPROVED or DECLINED. | Necessity: ConditionalType: StringLength: 128 |
| redirectUrl | Required if state is REDIRECT_REQUEST. | Necessity: ConditionalType: StringLength: 128 |
| orderId | Order identifier in payment processing system. | Necessity: ConditionalType: String |
| transaction | Necessity: ConditionalType: Object | |
| transaction.amountCentis | Amount of money transfered in centis, 1.00 EUR = 100 centis. | Necessity: ConditionalType: Integer |
| transaction.commissionCentis | Amount of commission held in centis. | Necessity: ConditionalType: Integer |
| transaction.orderCreatedDate | Order creation date in payment processing system. | Necessity: ConditionalType: String |
| transaction.transactionCreatedDate | Transaction creation date in payment processing system. | Necessity: ConditionalType: String |
| errorCode | Decline reason code, may present if state is DECLINED. | Necessity: OptionalType: Integer |
| errorMessage | Decline reason message, may present if state is DECLINED. | Necessity: OptionalType: StringLength: 128 |
| secure3DAuthStatus | Possible values: AUTHENTICATED, NOT_AUTHENTICATED, UNSUPPORTED means that card does not support 3-D Secure or 3DS authentication process finished with an unknown status. | Necessity: OptionalType: Enum |
| randomSumAuthStatus | Possible values: AUTHENTICATED, NOT_AUTHENTICATED. | Necessity: OptionalType: Enum |
Success Response Parameters for Consumer defined transfer rates
Transfer status response includes the state parameter with TRANSFER_FEE_REQUEST value and the transferFeeList object with a list of commissions for possible processing gates. Each processing gate is represented by it’s own aliased name in assignedId parameter. TRANSFER_FEE_REQUEST value in state parameter exists only in “Consumer defined transfer rates” flow.
When the transaction reaches TRANSFER_FEE_REQUEST state, the processing will remain paused until Complete transfer request is sent.
| Parameter Name | Description | Value |
|---|---|---|
| transferFeeList | Type: Object | |
| transferFeeList.assignedId | Aliased payment gateway name. | Type: String |
| transferFeeList.commissionCentis | Amount of commission to be held in centis, 1.00 EUR = 100 centis. | Type: Integer |
| transferFeeList.currency | Upper case letters (ISO 4217 alpha code). | Type: String |
| state | In addition to the values from Status Transfer, TRANSFER_FEE_REQUEST value only exists in this flow. | Type: String |
Fail Response Parameters
| Parameter Name | Description | Value |
|---|---|---|
| error | Type: Object | |
| error.cause | Cause of the error. Possible values: FILTERED, INVALID_REQUEST, INTERNAL_ERROR, PROCESSING_FAILED, ORDER_NOT_FOUND. | 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
{
"session": {
"accessToken": "string",
"token": "string"
}
}
Success Response Example
{
"bankOrderId": "string",
"invoiceId": "string",
"redirectUrl": "string",
"session": {
"token": "string"
},
"state": "enum"
}
Success Response Example for Consumer defined transfer rates
The following structure extends the default Transfer status response body (e.g. 2 processing gates):
{
"bankOrderId": "string",
"invoiceId": "string",
"redirectUrl": "string",
"session": {
"token": "string"
},
"state": "TRANSFER_FEE_REQUEST",
"transferFeeList": [
{
"assignedId": "string",
"commissionCentis": "integer",
"currency": "string"
},
{
"assignedId": "string",
"commissionCentis": "integer",
"currency": "string"
}
]
}
Fail Response Example
{
"error": {
"cause": "enum",
"code": "string",
"message": "string"
},
"invoiceId": "string"
}
Request Builder
Request Builder is available at this link – https://doc.billblend.com/integration/API_commands/api_mobile_device/api_transfer_status.html#request-builder