Record a new payout (external or store-credit) for an affiliate (by customerId).
curl --request POST \
--url https://api.komerza.com/stores/{storeId}/affiliates/{customerId}/payouts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": 8.988465674311579e+307,
"convertedToStoreCredit": true,
"comment": "<string>"
}
'import requests
url = "https://api.komerza.com/stores/{storeId}/affiliates/{customerId}/payouts"
payload = {
"amount": 8.988465674311579e+307,
"convertedToStoreCredit": True,
"comment": "<string>"
}
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({
amount: 8.988465674311579e+307,
convertedToStoreCredit: true,
comment: '<string>'
})
};
fetch('https://api.komerza.com/stores/{storeId}/affiliates/{customerId}/payouts', 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://api.komerza.com/stores/{storeId}/affiliates/{customerId}/payouts",
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([
'amount' => 8.988465674311579e+307,
'convertedToStoreCredit' => true,
'comment' => '<string>'
]),
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://api.komerza.com/stores/{storeId}/affiliates/{customerId}/payouts"
payload := strings.NewReader("{\n \"amount\": 8.988465674311579e+307,\n \"convertedToStoreCredit\": true,\n \"comment\": \"<string>\"\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://api.komerza.com/stores/{storeId}/affiliates/{customerId}/payouts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 8.988465674311579e+307,\n \"convertedToStoreCredit\": true,\n \"comment\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.komerza.com/stores/{storeId}/affiliates/{customerId}/payouts")
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 \"amount\": 8.988465674311579e+307,\n \"convertedToStoreCredit\": true,\n \"comment\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "<string>",
"code": "<string>",
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"dateCreated": "2023-11-07T05:31:56Z",
"customerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"storeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"affiliateId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"amount": 123,
"convertedToStoreCredit": true,
"initiatedByIp": "<string>",
"isVoided": true,
"comment": "<string>",
"initiatedByUserId": "<string>",
"voidDate": "2023-11-07T05:31:56Z",
"voidedByUserId": "<string>",
"voidReason": "<string>"
}
}{
"success": true,
"message": "<string>",
"code": "<string>",
"data": "<unknown>"
}Affiliates
Record Affiliate Payout
Requires the stores.affiliates.update permission.
POST
/
stores
/
{storeId}
/
affiliates
/
{customerId}
/
payouts
Record a new payout (external or store-credit) for an affiliate (by customerId).
curl --request POST \
--url https://api.komerza.com/stores/{storeId}/affiliates/{customerId}/payouts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": 8.988465674311579e+307,
"convertedToStoreCredit": true,
"comment": "<string>"
}
'import requests
url = "https://api.komerza.com/stores/{storeId}/affiliates/{customerId}/payouts"
payload = {
"amount": 8.988465674311579e+307,
"convertedToStoreCredit": True,
"comment": "<string>"
}
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({
amount: 8.988465674311579e+307,
convertedToStoreCredit: true,
comment: '<string>'
})
};
fetch('https://api.komerza.com/stores/{storeId}/affiliates/{customerId}/payouts', 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://api.komerza.com/stores/{storeId}/affiliates/{customerId}/payouts",
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([
'amount' => 8.988465674311579e+307,
'convertedToStoreCredit' => true,
'comment' => '<string>'
]),
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://api.komerza.com/stores/{storeId}/affiliates/{customerId}/payouts"
payload := strings.NewReader("{\n \"amount\": 8.988465674311579e+307,\n \"convertedToStoreCredit\": true,\n \"comment\": \"<string>\"\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://api.komerza.com/stores/{storeId}/affiliates/{customerId}/payouts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 8.988465674311579e+307,\n \"convertedToStoreCredit\": true,\n \"comment\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.komerza.com/stores/{storeId}/affiliates/{customerId}/payouts")
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 \"amount\": 8.988465674311579e+307,\n \"convertedToStoreCredit\": true,\n \"comment\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"message": "<string>",
"code": "<string>",
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"dateCreated": "2023-11-07T05:31:56Z",
"customerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"storeId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"affiliateId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"amount": 123,
"convertedToStoreCredit": true,
"initiatedByIp": "<string>",
"isVoided": true,
"comment": "<string>",
"initiatedByUserId": "<string>",
"voidDate": "2023-11-07T05:31:56Z",
"voidedByUserId": "<string>",
"voidReason": "<string>"
}
}{
"success": true,
"message": "<string>",
"code": "<string>",
"data": "<unknown>"
}This records a payout, it does not send money. Komerza reduces the
affiliate’s balance by the amount; the actual transfer happens between you and
your affiliate outside Komerza.Record it only once you have actually paid, or your balances will disagree with
reality.
Authorizations
Your API key goes here
Body
application/json
Form used by an admin to record a manual affiliate payout.
Response
The object was successfully created.
Represents a default generic response for API endpoints.
Indicates whether the operation or response was successful.
A descriptive message providing additional context or information about the response.
The error code (if there was an error) to use when referencing the error
A record of an affiliate’s earnings being paid out (e.g., converted into store credit).
Show child attributes
Show child attributes
Last modified on August 2, 2026
⌘I