curl --request PATCH \
--url https://mapi.boomfi.xyz/v1/partners/orgs/{orgId}/fees \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--header 'X-API-Nonce: <api-key>' \
--header 'X-API-Signature: <api-key>' \
--data '
{
"default_payin_fee_pct": 0.25,
"default_payout_fee_pct": 0.25,
"offramp_fee_pct": 1,
"partner_payment_rev_share_pct": 0.3,
"payment_fee_pct": 1.5,
"refund_fee_usd": 2,
"swap_fee_pct": 0.5
}
'import requests
url = "https://mapi.boomfi.xyz/v1/partners/orgs/{orgId}/fees"
payload = {
"default_payin_fee_pct": 0.25,
"default_payout_fee_pct": 0.25,
"offramp_fee_pct": 1,
"partner_payment_rev_share_pct": 0.3,
"payment_fee_pct": 1.5,
"refund_fee_usd": 2,
"swap_fee_pct": 0.5
}
headers = {
"X-API-KEY": "<api-key>",
"X-API-Nonce": "<api-key>",
"X-API-Signature": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'X-API-KEY': '<api-key>',
'X-API-Nonce': '<api-key>',
'X-API-Signature': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
default_payin_fee_pct: 0.25,
default_payout_fee_pct: 0.25,
offramp_fee_pct: 1,
partner_payment_rev_share_pct: 0.3,
payment_fee_pct: 1.5,
refund_fee_usd: 2,
swap_fee_pct: 0.5
})
};
fetch('https://mapi.boomfi.xyz/v1/partners/orgs/{orgId}/fees', 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://mapi.boomfi.xyz/v1/partners/orgs/{orgId}/fees",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'default_payin_fee_pct' => 0.25,
'default_payout_fee_pct' => 0.25,
'offramp_fee_pct' => 1,
'partner_payment_rev_share_pct' => 0.3,
'payment_fee_pct' => 1.5,
'refund_fee_usd' => 2,
'swap_fee_pct' => 0.5
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>",
"X-API-Nonce: <api-key>",
"X-API-Signature: <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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://mapi.boomfi.xyz/v1/partners/orgs/{orgId}/fees"
payload := strings.NewReader("{\n \"default_payin_fee_pct\": 0.25,\n \"default_payout_fee_pct\": 0.25,\n \"offramp_fee_pct\": 1,\n \"partner_payment_rev_share_pct\": 0.3,\n \"payment_fee_pct\": 1.5,\n \"refund_fee_usd\": 2,\n \"swap_fee_pct\": 0.5\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("X-API-Nonce", "<api-key>")
req.Header.Add("X-API-Signature", "<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.patch("https://mapi.boomfi.xyz/v1/partners/orgs/{orgId}/fees")
.header("X-API-KEY", "<api-key>")
.header("X-API-Nonce", "<api-key>")
.header("X-API-Signature", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"default_payin_fee_pct\": 0.25,\n \"default_payout_fee_pct\": 0.25,\n \"offramp_fee_pct\": 1,\n \"partner_payment_rev_share_pct\": 0.3,\n \"payment_fee_pct\": 1.5,\n \"refund_fee_usd\": 2,\n \"swap_fee_pct\": 0.5\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mapi.boomfi.xyz/v1/partners/orgs/{orgId}/fees")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-KEY"] = '<api-key>'
request["X-API-Nonce"] = '<api-key>'
request["X-API-Signature"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"default_payin_fee_pct\": 0.25,\n \"default_payout_fee_pct\": 0.25,\n \"offramp_fee_pct\": 1,\n \"partner_payment_rev_share_pct\": 0.3,\n \"payment_fee_pct\": 1.5,\n \"refund_fee_usd\": 2,\n \"swap_fee_pct\": 0.5\n}"
response = http.request(request)
puts response.read_body{
"data": {
"default_payin_fee_pct": 123,
"default_payout_fee_pct": 123,
"effective_partner_rev_share_pct": 123,
"offramp_fee_pct": 123,
"org_id": "<string>",
"partner_payment_rev_share_pct": 123,
"payment_fee_pct": 123,
"refund_fee_usd": 123,
"swap_fee_pct": 123
},
"error": true,
"message": "<string>"
}{
"error": {
"code": 400,
"errors": [
{
"domain": "orders",
"reason": "InsufficientQuantity"
}
],
"message": "Insufficient quantity"
}
}{
"error": {
"code": 400,
"errors": [
{
"domain": "orders",
"reason": "InsufficientQuantity"
}
],
"message": "Insufficient quantity"
}
}{
"error": {
"code": 400,
"errors": [
{
"domain": "orders",
"reason": "InsufficientQuantity"
}
],
"message": "Insufficient quantity"
}
}{
"error": {
"code": 400,
"errors": [
{
"domain": "orders",
"reason": "InsufficientQuantity"
}
],
"message": "Insufficient quantity"
}
}Update Sub-Merchant Fees
Change the fees on a merchant you onboarded. Send only the fees you want to move — anything omitted keeps its current value — and the response reports every fee on the merchant afterwards. partner_payment_rev_share_pct sets your own fee share for this one merchant, overriding your partner default; send it as null to remove the override.
curl --request PATCH \
--url https://mapi.boomfi.xyz/v1/partners/orgs/{orgId}/fees \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--header 'X-API-Nonce: <api-key>' \
--header 'X-API-Signature: <api-key>' \
--data '
{
"default_payin_fee_pct": 0.25,
"default_payout_fee_pct": 0.25,
"offramp_fee_pct": 1,
"partner_payment_rev_share_pct": 0.3,
"payment_fee_pct": 1.5,
"refund_fee_usd": 2,
"swap_fee_pct": 0.5
}
'import requests
url = "https://mapi.boomfi.xyz/v1/partners/orgs/{orgId}/fees"
payload = {
"default_payin_fee_pct": 0.25,
"default_payout_fee_pct": 0.25,
"offramp_fee_pct": 1,
"partner_payment_rev_share_pct": 0.3,
"payment_fee_pct": 1.5,
"refund_fee_usd": 2,
"swap_fee_pct": 0.5
}
headers = {
"X-API-KEY": "<api-key>",
"X-API-Nonce": "<api-key>",
"X-API-Signature": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'X-API-KEY': '<api-key>',
'X-API-Nonce': '<api-key>',
'X-API-Signature': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
default_payin_fee_pct: 0.25,
default_payout_fee_pct: 0.25,
offramp_fee_pct: 1,
partner_payment_rev_share_pct: 0.3,
payment_fee_pct: 1.5,
refund_fee_usd: 2,
swap_fee_pct: 0.5
})
};
fetch('https://mapi.boomfi.xyz/v1/partners/orgs/{orgId}/fees', 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://mapi.boomfi.xyz/v1/partners/orgs/{orgId}/fees",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'default_payin_fee_pct' => 0.25,
'default_payout_fee_pct' => 0.25,
'offramp_fee_pct' => 1,
'partner_payment_rev_share_pct' => 0.3,
'payment_fee_pct' => 1.5,
'refund_fee_usd' => 2,
'swap_fee_pct' => 0.5
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>",
"X-API-Nonce: <api-key>",
"X-API-Signature: <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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://mapi.boomfi.xyz/v1/partners/orgs/{orgId}/fees"
payload := strings.NewReader("{\n \"default_payin_fee_pct\": 0.25,\n \"default_payout_fee_pct\": 0.25,\n \"offramp_fee_pct\": 1,\n \"partner_payment_rev_share_pct\": 0.3,\n \"payment_fee_pct\": 1.5,\n \"refund_fee_usd\": 2,\n \"swap_fee_pct\": 0.5\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("X-API-Nonce", "<api-key>")
req.Header.Add("X-API-Signature", "<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.patch("https://mapi.boomfi.xyz/v1/partners/orgs/{orgId}/fees")
.header("X-API-KEY", "<api-key>")
.header("X-API-Nonce", "<api-key>")
.header("X-API-Signature", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"default_payin_fee_pct\": 0.25,\n \"default_payout_fee_pct\": 0.25,\n \"offramp_fee_pct\": 1,\n \"partner_payment_rev_share_pct\": 0.3,\n \"payment_fee_pct\": 1.5,\n \"refund_fee_usd\": 2,\n \"swap_fee_pct\": 0.5\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://mapi.boomfi.xyz/v1/partners/orgs/{orgId}/fees")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-KEY"] = '<api-key>'
request["X-API-Nonce"] = '<api-key>'
request["X-API-Signature"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"default_payin_fee_pct\": 0.25,\n \"default_payout_fee_pct\": 0.25,\n \"offramp_fee_pct\": 1,\n \"partner_payment_rev_share_pct\": 0.3,\n \"payment_fee_pct\": 1.5,\n \"refund_fee_usd\": 2,\n \"swap_fee_pct\": 0.5\n}"
response = http.request(request)
puts response.read_body{
"data": {
"default_payin_fee_pct": 123,
"default_payout_fee_pct": 123,
"effective_partner_rev_share_pct": 123,
"offramp_fee_pct": 123,
"org_id": "<string>",
"partner_payment_rev_share_pct": 123,
"payment_fee_pct": 123,
"refund_fee_usd": 123,
"swap_fee_pct": 123
},
"error": true,
"message": "<string>"
}{
"error": {
"code": 400,
"errors": [
{
"domain": "orders",
"reason": "InsufficientQuantity"
}
],
"message": "Insufficient quantity"
}
}{
"error": {
"code": 400,
"errors": [
{
"domain": "orders",
"reason": "InsufficientQuantity"
}
],
"message": "Insufficient quantity"
}
}{
"error": {
"code": 400,
"errors": [
{
"domain": "orders",
"reason": "InsufficientQuantity"
}
],
"message": "Insufficient quantity"
}
}{
"error": {
"code": 400,
"errors": [
{
"domain": "orders",
"reason": "InsufficientQuantity"
}
],
"message": "Insufficient quantity"
}
}Authorizations
Path Parameters
Organisation ID returned by create
Body
Fees to change
Default percentage charged on virtual-account pay-ins.
0.25
Default percentage charged on virtual-account pay-outs.
0.25
Percentage charged on each offramp.
1
Your fee share on this merchant, overriding your partner default. Send null to drop the override and go back to that default.
0.3
Percentage charged on each payment.
1.5
Flat fee charged per refund, in USD.
2
Percentage charged on each swap.
0.5