Mutabakatı sonuçlandır
curl --request POST \
--url https://vpos-sandbox.payven.com.tr/api/v1/reconciliations/{id}/finalize \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"notes": "<string>",
"force_partial": true
}
'import requests
url = "https://vpos-sandbox.payven.com.tr/api/v1/reconciliations/{id}/finalize"
payload = {
"notes": "<string>",
"force_partial": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({notes: '<string>', force_partial: true})
};
fetch('https://vpos-sandbox.payven.com.tr/api/v1/reconciliations/{id}/finalize', 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://vpos-sandbox.payven.com.tr/api/v1/reconciliations/{id}/finalize",
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([
'notes' => '<string>',
'force_partial' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://vpos-sandbox.payven.com.tr/api/v1/reconciliations/{id}/finalize"
payload := strings.NewReader("{\n \"notes\": \"<string>\",\n \"force_partial\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://vpos-sandbox.payven.com.tr/api/v1/reconciliations/{id}/finalize")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"notes\": \"<string>\",\n \"force_partial\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://vpos-sandbox.payven.com.tr/api/v1/reconciliations/{id}/finalize")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"notes\": \"<string>\",\n \"force_partial\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"scope": "<string>",
"connector_config_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"connector_config_name": "<string>",
"merchant_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"merchant_name": "<string>",
"bank_code": "<string>",
"period": "<string>",
"period_start": "2023-11-07T05:31:56Z",
"period_end": "2023-11-07T05:31:56Z",
"reconciliation_date": "2023-12-25",
"total_db_transactions": 123,
"total_bank_transactions": 123,
"matched_count": 123,
"amount_mismatch_count": 123,
"status_mismatch_count": 123,
"orphan_db_count": 123,
"orphan_bank_count": 123,
"resolved_count": 123,
"ignored_count": 123,
"total_db_amount": 123,
"total_bank_amount": 123,
"overall_status": "<string>",
"finalized_at": "2023-11-07T05:31:56Z",
"finalized_by": "<string>",
"notes": "<string>",
"created": "2023-11-07T05:31:56Z",
"details": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"reconciliation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"transaction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"bank_transaction_id": "<string>",
"db_amount": 123,
"bank_amount": 123,
"db_status": "<string>",
"bank_status": "<string>",
"discrepancy": "<string>",
"detail_status": "<string>",
"resolution_action": "<string>",
"adjusted_amount": 123,
"applied_status": "<string>",
"resolved_at": "2023-11-07T05:31:56Z",
"resolved_by": "<string>",
"remarks": "<string>"
}
]
}{
"type": "https://docs.payven.com.tr/errors/bad_request",
"title": "Geçersiz istek",
"status": 400,
"code": "bad_request",
"detail": "amount.amount alanı zorunlu.",
"correlation_id": "9f1c8e76-2a3b-4f12-9c8d-12cb24a8a8a8"
}{
"type": "https://docs.payven.com.tr/errors/invalid_token",
"title": "Geçersiz token",
"status": 401,
"code": "invalid_token",
"detail": "Access token geçersiz veya süresi dolmuş — refresh edin."
}{
"type": "https://docs.payven.com.tr/errors/forbidden",
"title": "Yetki yok",
"status": 403,
"code": "forbidden",
"detail": "Bu rol bu kaynağı göremez."
}{
"type": "https://docs.payven.com.tr/errors/resource_not_found",
"title": "Kaynak bulunamadı",
"status": 404,
"code": "resource_not_found"
}{
"type": "https://docs.payven.com.tr/errors/idempotency_key_in_use",
"title": "Idempotency-Key çakışması",
"status": 409,
"code": "idempotency_key_in_use",
"detail": "Bu Idempotency-Key daha önce farklı bir istek gövdesi ile kullanıldı."
}{
"type": "https://docs.payven.com.tr/errors/bank_declined",
"title": "Banka işlemi reddetti",
"status": 422,
"code": "bank_declined",
"detail": "Yetersiz bakiye (banka kodu: 51)",
"provider_error_code": "51"
}{
"type": "https://docs.payven.com.tr/errors/rate_limit_exceeded",
"title": "İstek limiti aşıldı",
"status": 429,
"code": "rate_limit_exceeded"
}{
"type": "https://docs.payven.com.tr/errors/internal_server_error",
"title": "Sunucu hatası",
"status": 500,
"code": "internal_server_error"
}{
"type": "https://docs.payven.com.tr/errors/connector_unavailable",
"title": "Konnektör erişilemez",
"status": 503,
"code": "connector_unavailable"
}Reconciliations
Mutabakatı sonuçlandır
POST
/
api
/
v1
/
reconciliations
/
{id}
/
finalize
Mutabakatı sonuçlandır
curl --request POST \
--url https://vpos-sandbox.payven.com.tr/api/v1/reconciliations/{id}/finalize \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"notes": "<string>",
"force_partial": true
}
'import requests
url = "https://vpos-sandbox.payven.com.tr/api/v1/reconciliations/{id}/finalize"
payload = {
"notes": "<string>",
"force_partial": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({notes: '<string>', force_partial: true})
};
fetch('https://vpos-sandbox.payven.com.tr/api/v1/reconciliations/{id}/finalize', 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://vpos-sandbox.payven.com.tr/api/v1/reconciliations/{id}/finalize",
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([
'notes' => '<string>',
'force_partial' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://vpos-sandbox.payven.com.tr/api/v1/reconciliations/{id}/finalize"
payload := strings.NewReader("{\n \"notes\": \"<string>\",\n \"force_partial\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://vpos-sandbox.payven.com.tr/api/v1/reconciliations/{id}/finalize")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"notes\": \"<string>\",\n \"force_partial\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://vpos-sandbox.payven.com.tr/api/v1/reconciliations/{id}/finalize")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"notes\": \"<string>\",\n \"force_partial\": true\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"scope": "<string>",
"connector_config_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"connector_config_name": "<string>",
"merchant_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"merchant_name": "<string>",
"bank_code": "<string>",
"period": "<string>",
"period_start": "2023-11-07T05:31:56Z",
"period_end": "2023-11-07T05:31:56Z",
"reconciliation_date": "2023-12-25",
"total_db_transactions": 123,
"total_bank_transactions": 123,
"matched_count": 123,
"amount_mismatch_count": 123,
"status_mismatch_count": 123,
"orphan_db_count": 123,
"orphan_bank_count": 123,
"resolved_count": 123,
"ignored_count": 123,
"total_db_amount": 123,
"total_bank_amount": 123,
"overall_status": "<string>",
"finalized_at": "2023-11-07T05:31:56Z",
"finalized_by": "<string>",
"notes": "<string>",
"created": "2023-11-07T05:31:56Z",
"details": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"reconciliation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"transaction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"bank_transaction_id": "<string>",
"db_amount": 123,
"bank_amount": 123,
"db_status": "<string>",
"bank_status": "<string>",
"discrepancy": "<string>",
"detail_status": "<string>",
"resolution_action": "<string>",
"adjusted_amount": 123,
"applied_status": "<string>",
"resolved_at": "2023-11-07T05:31:56Z",
"resolved_by": "<string>",
"remarks": "<string>"
}
]
}{
"type": "https://docs.payven.com.tr/errors/bad_request",
"title": "Geçersiz istek",
"status": 400,
"code": "bad_request",
"detail": "amount.amount alanı zorunlu.",
"correlation_id": "9f1c8e76-2a3b-4f12-9c8d-12cb24a8a8a8"
}{
"type": "https://docs.payven.com.tr/errors/invalid_token",
"title": "Geçersiz token",
"status": 401,
"code": "invalid_token",
"detail": "Access token geçersiz veya süresi dolmuş — refresh edin."
}{
"type": "https://docs.payven.com.tr/errors/forbidden",
"title": "Yetki yok",
"status": 403,
"code": "forbidden",
"detail": "Bu rol bu kaynağı göremez."
}{
"type": "https://docs.payven.com.tr/errors/resource_not_found",
"title": "Kaynak bulunamadı",
"status": 404,
"code": "resource_not_found"
}{
"type": "https://docs.payven.com.tr/errors/idempotency_key_in_use",
"title": "Idempotency-Key çakışması",
"status": 409,
"code": "idempotency_key_in_use",
"detail": "Bu Idempotency-Key daha önce farklı bir istek gövdesi ile kullanıldı."
}{
"type": "https://docs.payven.com.tr/errors/bank_declined",
"title": "Banka işlemi reddetti",
"status": 422,
"code": "bank_declined",
"detail": "Yetersiz bakiye (banka kodu: 51)",
"provider_error_code": "51"
}{
"type": "https://docs.payven.com.tr/errors/rate_limit_exceeded",
"title": "İstek limiti aşıldı",
"status": 429,
"code": "rate_limit_exceeded"
}{
"type": "https://docs.payven.com.tr/errors/internal_server_error",
"title": "Sunucu hatası",
"status": 500,
"code": "internal_server_error"
}{
"type": "https://docs.payven.com.tr/errors/connector_unavailable",
"title": "Konnektör erişilemez",
"status": 503,
"code": "connector_unavailable"
}Authorizations
Identity servisinden alinan Keycloak JWT. Format: Authorization: Bearer <token>. Token alma: POST /api/v1/auth/{slug}/token
Headers
Path Parameters
Response
OK
Show child attributes
Show child attributes
⌘I