# DynamicPrice

Schema: #/components/schemas/DynamicPrice

Method: SCHEMA
Version: 1.0.0

## Schema fields:

  - `id` (string)
    The unique identifier of the pricing rule. Pass this value as `price_id` when you create a pricing split.
    Example: price_5JU9yv0lGSUP

  - `fee_type` (string)
    The fee this rule prices. Only `transaction_fees` rules can be declared against, so only they are listed.
    Enum: "transaction_fees"

  - `payment_type` (string)
    The direction this rule prices. Only `payin` rules can be declared against, so only they are listed.
    Enum: "payin"

  - `pricing_type` (string)
    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"

  - `payment_rail` (string | null)
    The card network this rule applies to. Set only on card rules, to price one network differently from the others; `null` when the rule applies to every network, and always `null` on non-card rules.
    Enum: "visa", "mastercard", "amex", "null"

  - `from_currency` (string | null)
    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

  - `bps` (integer | null)
    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_amount` (integer | null)
    The full fee in the smallest unit of `fees_currency` (cents for USD). `500` is $5.00 when `fees_currency` is USD. Present on `fixed` rules and `null` on `percentage` rules. Your declared `fixed_amount` cannot exceed this value.
    Example: 500

  - `fees_currency` (string | null)
    The currency of `fees_amount`, as an [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code. Present on `fixed` rules and `null` on `percentage` rules.
    Example: USD

  - `min_fee` (integer | null)
    The floor the rule applies to the computed fee, in the smallest unit of `min_max_fee_currency` (cents for USD). `100` is $1.00 when `min_max_fee_currency` is USD. `null` when the rule has no floor.
    Example: 100

  - `max_fee` (integer | null)
    The cap the rule applies to the computed fee, in the smallest unit of `min_max_fee_currency` (cents for USD). `2000` is $20.00 when `min_max_fee_currency` is USD. `null` when the rule has no cap.
    Example: 2000

  - `min_max_fee_currency` (string | null)
    The currency of `min_fee` and `max_fee`, as an [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) code. `null` when the rule has neither.
    Example: USD

  - `display_label` (string | null)
    The label shown to your customer at checkout for the fee this rule charges.
    Example: Processing fee

  - `effective_from` (string)
    The date from which this version of the rule applies, in IST.
    Example: 2026-07-01

  - `payment_method` (object)
    The payment method this rule applies to. A split declared against this rule prices only this payment method.

  - `payment_method.type` (string | null)
    The payment method this rule applies to. One of `bank_transfer`, `pay_via_bank` or `card`.
    Example: bank_transfer

  - `payment_method.subtype` (string | null)
    The payment method subtype this rule applies to, for example `local_transfer` or `swift_transfer`. `null` when the rule applies to every subtype of `type`.
    Example: swift_transfer

