Transactions

Update inflight

Commit or void an inflight transaction with the Go SDK.

PUT/transactions/inflight/{transaction_id}

Use client.Transaction.Update to commit or void an inflight transaction or batch.

Call the method

transaction, _, _ := client.Transaction.Update(
	"txn_c4e70eb8-e4d6-4e04-a2e2-92a43b969e0c",
	blnkgo.UpdateStatus{
		Status: blnkgo.InflightStatusCommit,
	},
)
transaction, _, _ := client.Transaction.Update(
	"txn_c4e70eb8-e4d6-4e04-a2e2-92a43b969e0c",
	blnkgo.UpdateStatus{
		Status: blnkgo.InflightStatusCommit,
		Amount: 500,
	},
)
transaction, _, _ := client.Transaction.Update(
	"txn_c4e70eb8-e4d6-4e04-a2e2-92a43b969e0c",
	blnkgo.UpdateStatus{
		Status: blnkgo.InflightStatusVoid,
	},
)

Pass SkipQueue: true to process the commit or void synchronously instead of queuing.

transaction, _, _ := client.Transaction.Update(
	"txn_c4e70eb8-e4d6-4e04-a2e2-92a43b969e0c",
	blnkgo.UpdateStatus{
		Status: blnkgo.InflightStatusCommit,
		SkipQueue: true,
	},
)

Preview the commit or void without settling the hold. Use UpdateDryRun. See Dry-run transactions.

preview, _, _ := client.Transaction.UpdateDryRun(
	"txn_c4e70eb8-e4d6-4e04-a2e2-92a43b969e0c",
	blnkgo.UpdateStatus{
		Status: blnkgo.InflightStatusCommit,
	},
)
FieldTypeDescription
transactionIDstringInflight transaction ID, or batch ID from CreateBulk.
Statusblnkgo.InflightStatusInflightStatusCommit to apply funds, or InflightStatusVoid to cancel and roll back.
Amountfloat64Partial commit amount. See Partial commits.
PreciseAmount*big.IntPrecision-applied partial commit amount. Takes precedence over Amount.
SkipQueueboolWhen true, process synchronously instead of queuing.

Confirm the outcome

On a posted update, check transaction.Status for APPLIED or VOID. The child gets a new TransactionID. Use ParentTransactionID to link it to the original inflight transaction.

A dry run has no transaction ID. Check WouldApply instead.

Response

{
  "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"
}
{
  "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"
}
{
  "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"
}
{
  "dry_run": true,
  "would_apply": true,
  "operation": "commit",
  "status": "APPLIED",
  "reference": "ref_card_settle_4821",
  "currency": "USD",
  "amount": 120,
  "precise_amount": "12000",
  "precision": 100
}

Go response (*blnkgo.Transaction)

FieldTypeDescription
TransactionIDstringID of the new transaction created by the commit or void.
ParentTransactionIDstringOriginal inflight transaction this resolves.
Statusblnkgo.
PryTransactionStatus
APPLIED or VOID.
PreciseAmount*big.IntAmount applied in minor units.
Amountfloat64Float amount after precision is applied.
SourcestringSource balance.
DestinationstringDestination balance.
ReferencestringReference for the commit or void transaction.
CreatedAttime.TimeDate and time the transaction was created.