Transactions
Update inflight
Commit or void an inflight transaction with the Java SDK.
PUT
/
transactions
/
inflight
/
{transaction_id}
Update inflight
curl --request PUT \
--url http://localhost:5001/transactions/inflight/{transaction_id} \
--header 'X-blnk-key: <api-key>'import requests
url = "http://localhost:5001/transactions/inflight/{transaction_id}"
headers = {"X-blnk-key": "<api-key>"}
response = requests.put(url, headers=headers)
print(response.text)const options = {method: 'PUT', headers: {'X-blnk-key': '<api-key>'}};
fetch('http://localhost:5001/transactions/inflight/{transaction_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "5001",
CURLOPT_URL => "http://localhost:5001/transactions/inflight/{transaction_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_HTTPHEADER => [
"X-blnk-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "http://localhost:5001/transactions/inflight/{transaction_id}"
req, _ := http.NewRequest("PUT", url, nil)
req.Header.Add("X-blnk-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("http://localhost:5001/transactions/inflight/{transaction_id}")
.header("X-blnk-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:5001/transactions/inflight/{transaction_id}")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Put.new(url)
request["X-blnk-key"] = '<api-key>'
response = http.request(request)
puts response.read_bodyUse
blnk.transactions().updateStatus for this operation.
1
Call the method
- Commit
- Partial commit
- Void
- Dry run
String transactionId = "txn_f482a1b3-6c2d-4e89-a17b-3d5e8f2a1c94";
ApiResponse<JsonNode> response = blnk.transactions().updateStatus(
transactionId,
UpdateTransactionStatus.create().status("commit"));
String transactionId = "txn_f482a1b3-6c2d-4e89-a17b-3d5e8f2a1c94";
ApiResponse<JsonNode> response = blnk.transactions().updateStatus(
transactionId,
UpdateTransactionStatus.create()
.status("commit")
.amount(500));
String transactionId = "txn_f482a1b3-6c2d-4e89-a17b-3d5e8f2a1c94";
ApiResponse<JsonNode> response = blnk.transactions().updateStatus(
transactionId,
UpdateTransactionStatus.create().status("void"));
Preview the commit or void without settling the hold. See Dry-run transactions.
ApiResponse<JsonNode> preview = blnk.transactions().updateStatus(
"txn_c4e70eb8-e4d6-4e04-a2e2-92a43b969e0c",
UpdateTransactionStatus.create()
.status("commit")
.dryRun(true));
| Java builder | Wire field | Type | Description |
|---|---|---|---|
| (path argument) | id | String | Inflight transaction ID, or batch ID from createBulk. |
status() | status | String | commit to apply funds, or void to cancel and roll back. |
amount() | amount | Number | Partial commit amount. See Partial commits. |
preciseAmount() | precise_amount | Number | Precision-applied partial commit amount. Takes precedence over amount(). |
2
Confirm the outcome
Check
response.data().get("status").asText() for APPLIED or VOID. The child gets a new transaction_id. Use parent_transaction to link it to the original inflight transaction.A dry run has no transaction_id. Check would_apply instead.3
Response
- Commit
- Partial commit
- Void
- Dry run
200 OK
{
"amount": 1250.34,
"precision": 100,
"precise_amount": 125034,
"transaction_id": "txn_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"parent_transaction": "txn_c4e70eb8-e4d6-4e04-a2e2-92a43b969e0c",
"source": "bln_f344b673-e855-4bda-b769-3e94a02c1941",
"destination": "@WorldUSD",
"reference": "ref_2ye281ewiu",
"currency": "USD",
"description": "Card payment on Stripe",
"status": "APPLIED",
"hash": "0b9c25fb5b00d6c71cb4ca87026bf6dc316e63353d33deb588bd0",
"created_at": "2024-11-26T09:33:35.265582042Z"
}
200 OK
{
"amount": 500,
"precision": 100,
"precise_amount": 50000,
"transaction_id": "txn_b2c3d4e5-f6a7-8901-bcde-f23456789012",
"parent_transaction": "txn_c4e70eb8-e4d6-4e04-a2e2-92a43b969e0c",
"source": "bln_f344b673-e855-4bda-b769-3e94a02c1941",
"destination": "@WorldUSD",
"reference": "ref_2ye281ewiu",
"currency": "USD",
"description": "Card payment on Stripe",
"status": "APPLIED",
"hash": "0b9c25fb5b00d6c71cb4ca87026bf6dc316e63353d33deb588bd0",
"created_at": "2024-11-26T09:33:35.265582042Z"
}
200 OK
{
"amount": 1250.34,
"precision": 100,
"precise_amount": 125034,
"transaction_id": "txn_c3d4e5f6-a7b8-9012-cdef-345678901234",
"parent_transaction": "txn_c4e70eb8-e4d6-4e04-a2e2-92a43b969e0c",
"source": "bln_f344b673-e855-4bda-b769-3e94a02c1941",
"destination": "@WorldUSD",
"reference": "ref_2ye281ewiu",
"currency": "USD",
"description": "Card payment on Stripe",
"status": "VOID",
"hash": "0b9c25fb5b00d6c71cb4ca87026bf6dc316e63353d33deb588bd0",
"created_at": "2024-11-26T09:33:35.265582042Z"
}
200 OK
{
"dry_run": true,
"would_apply": true,
"operation": "commit",
"status": "APPLIED",
"reference": "ref_card_settle_4821",
"currency": "USD",
"amount": 120,
"precise_amount": "12000",
"precision": 100
}
| Field | Type | Description |
|---|---|---|
transaction_id | String | ID of the new transaction created by the commit or void. |
parent_transaction | String | Original inflight transaction this resolves. |
status | String | APPLIED or VOID. |
precise_amount | Number | Amount applied (amount × precision). |
Related docs
Inflight transactions
Holds, commits, voids, and partial commits.
Update inflight
HTTP request and response schema.
Need help?
We are very happy to help you make the most of Blnk, regardless of whether it is your first time or you are switching from another tool. To ask questions or discuss issues, please contact us or join our Discord community.Was this page helpful?
⌘I