Transactions
Bulk commit inflight
Commit multiple independently-created inflight transactions with the Go SDK.
POST
/
transactions
/
inflight
/
bulk
/
commit
Bulk commit inflight
curl --request POST \
--url http://localhost:5001/transactions/inflight/bulk/commit \
--header 'X-blnk-key: <api-key>'import requests
url = "http://localhost:5001/transactions/inflight/bulk/commit"
headers = {"X-blnk-key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'X-blnk-key': '<api-key>'}};
fetch('http://localhost:5001/transactions/inflight/bulk/commit', 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/bulk/commit",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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/bulk/commit"
req, _ := http.NewRequest("POST", 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.post("http://localhost:5001/transactions/inflight/bulk/commit")
.header("X-blnk-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:5001/transactions/inflight/bulk/commit")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["X-blnk-key"] = '<api-key>'
response = http.request(request)
puts response.read_bodyUse
Go response (
client.Transaction.BulkCommitInflight to commit multiple inflight transactions.
1
Call the method
- Queued commit
- Synchronous commit
client.Transaction.BulkCommitInflight
result, resp, err := client.Transaction.BulkCommitInflight(
blnkgo.BulkCommitInflightRequest{
Transactions: []blnkgo.BulkCommitInflightItem{
{
TransactionID: "txn_c4e70eb8-e4d6-4e04",
},
{
TransactionID: "txn_6164573b-6cc8-45a4",
Amount: 40,
},
{
TransactionID: "txn_0b59f6e6-6c4a-4efa",
PreciseAmount: big.NewInt(125034),
},
},
},
)
Pass
SkipQueue: true to process each commit synchronously instead of queuing.client.Transaction.BulkCommitInflight
result, resp, err := client.Transaction.BulkCommitInflight(
blnkgo.BulkCommitInflightRequest{
SkipQueue: true,
Transactions: []blnkgo.BulkCommitInflightItem{
{
TransactionID: "txn_c4e70eb8-e4d6-4e04",
},
{
TransactionID: "txn_6164573b-6cc8-45a4",
Amount: 40,
},
},
},
)
| Field | Type | Description |
|---|---|---|
Transactions | []blnkgo.BulkCommitInflightItem | Up to 100 inflight transactions to commit. |
Transactions[].TransactionID | string | Inflight transaction ID to commit. |
Transactions[].Amount | float64 | Partial commit amount. Omit to commit the full remaining inflight amount. |
Transactions[].PreciseAmount | *big.Int | Precision-applied partial commit amount. Takes precedence over Amount. |
SkipQueue | bool | When true, process synchronously instead of queuing. |
2
Response
200 OK
{
"succeeded": 2,
"failed": 1,
"results": [
{
"transaction_id": "txn_c4e70eb8-e4d6-4e04-a2e2-92a43b969e0c",
"status": "succeeded"
},
{
"transaction_id": "txn_6164573b-6cc8-45a4-ad2e-7b4ba6a60f7d",
"status": "succeeded"
},
{
"transaction_id": "txn_0b59f6e6-6c4a-4efa-915c-526f77ef61ab",
"status": "failed",
"code": "INVALID_AMOUNT",
"message": "cannot commit more than inflight amount"
}
]
}
Go response (*blnkgo.BulkCommitInflightResponse)
| Field | Type | Description |
|---|---|---|
Succeeded | int | Number committed successfully. |
Failed | int | Number that failed. |
Results | []blnkgo.BulkCommitInflightResult | Per-transaction outcome in request order. |
Results[].TransactionID | string | Transaction ID from the request. |
Results[].Status | string | succeeded or failed. |
Results[].Code | string | Failure code (for example NOT_FOUND, ALREADY_VOIDED, INVALID_AMOUNT). |
Results[].Message | string | Human-readable failure message. |
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