Skip to content

Dynamic Fee Split

You can configure a payin or subscription with your own pricing splits. The split declares merchant's share out of the total pricing rule and rest of it gets charged to the customer. The split needs to be explicitly passed in the API calls to be applied, otherwise system configured pricing rules apply. Use this resource to list the dynamic rules you may declare against, and to create and list your declarations. Pass the resulting split ids as split_ids on a payment link, an order, a payin quote, a subscription or an auto debit.

DynamicPrice

A payin pricing rule configured by Glomo whose fee bearer is dynamic. Your business declares its own share of such a rule's fee by creating a pricing split against the rule's id, and the customer bears the remainder. Until a split is declared the rule is never applied, and pricing falls back to your normal (non-dynamic) rules.

idstringread-only

The unique identifier of the pricing rule. Pass this value as price_id when you create a pricing split.

Example:"price_5JU9yv0lGSUP"
fee_typestringread-only

The fee this rule prices. Only transaction_fees rules can be declared against, so only they are listed.

Value:"transaction_fees"
Example:"transaction_fees"
payment_typestringread-only

The direction this rule prices. Only payin rules can be declared against, so only they are listed.

Value:"payin"
Example:"payin"
pricing_typestringread-only

How the fee is computed. A percentage rule charges bps of the amount. A fixed rule charges fees_amount in fees_currency. Declare bps against a percentage rule and fixed_amount against a fixed rule.

Enum:"percentage""fixed"
Example:"percentage"
payment_railstring or nullread-only

The payment rail this rule applies to. null when the rule applies to every rail.

Example:"swift"
from_currencystring or null, (iso-4217)read-only

The currency the payment is collected in, in ISO 4217 format. The rule applies only to payments in this currency. null when the rule applies to every currency.

Example:"USD"
bpsinteger or nullread-only

The full fee in basis points, where 100 bps is 1%. Present on percentage rules and null on fixed rules. Your declared bps cannot exceed this value.

Example:300
fees_amountinteger or nullread-only

The full fee in minor units of fees_currency. Present on fixed rules and null on percentage rules. Your declared fixed_amount cannot exceed this value.

Example:500
fees_currencystring or null, (iso-4217)read-only

The currency of fees_amount. Present on fixed rules and null on percentage rules.

Example:"USD"
min_feeinteger or nullread-only

The floor the rule applies to the computed fee, in minor units of min_max_fee_currency. null when the rule has no floor.

Example:100
max_feeinteger or nullread-only

The cap the rule applies to the computed fee, in minor units of min_max_fee_currency. null when the rule has no cap.

Example:2000
min_max_fee_currencystring or null, (iso-4217)read-only

The currency of min_fee and max_fee. null when the rule has neither.

Example:"USD"
display_labelstring or nullread-only

The label shown to your customer at checkout for the fee this rule charges.

Example:"Processing fee"
effective_fromstring, (date)read-only

The date from which this version of the rule applies, in IST.

Example:"2026-07-01"
payment_methodobjectread-only

The payment method this rule applies to. A split declared against this rule prices only this payment method.

{ "id": "price_5JU9yv0lGSUP", "fee_type": "transaction_fees", "payment_type": "payin", "pricing_type": "percentage", "payment_rail": "swift", "from_currency": "USD", "bps": 300, "fees_amount": 500, "fees_currency": "USD", "min_fee": 100, "max_fee": 2000, "min_max_fee_currency": "USD", "display_label": "Processing fee", "effective_from": "2026-07-01", "payment_method": { "type": "bank_transfer", "subtype": "swift_transfer" } }