curl --request POST \
--url https://{host}/bonus/v2/transactions/{id}/capture \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"operationId": "<string>",
"amount": 123,
"cancelRemainingAmount": false,
"metadata": {}
}
'import requests
url = "https://{host}/bonus/v2/transactions/{id}/capture"
payload = {
"operationId": "<string>",
"amount": 123,
"cancelRemainingAmount": False,
"metadata": {}
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
operationId: '<string>',
amount: 123,
cancelRemainingAmount: false,
metadata: {}
})
};
fetch('https://{host}/bonus/v2/transactions/{id}/capture', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{host}/bonus/v2/transactions/{id}/capture",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'operationId' => '<string>',
'amount' => 123,
'cancelRemainingAmount' => false,
'metadata' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{host}/bonus/v2/transactions/{id}/capture"
payload := strings.NewReader("{\n \"operationId\": \"<string>\",\n \"amount\": 123,\n \"cancelRemainingAmount\": false,\n \"metadata\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{host}/bonus/v2/transactions/{id}/capture")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"operationId\": \"<string>\",\n \"amount\": 123,\n \"cancelRemainingAmount\": false,\n \"metadata\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{host}/bonus/v2/transactions/{id}/capture")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"operationId\": \"<string>\",\n \"amount\": 123,\n \"cancelRemainingAmount\": false,\n \"metadata\": {}\n}"
response = http.request(request)
puts response.read_body{
"state": "Waiting",
"remainingReservedAmount": 123
}{
"name": "<string>",
"message": "<string>",
"details": null
}{
"name": "<string>",
"message": "<string>",
"details": null
}Capture waiting transaction V2
Captures the specified amount from the reserved amount of the transaction. In case the amount is not specified, the full reserved amount of the transaction is captured. The operation is idempotent.
curl --request POST \
--url https://{host}/bonus/v2/transactions/{id}/capture \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"operationId": "<string>",
"amount": 123,
"cancelRemainingAmount": false,
"metadata": {}
}
'import requests
url = "https://{host}/bonus/v2/transactions/{id}/capture"
payload = {
"operationId": "<string>",
"amount": 123,
"cancelRemainingAmount": False,
"metadata": {}
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
operationId: '<string>',
amount: 123,
cancelRemainingAmount: false,
metadata: {}
})
};
fetch('https://{host}/bonus/v2/transactions/{id}/capture', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{host}/bonus/v2/transactions/{id}/capture",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'operationId' => '<string>',
'amount' => 123,
'cancelRemainingAmount' => false,
'metadata' => [
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{host}/bonus/v2/transactions/{id}/capture"
payload := strings.NewReader("{\n \"operationId\": \"<string>\",\n \"amount\": 123,\n \"cancelRemainingAmount\": false,\n \"metadata\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{host}/bonus/v2/transactions/{id}/capture")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"operationId\": \"<string>\",\n \"amount\": 123,\n \"cancelRemainingAmount\": false,\n \"metadata\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{host}/bonus/v2/transactions/{id}/capture")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"operationId\": \"<string>\",\n \"amount\": 123,\n \"cancelRemainingAmount\": false,\n \"metadata\": {}\n}"
response = http.request(request)
puts response.read_body{
"state": "Waiting",
"remainingReservedAmount": 123
}{
"name": "<string>",
"message": "<string>",
"details": null
}{
"name": "<string>",
"message": "<string>",
"details": null
}Authorizations
JWT Authorization header using the Bearer scheme. Example: "Authorization: Bearer {token}"
Path Parameters
Unique transaction id.
Body
Capture operation details.
Unique identifier of the capture operation (should be the same only for retries of the same operation).
1 - 128Amount which should be captured.
If set and some amount is left after capture it will be canceled and transaction will be automatically completed. Optional - default value is 'false'.
Optional property to extend metadata of transaction after it was created Only new properties (keys) are supported
Show child attributes
Show child attributes