--- title: "Manage split configuration profiles" description: "Learn how you can view, change, and delete the conditions and instructions in split configuration profiles." url: "https://docs.adyen.com/platforms/automatic-split-configuration/manage-split-configurations/api" source_url: "https://docs.adyen.com/platforms/automatic-split-configuration/manage-split-configurations/api.md" canonical: "https://docs.adyen.com/platforms/automatic-split-configuration/manage-split-configurations/api" last_modified: "2026-05-25T12:55:00+02:00" language: "en" --- # Manage split configuration profiles Learn how you can view, change, and delete the conditions and instructions in split configuration profiles. [View source](/platforms/automatic-split-configuration/manage-split-configurations/api.md) With the [Management API](https://docs.adyen.com/api-explorer/Management/latest/overview), you can view and update the following details of your split configuration profiles: * Get a list of all your split configuration profiles or the details of a specific profile. * [Add a rule](#create-rule) to or [remove a rule](#delete-rule) from a profile. * Change the [description](#update-description), [conditions](#update-condition), or [split logic](#update-split-logic) of a rule. * [Delete a profile](#delete-profile). ## Requirements Take into account the following requirements, limitations, and preparations for managing split configuration profiles. | Requirement | Description | | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | **Integration type** | You must have a [platform model](/platforms) integration on Adyen for Platforms. | | **[API credential roles](/development-resources/api-credentials/roles/)** | Your [Management API](https://docs.adyen.com/api-explorer/Management/latest/overview) credential must have the following role:- **Management API—SplitConfiguration read and write** | | **Limitations** | The card region condition is in pilot phase, and not yet available for all platforms. | | **Setup steps** | You must have the IDs of the resources you want to update (split configuration profile, rule, or split logic) available. | ## Get a list of all profiles To get the details of all split configuration profiles in your merchant account, make a GET [/merchants/{merchantId}/splitConfigurations](https://docs.adyen.com/api-explorer/Management/latest/get/merchants/\(merchantId\)/splitConfigurations) request with the ID of your merchant account in the path. **Get a list of profiles** #### curl ```bash curl https://management-test.adyen.com/v3/merchants/{merchantId}/splitConfigurations \ -H 'x-api-key: ADYEN_API_KEY' \ -H 'content-type: application/json' \ -X GET \ -d ``` #### Java ```java // Adyen Java API Library v38.0.0 import com.adyen.Client; import com.adyen.enums.Environment; import com.adyen.model.management.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.service.management.*; Client client = new Client("ADYEN_API_KEY", Environment.TEST); // Send the request SplitConfigurationMerchantLevelApi service = new SplitConfigurationMerchantLevelApi(client); SplitConfigurationList response = service.listSplitConfigurations("merchantId", null); ``` #### PHP ```php setXApiKey("ADYEN_API_KEY"); $client->setEnvironment(Environment::TEST); // Send the request $service = new SplitConfigurationMerchantLevelApi($client); $response = $service->listSplitConfigurations('merchantId'); ``` #### C\# ```cs // Adyen .net API Library v32.0.0 using Adyen; using Environment = Adyen.Model.Environment; using Adyen.Model; using Adyen.Model.Management; using Adyen.Service.Management; var config = new Config() { XApiKey = "ADYEN_API_KEY", Environment = Environment.Test }; var client = new Client(config); // Send the request var service = new SplitConfigurationMerchantLevelService(client); var response = service.ListSplitConfigurations("merchantId"); ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v27.0.0 const { Client, ManagementAPI } = require('@adyen/api-library'); const client = new Client({ apiKey: "ADYEN_API_KEY", environment: "TEST" }); // Send the request const managementAPI = new ManagementAPI(client); const response = managementAPI.SplitConfigurationMerchantLevelApi.listSplitConfigurations("merchantId"); ``` #### Go ```go // Adyen Go API Library v20.0.0 import ( "context" "github.com/adyen/adyen-go-api-library/v20/src/common" "github.com/adyen/adyen-go-api-library/v20/src/adyen" "github.com/adyen/adyen-go-api-library/v20/src/management" ) client := adyen.NewClient(&common.Config{ ApiKey: "ADYEN_API_KEY", Environment: common.TestEnv, }) // Send the request service := client.Management() req := service.SplitConfigurationMerchantLevelApi.ListSplitConfigurationsInput("merchantId") res, httpRes, err := service.SplitConfigurationMerchantLevelApi.ListSplitConfigurations(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v13.4.0 import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "ADYEN_API_KEY" adyen.client.platform = "test" # The environment to use library in. # Send the request result = adyen.management.split_configuration_merchant_level_api.list_split_configurations(merchantId="merchantId") ``` #### Ruby ```rb # Adyen Ruby API Library v10.2.0 require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = 'ADYEN_API_KEY' adyen.env = :test # Set to "live" for live environment # Send the request result = adyen.management.split_configuration_merchant_level_api.list_split_configurations('merchantId') ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v27.0.0 import { Client, ManagementAPI, Types } from "@adyen/api-library"; const client = new Client({ apiKey: "ADYEN_API_KEY", environment: "TEST" }); // Send the request const managementAPI = new ManagementAPI(client); const response = managementAPI.SplitConfigurationMerchantLevelApi.listSplitConfigurations("merchantId"); ``` The response contains the array of split configuration profiles in your merchant account. **List of profiles** ```json { "data": [ { "description": "Your description for the split configuration", "rules": [ { "currency": "GBP", "fundingSource": "ANY", "cardRegion": "international", "paymentMethod": "ANY", "ruleId": "SCRL4224P22322585HP89PPCST6BCZ", "shopperInteraction": "ANY", "splitLogic": { "additionalCommission": { "fixedAmount": 100, "variablePercentage": 100, "balanceAccountId": "BA3227C223222H5HQ2XX77VVH" }, "chargeback": "deductFromLiableAccount", "commission": { "fixedAmount": 200, "variablePercentage": 100 }, "dcc":{ "accountHolderPercentage": 6000 }, "paymentFee": "deductFromLiableAccount", "remainder": "addToOneBalanceAccount", "splitLogicId": "SCLG4224P22322585HP89PPCSV27VP", "tip": "addToOneBalanceAccount" } } ], "splitConfigurationId": "SCNF4224P22322585HP89PPCSS24MF" }, { "description": "Your description for the second split configuration", "rules": [ { "currency": "ANY", "fundingSource": "ANY", "cardRegion": "intraRegional", "paymentMethod": "ANY", "ruleId": "SCRL4224P22322585HPCX384JW65VW", "shopperInteraction": "ANY", "splitLogic": { "additionalCommission": { "fixedAmount": 10, "variablePercentage": 50, "balanceAccountId": "BA3227C223222H5HQ2XX77VVH" }, "chargeback": "deductFromLiableAccount", "commission": { "fixedAmount": 10, "variablePercentage": 100 }, "dcc":{ "accountHolderPercentage": 2000 }, "splitLogicId": "SCLG4224P22322585HPCX384JX52M2", "paymentFee": "deductFromLiableAccount", "remainder": "addToOneBalanceAccount", "tip": "addToOneBalanceAccount" } }, { "currency": "USD", "fundingSource": "ANY", "cardRegion": "domestic", "paymentMethod": "visa", "ruleId": "SCRL4224P22322585HPCX5V4KV6L2R", "shopperInteraction": "ANY", "splitLogic": { "additionalCommission": { "fixedAmount": 100, "variablePercentage": 0, "balanceAccountId": "BA3227C223222H5HQ2XX77VVH" }, "chargeback": "deductFromLiableAccount", "commission": { "fixedAmount": 100, "variablePercentage": 100 }, "dcc":{ "accountHolderPercentage": 5000 }, "splitLogicId": "SCLG4224P22322585HPCX5V4KW26C9", "paymentFee": "deductFromLiableAccount", "remainder": "addToLiableAccount", "tip": "addToLiableAccount" } } ], "splitConfigurationId": "SCNF4224P22322585HPCX384JV6JGX" } ] } ``` ## Get profile details To get the details of a specific split configuration profile, make a GET [/merchants/{merchantId}/splitConfigurations/{splitConfigurationId}](https://docs.adyen.com/api-explorer/Management/latest/get/merchants/\(merchantId\)/splitConfigurations/\(splitConfigurationId\)) request with the ID of your merchant account and the profile in the path. **Get profile details** #### curl ```bash curl https://management-test.adyen.com/v3/merchants/{merchantId}/splitConfigurations/{splitConfigurationId} \ -H 'x-api-key: ADYEN_API_KEY' \ -H 'content-type: application/json' \ -X GET \ -d ``` #### Java ```java // Adyen Java API Library v38.0.0 import com.adyen.Client; import com.adyen.enums.Environment; import com.adyen.model.management.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.service.management.*; Client client = new Client("ADYEN_API_KEY", Environment.TEST); // Send the request SplitConfigurationMerchantLevelApi service = new SplitConfigurationMerchantLevelApi(client); SplitConfiguration response = service.getSplitConfiguration("merchantId", "splitConfigurationId", null); ``` #### PHP ```php setXApiKey("ADYEN_API_KEY"); $client->setEnvironment(Environment::TEST); // Send the request $service = new SplitConfigurationMerchantLevelApi($client); $response = $service->getSplitConfiguration('merchantId', 'splitConfigurationId'); ``` #### C\# ```cs // Adyen .net API Library v32.0.0 using Adyen; using Environment = Adyen.Model.Environment; using Adyen.Model; using Adyen.Model.Management; using Adyen.Service.Management; var config = new Config() { XApiKey = "ADYEN_API_KEY", Environment = Environment.Test }; var client = new Client(config); // Send the request var service = new SplitConfigurationMerchantLevelService(client); var response = service.GetSplitConfiguration("merchantId", "splitConfigurationId"); ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v27.0.0 const { Client, ManagementAPI } = require('@adyen/api-library'); const client = new Client({ apiKey: "ADYEN_API_KEY", environment: "TEST" }); // Send the request const managementAPI = new ManagementAPI(client); const response = managementAPI.SplitConfigurationMerchantLevelApi.getSplitConfiguration("merchantId", "splitConfigurationId"); ``` #### Go ```go // Adyen Go API Library v20.0.0 import ( "context" "github.com/adyen/adyen-go-api-library/v20/src/common" "github.com/adyen/adyen-go-api-library/v20/src/adyen" "github.com/adyen/adyen-go-api-library/v20/src/management" ) client := adyen.NewClient(&common.Config{ ApiKey: "ADYEN_API_KEY", Environment: common.TestEnv, }) // Send the request service := client.Management() req := service.SplitConfigurationMerchantLevelApi.GetSplitConfigurationInput("merchantId","splitConfigurationId") res, httpRes, err := service.SplitConfigurationMerchantLevelApi.GetSplitConfiguration(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v13.4.0 import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "ADYEN_API_KEY" adyen.client.platform = "test" # The environment to use library in. # Send the request result = adyen.management.split_configuration_merchant_level_api.get_split_configuration(merchantId="merchantId", splitConfigurationId="splitConfigurationId") ``` #### Ruby ```rb # Adyen Ruby API Library v10.2.0 require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = 'ADYEN_API_KEY' adyen.env = :test # Set to "live" for live environment # Send the request result = adyen.management.split_configuration_merchant_level_api.get_split_configuration('merchantId', 'splitConfigurationId') ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v27.0.0 import { Client, ManagementAPI, Types } from "@adyen/api-library"; const client = new Client({ apiKey: "ADYEN_API_KEY", environment: "TEST" }); // Send the request const managementAPI = new ManagementAPI(client); const response = managementAPI.SplitConfigurationMerchantLevelApi.getSplitConfiguration("merchantId", "splitConfigurationId"); ``` The response contains the array of rules, conditions, and split instructions in the profile. **Details of the profile** ```json { "description": "Your description for the split configuration", "rules": [ { "currency": "ANY", "fundingSource": "ANY", "cardRegion": "intraRegional", "paymentMethod": "ANY", "ruleId": "SCRL4224P22322585HPCX384JW65VW", "shopperInteraction": "ANY", "splitLogic": { "additionalCommission": { "fixedAmount": 10, "variablePercentage": 50, "balanceAccountId": "BA3227C223222H5HQ2XX77VVH" }, "chargeback": "deductFromLiableAccount", "commission": { "fixedAmount": 10, "variablePercentage": 100 }, "dcc":{ "accountHolderPercentage": 5500 }, "splitLogicId": "SCLG4224P22322585HPCX384JX52M2", "paymentFee": "deductFromLiableAccount", "remainder": "addToOneBalanceAccount", "tip": "addToOneBalanceAccount" } }, { "currency": "USD", "fundingSource": "ANY", "cardRegion": "domestic", "paymentMethod": "visa", "ruleId": "SCRL4224P22322585HPCX5V4KV6L2R", "shopperInteraction": "ANY", "splitLogic": { "additionalCommission": { "fixedAmount": 100, "variablePercentage": 0, "balanceAccountId": "BA3227C223222H5HQ2XX77VVH" }, "chargeback": "deductFromLiableAccount", "commission": { "fixedAmount": 100, "variablePercentage": 100 }, "dcc":{ "accountHolderPercentage": 2500 }, "splitLogicId": "SCLG4224P22322585HPCX5V4KW26C9", "paymentFee": "deductFromLiableAccount", "remainder": "addToLiableAccount", "tip": "addToLiableAccount" } } ], "splitConfigurationId": "SCNF4224P22322585HPCX384JV6JGX" } ``` ## Add a rule To add a rule to an existing split configuration profile, make a POST [/merchants/{merchantId}/splitConfigurations/{splitConfigurationId}](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations/\(splitConfigurationId\)) request with the ID of your merchant account and the profile in the path. In the body of the request, include the following fields: | Parameter | Required | Description | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [currency](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-currency) | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | Define whether the rule applies to a specific currency, or all currencies. | | [paymentMethod](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-paymentMethod) | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | Define whether the rule applies to a specific payment method, or all payment methods associated with the store. You can differentiate between [payment method variants](/development-resources/paymentmethodvariant/) as well, for example, configure different instructions for **visagold** and **visasignature**. | | [cardRegion](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-cardRegion) | | Define whether the rule applies to transactions processed through a store that's registered in the same country/region where the card was issued, in a different country/region, or all transactions regardless of the processing and issuing location. Possible values:- **domestic** - **interRegional** - **intraRegional** - **international** - **ANY**This condition is in pilot phase, and not yet available for all platforms. | | [fundingSource](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-fundingSource) | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | Define whether the rule applies only to payments initiated with a specific type of card, or all card types. | | [shopperInteraction](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-shopperInteraction) | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | Define whether the rule applies to a specific sales channel, or all channels. | | [splitLogic](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic) | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | Define the split logic that is applied if the rule conditions are met. For instructions, see [Optional configuration](#optional-configuration). | | [splitLogic.commission](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic-commission) | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | Define your platform's commission for the payments. This can be a fixed amount, a percentage, or both. | | [splitLogic.additionalCommission](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic-additionalCommission) | | Define an additional fee as a commission for your user, booked directly to the balance account you specify in `splitLogic.additionalCommission.balanceAccountId`. This can be a fixed amount, a percentage, or both. | ### Optional configuration Based on which optional parameters you include in the [splitLogic](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic) object, you can define to which balance account to book: * The different types of [transaction fees](#book-transaction-fees) associated with the payment. * Potential [refunds, chargebacks, and their associated fees](#book-refunds-and-chargebacks). * The [remaining amount](#book-remaining-amounts) after currency conversion for online payments. * The markup paid by the customer for converting the currency of in-person payments. * The [tips and surcharges](#book-tips-and-surcharges) for in-person payments. You can define **any or all** of these parameters in the `splitLogic` object of the split configuration profile. ** #### Book transaction fees To book the [transaction fees](/platforms/online-payments/transaction-fees) associated with the payment to different balance accounts, you must include at least one of the following parameters in the [splitLogic](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic) object: | Parameter | Required | Description | Limitation | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | | [paymentFee](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic-paymentFee) | ![Conditionally required](/user/pages/reuse/image-library/01.icons/conditionally-required/conditionally-required.svg?decoding=auto\&fetchpriority=auto) | Required if you don't send any other fee type. Define to which balance account to book the aggregated amount of all transaction fees associated with the payment. | Cannot be combined with any other fee type. | | [adyenFees](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic-adyenFees) | ![Conditionally required](/user/pages/reuse/image-library/01.icons/conditionally-required/conditionally-required.svg?decoding=auto\&fetchpriority=auto) | Required if you send `aquiringFees`. Define to which balance account to book the aggregated amount of Adyen's Commission and Markup for the payment. | Cannot be combined with fee types on a different level: `paymentFee`, `interchange`, `schemeFee`, `adyenCommission`, or `adyenMarkup`. | | [acquiringFees](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic-acquiringFees) | ![Conditionally required](/user/pages/reuse/image-library/01.icons/conditionally-required/conditionally-required.svg?decoding=auto\&fetchpriority=auto) | Required if you send `adyenFees`. Define to which balance account to book the aggregated amount of the Interchange and Scheme fees associated with the payment. | Cannot be combined with fee types on a different level: `paymentFee`, `interchange`, `schemeFee`, `adyenCommission`, or `adyenMarkup`. | | [adyenCommission](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic-adyenCommission) | ![Conditionally required](/user/pages/reuse/image-library/01.icons/conditionally-required/conditionally-required.svg?decoding=auto\&fetchpriority=auto) | Required if you send `interchange`, `schemeFee`, or `adyenMarkup`. Define to which balance account to book the Adyen's commission for the payment. | Cannot be combined with fee types on a different level: `paymentFee`, `adyenFees`, or `aquiringFees`. | | [adyenMarkup](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic-adyenMarkup) | ![Conditionally required](/user/pages/reuse/image-library/01.icons/conditionally-required/conditionally-required.svg?decoding=auto\&fetchpriority=auto) | Required if you send `interchange`, `schemeFee`, or `adyenCommission`. Define to which balance account to book the Adyen's markup for the payment. | Cannot be combined with fee types on a different level: `paymentFee`, `adyenFees`, or `aquiringFees`. | | [interchange](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic-interchange) | ![Conditionally required](/user/pages/reuse/image-library/01.icons/conditionally-required/conditionally-required.svg?decoding=auto\&fetchpriority=auto) | Required if you send`schemeFee`, `adyenCommission`, or `adyenMarkup`. Define to which balance account to book the Interchange associated with the payment. | Cannot be combined with fee types on a different level: `paymentFee`, `adyenFees`, or `aquiringFees`. | | [schemeFee](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic-schemeFee) | ![Conditionally required](/user/pages/reuse/image-library/01.icons/conditionally-required/conditionally-required.svg?decoding=auto\&fetchpriority=auto) | Required if you send`interchange`, `adyenCommission`, or `adyenMarkup`. Define to which balance account to book the Scheme fees associated with the payment. | Cannot be combined with fee types on a different level: `paymentFee`, `adyenFees`, or `aquiringFees`. | You can send the following combinations in the `splitLogic` array: * `paymentFee` * `aquiringFees` and `adyenFees` * `interchange`, `schemeFee`, `adyenCommission`, and `adyenMarkup` For example, to create a split configuration profile that books the Interchange and Scheme fees to the user's balance account, and every other fee type to your platform's liable balance account, send the following request: **Define split instructions for transaction fees** #### curl ```bash curl https://management-test.adyen.com/v3/merchants/MC00000000000000000000001/splitConfigurations \ -H 'x-api-key: ADYEN_API_KEY' \ -H 'content-type: application/json' \ -X POST \ -d '{ "description": "Your description for the split configuration profile", "rules": [ { "paymentMethod": "ANY", "shopperInteraction": "ANY", "fundingSource": "ANY", "currency": "ANY", "splitLogic": { "acquiringFees": "deductFromOneBalanceAccount", "adyenFees": "deductFromLiableAccount", "commission": { "fixedAmount": 10, "variablePercentage": 100 } } } ] }' ``` #### Java ```java // Adyen Java API Library v35.0.0 import com.adyen.Client; import com.adyen.enums.Environment; import com.adyen.model.management.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.service.management.*; Client client = new Client("ADYEN_API_KEY", Environment.TEST); // Create the request object(s) Commission commission1 = new Commission() .variablePercentage(100L) .fixedAmount(10L); SplitConfigurationLogic splitConfigurationLogic1 = new SplitConfigurationLogic() .adyenFees(SplitConfigurationLogic.AdyenFeesEnum.DEDUCTFROMLIABLEACCOUNT) .acquiringFees(SplitConfigurationLogic.AcquiringFeesEnum.DEDUCTFROMONEBALANCEACCOUNT) .commission(commission1); SplitConfigurationRule splitConfigurationRule1 = new SplitConfigurationRule() .splitLogic(splitConfigurationLogic1) .paymentMethod("ANY") .shopperInteraction(SplitConfigurationRule.ShopperInteractionEnum.ANY) .currency("ANY") .fundingSource(SplitConfigurationRule.FundingSourceEnum.ANY); SplitConfiguration splitConfiguration = new SplitConfiguration() .description("Your description for the split configuration profile") .rules(Arrays.asList(splitConfigurationRule1)); // Send the request SplitConfigurationMerchantLevelApi service = new SplitConfigurationMerchantLevelApi(client); SplitConfiguration response = service.createSplitConfiguration("merchantId", splitConfiguration, null); ``` #### PHP ```php setXApiKey("ADYEN_API_KEY"); $client->setEnvironment(Environment::TEST); // Create the request object(s) $commission1 = new Commission(); $commission1 ->setVariablePercentage(100) ->setFixedAmount(10); $splitConfigurationLogic1 = new SplitConfigurationLogic(); $splitConfigurationLogic1 ->setAdyenFees("deductFromLiableAccount") ->setAcquiringFees("deductFromOneBalanceAccount") ->setCommission($commission1); $splitConfigurationRule1 = new SplitConfigurationRule(); $splitConfigurationRule1 ->setSplitLogic($splitConfigurationLogic1) ->setPaymentMethod("ANY") ->setShopperInteraction("ANY") ->setCurrency("ANY") ->setFundingSource("ANY"); $splitConfiguration = new SplitConfiguration(); $splitConfiguration ->setDescription("Your description for the split configuration profile") ->setRules(array($splitConfigurationRule1)); // Send the request $service = new SplitConfigurationMerchantLevelApi($client); $response = $service->createSplitConfiguration('merchantId', $splitConfiguration); ``` #### C\# ```cs // Adyen .net API Library v31.0.0 using Adyen; using Environment = Adyen.Model.Environment; using Adyen.Model; using Adyen.Model.Management; using Adyen.Service.Management; var config = new Config() { XApiKey = "ADYEN_API_KEY", Environment = Environment.Test }; var client = new Client(config); // Create the request object(s) Commission commission1 = new Commission { VariablePercentage = 100, FixedAmount = 10 }; SplitConfigurationLogic splitConfigurationLogic1 = new SplitConfigurationLogic { AdyenFees = SplitConfigurationLogic.AdyenFeesEnum.DeductFromLiableAccount, AcquiringFees = SplitConfigurationLogic.AcquiringFeesEnum.DeductFromOneBalanceAccount, Commission = commission1 }; SplitConfigurationRule splitConfigurationRule1 = new SplitConfigurationRule { SplitLogic = splitConfigurationLogic1, PaymentMethod = "ANY", ShopperInteraction = SplitConfigurationRule.ShopperInteractionEnum.ANY, Currency = "ANY", FundingSource = SplitConfigurationRule.FundingSourceEnum.ANY }; SplitConfiguration splitConfiguration = new SplitConfiguration { Description = "Your description for the split configuration profile", Rules = new List{ splitConfigurationRule1 } }; // Send the request var service = new SplitConfigurationMerchantLevelService(client); var response = service.CreateSplitConfiguration("merchantId", splitConfiguration); ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v26.1.0 const { Client, ManagementAPI } = require('@adyen/api-library'); const client = new Client({ apiKey: "ADYEN_API_KEY", environment: "TEST" }); // Create the request object(s) const splitConfiguration = { description: "Your description for the split configuration profile", rules: [ { paymentMethod: "ANY", shopperInteraction: "ANY", fundingSource: "ANY", currency: "ANY", splitLogic: { acquiringFees: "deductFromOneBalanceAccount", adyenFees: "deductFromLiableAccount", commission: { fixedAmount: 10, variablePercentage: 100 } } } ] } // Send the request const managementAPI = new ManagementAPI(client); const response = managementAPI.SplitConfigurationMerchantLevelApi.createSplitConfiguration("merchantId", splitConfiguration); ``` #### Go ```go // Adyen Go API Library v20.0.0 import ( "context" "github.com/adyen/adyen-go-api-library/v20/src/common" "github.com/adyen/adyen-go-api-library/v20/src/adyen" "github.com/adyen/adyen-go-api-library/v20/src/management" ) client := adyen.NewClient(&common.Config{ ApiKey: "ADYEN_API_KEY", Environment: common.TestEnv, }) // Create the request object(s) commission1 := management.Commission{ VariablePercentage: common.PtrInt64(100), FixedAmount: common.PtrInt64(10), } splitConfigurationLogic1 := management.SplitConfigurationLogic{ AdyenFees: common.PtrString("deductFromLiableAccount"), AcquiringFees: common.PtrString("deductFromOneBalanceAccount"), Commission: commission1, } splitConfigurationRule1 := management.SplitConfigurationRule{ SplitLogic: splitConfigurationLogic1, PaymentMethod: "ANY", ShopperInteraction: "ANY", Currency: "ANY", FundingSource: common.PtrString("ANY"), } splitConfiguration := management.SplitConfiguration{ Description: "Your description for the split configuration profile", Rules: []management.SplitConfigurationRule{ splitConfigurationRule1, }, } // Send the request service := client.Management() req := service.SplitConfigurationMerchantLevelApi.CreateSplitConfigurationInput("merchantId").SplitConfiguration(splitConfiguration) res, httpRes, err := service.SplitConfigurationMerchantLevelApi.CreateSplitConfiguration(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v13.4.0 import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "ADYEN_API_KEY" adyen.client.platform = "test" # The environment to use library in. # Create the request object(s) json_request = { "description": "Your description for the split configuration profile", "rules": [ { "paymentMethod": "ANY", "shopperInteraction": "ANY", "fundingSource": "ANY", "currency": "ANY", "splitLogic": { "acquiringFees": "deductFromOneBalanceAccount", "adyenFees": "deductFromLiableAccount", "commission": { "fixedAmount": 10, "variablePercentage": 100 } } } ] } # Send the request result = adyen.management.split_configuration_merchant_level_api.create_split_configuration(request=json_request, merchantId="merchantId") ``` #### Ruby ```rb # Adyen Ruby API Library v10.2.0 require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = 'ADYEN_API_KEY' adyen.env = :test # Set to "live" for live environment # Create the request object(s) request_body = { :description => 'Your description for the split configuration profile', :rules => [ { :paymentMethod => 'ANY', :shopperInteraction => 'ANY', :fundingSource => 'ANY', :currency => 'ANY', :splitLogic => { :acquiringFees => 'deductFromOneBalanceAccount', :adyenFees => 'deductFromLiableAccount', :commission => { :fixedAmount => 10, :variablePercentage => 100 } } } ] } # Send the request result = adyen.management.split_configuration_merchant_level_api.create_split_configuration(request_body, 'merchantId') ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v26.1.0 import { Client, ManagementAPI, Types } from "@adyen/api-library"; const client = new Client({ apiKey: "ADYEN_API_KEY", environment: "TEST" }); // Create the request object(s) const commission1: Types.management.Commission = { variablePercentage: 100, fixedAmount: 10 }; const splitConfigurationLogic1: Types.management.SplitConfigurationLogic = { adyenFees: Types.management.SplitConfigurationLogic.AdyenFeesEnum.DeductFromLiableAccount, acquiringFees: Types.management.SplitConfigurationLogic.AcquiringFeesEnum.DeductFromOneBalanceAccount, commission: commission1 }; const splitConfigurationRule1: Types.management.SplitConfigurationRule = { splitLogic: splitConfigurationLogic1, paymentMethod: "ANY", shopperInteraction: Types.management.SplitConfigurationRule.ShopperInteractionEnum.ANY, currency: "ANY", fundingSource: Types.management.SplitConfigurationRule.FundingSourceEnum.ANY }; const splitConfiguration: Types.management.SplitConfiguration = { description: "Your description for the split configuration profile", rules: [splitConfigurationRule1] }; // Send the request const managementAPI = new ManagementAPI(client); const response = managementAPI.SplitConfigurationMerchantLevelApi.createSplitConfiguration("merchantId", splitConfiguration); ``` The response returns the following resources: * [splitConfigurationId](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#responses-200-splitConfigurationId): The unique identifier of the split configuration profile. * [ruleId](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations/\(splitConfigurationId\)#responses-200-rules-ruleId): The unique identifier of the split configuration rule. * [splitLogicId](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#responses-200-rules-splitLogic-splitLogicId): The unique identifier of the split instructions that are applied when the predefined conditions are met. You will need these IDs when you want to change the details of the split configuration profile. **Split configuration profile created** ```json { "description": "Your description for the split configuration profile", "rules": [ { "currency": "ANY", "fundingSource": "ANY", "paymentMethod": "ANY", "ruleId": "SCRL00000000000000000000001", "shopperInteraction": "ANY", "splitLogic": { "acquiringFees": "deductFromOneBalanceAccount", "adyenFees": "deductFromOnBalanceAccount", "commission": { "fixedAmount": 10, "variablePercentage": 100 } } } ], "splitConfigurationId": "SCNF00000000000000000000001" } ``` ** #### Book refunds and chargebacks To define the split instructions for potential refunds, chargebacks, and the fees incurred by them, you can include the following parameters in the [splitLogic](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic) object. | Parameter | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [refund](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic-refund) | ![Conditionally required](/user/pages/reuse/image-library/01.icons/conditionally-required/conditionally-required.svg?decoding=auto\&fetchpriority=auto) | Define the refund logic:- You can book the entire refund amount to your platform's liable balance account or to your user's balance account. - You can split the refund amount between the balance accounts specified in the original payment (with the same split ratio).If the associated store processes multiple partial captures, you must not set the refund logic to **deductAccordingToSplitRatio**. Required if you want set `refundCostAllocation`. | | [refundCostAllocation](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic-refundCostAllocation) | | Define to which balance account to book the fees incurred by the refund. | | [chargeback](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic-chargeback) | ![Conditionally required](/user/pages/reuse/image-library/01.icons/conditionally-required/conditionally-required.svg?decoding=auto\&fetchpriority=auto) | Define the chargeback logic:- You can book the entire disputed amount to your platform's liable balance account or to your user's balance account. - You can split the disputed amount between the balance accounts specified in the original payment (with the same split ratio).Required if you want set `chargebackCostAllocation`. | | [chargebackCostAllocation](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic-chargebackCostAllocation) | | Define to which balance account to book the fees incurred by the chargeback. | In the following example, we create a split configuration profile that books: * The refund amount to your user's balance account. * The fees incurred by refunds to your liable balance account. * The chargeback amount according to the original payment's split ratio. * The fees incurred by chargebacks to your liable balance account. **Define refund and chargeback instructions** #### curl ```bash curl https://management-test.adyen.com/v3/merchants/MC00000000000000000000001/splitConfigurations \ -H 'x-api-key: ADYEN_API_KEY' \ -H 'content-type: application/json' \ -X POST \ -d '{ "description": "Your description for the split configuration profile", "rules": [ { "paymentMethod": "ANY", "shopperInteraction": "ANY", "fundingSource": "ANY", "currency": "ANY", "splitLogic": { "refund": "deductFromOneBalanceAccount", "refundCostAllocation": "deductFromLiableAccount", "chargeback": "deductAccordingToSplitRatio", "chargebackCostAllocation": "deductFromLiableAccount", "commission": { "fixedAmount": 10, "variablePercentage": 100 } } } ] }' ``` #### Java ```java // Adyen Java API Library v35.0.0 import com.adyen.Client; import com.adyen.enums.Environment; import com.adyen.model.management.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.service.management.*; Client client = new Client("ADYEN_API_KEY", Environment.TEST); // Create the request object(s) Commission commission1 = new Commission() .variablePercentage(100L) .fixedAmount(10L); SplitConfigurationLogic splitConfigurationLogic1 = new SplitConfigurationLogic() .chargeback(SplitConfigurationLogic.ChargebackEnum.DEDUCTACCORDINGTOSPLITRATIO) .refundCostAllocation(SplitConfigurationLogic.RefundCostAllocationEnum.DEDUCTFROMLIABLEACCOUNT) .chargebackCostAllocation(SplitConfigurationLogic.ChargebackCostAllocationEnum.DEDUCTFROMLIABLEACCOUNT) .commission(commission1) .refund(SplitConfigurationLogic.RefundEnum.DEDUCTFROMONEBALANCEACCOUNT); SplitConfigurationRule splitConfigurationRule1 = new SplitConfigurationRule() .splitLogic(splitConfigurationLogic1) .paymentMethod("ANY") .shopperInteraction(SplitConfigurationRule.ShopperInteractionEnum.ANY) .currency("ANY") .fundingSource(SplitConfigurationRule.FundingSourceEnum.ANY); SplitConfiguration splitConfiguration = new SplitConfiguration() .description("Your description for the split configuration profile") .rules(Arrays.asList(splitConfigurationRule1)); // Send the request SplitConfigurationMerchantLevelApi service = new SplitConfigurationMerchantLevelApi(client); SplitConfiguration response = service.createSplitConfiguration("merchantId", splitConfiguration, null); ``` #### PHP ```php setXApiKey("ADYEN_API_KEY"); $client->setEnvironment(Environment::TEST); // Create the request object(s) $commission1 = new Commission(); $commission1 ->setVariablePercentage(100) ->setFixedAmount(10); $splitConfigurationLogic1 = new SplitConfigurationLogic(); $splitConfigurationLogic1 ->setChargeback("deductAccordingToSplitRatio") ->setRefundCostAllocation("deductFromLiableAccount") ->setChargebackCostAllocation("deductFromLiableAccount") ->setCommission($commission1) ->setRefund("deductFromOneBalanceAccount"); $splitConfigurationRule1 = new SplitConfigurationRule(); $splitConfigurationRule1 ->setSplitLogic($splitConfigurationLogic1) ->setPaymentMethod("ANY") ->setShopperInteraction("ANY") ->setCurrency("ANY") ->setFundingSource("ANY"); $splitConfiguration = new SplitConfiguration(); $splitConfiguration ->setDescription("Your description for the split configuration profile") ->setRules(array($splitConfigurationRule1)); // Send the request $service = new SplitConfigurationMerchantLevelApi($client); $response = $service->createSplitConfiguration('merchantId', $splitConfiguration); ``` #### C\# ```cs // Adyen .net API Library v31.0.0 using Adyen; using Environment = Adyen.Model.Environment; using Adyen.Model; using Adyen.Model.Management; using Adyen.Service.Management; var config = new Config() { XApiKey = "ADYEN_API_KEY", Environment = Environment.Test }; var client = new Client(config); // Create the request object(s) Commission commission1 = new Commission { VariablePercentage = 100, FixedAmount = 10 }; SplitConfigurationLogic splitConfigurationLogic1 = new SplitConfigurationLogic { Chargeback = SplitConfigurationLogic.ChargebackEnum.DeductAccordingToSplitRatio, RefundCostAllocation = SplitConfigurationLogic.RefundCostAllocationEnum.DeductFromLiableAccount, ChargebackCostAllocation = SplitConfigurationLogic.ChargebackCostAllocationEnum.DeductFromLiableAccount, Commission = commission1, Refund = SplitConfigurationLogic.RefundEnum.DeductFromOneBalanceAccount }; SplitConfigurationRule splitConfigurationRule1 = new SplitConfigurationRule { SplitLogic = splitConfigurationLogic1, PaymentMethod = "ANY", ShopperInteraction = SplitConfigurationRule.ShopperInteractionEnum.ANY, Currency = "ANY", FundingSource = SplitConfigurationRule.FundingSourceEnum.ANY }; SplitConfiguration splitConfiguration = new SplitConfiguration { Description = "Your description for the split configuration profile", Rules = new List{ splitConfigurationRule1 } }; // Send the request var service = new SplitConfigurationMerchantLevelService(client); var response = service.CreateSplitConfiguration("merchantId", splitConfiguration); ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v26.1.0 const { Client, ManagementAPI } = require('@adyen/api-library'); const client = new Client({ apiKey: "ADYEN_API_KEY", environment: "TEST" }); // Create the request object(s) const splitConfiguration = { description: "Your description for the split configuration profile", rules: [ { paymentMethod: "ANY", shopperInteraction: "ANY", fundingSource: "ANY", currency: "ANY", splitLogic: { refund: "deductFromOneBalanceAccount", refundCostAllocation: "deductFromLiableAccount", chargeback: "deductAccordingToSplitRatio", chargebackCostAllocation: "deductFromLiableAccount", commission: { fixedAmount: 10, variablePercentage: 100 } } } ] } // Send the request const managementAPI = new ManagementAPI(client); const response = managementAPI.SplitConfigurationMerchantLevelApi.createSplitConfiguration("merchantId", splitConfiguration); ``` #### Go ```go // Adyen Go API Library v20.0.0 import ( "context" "github.com/adyen/adyen-go-api-library/v20/src/common" "github.com/adyen/adyen-go-api-library/v20/src/adyen" "github.com/adyen/adyen-go-api-library/v20/src/management" ) client := adyen.NewClient(&common.Config{ ApiKey: "ADYEN_API_KEY", Environment: common.TestEnv, }) // Create the request object(s) commission1 := management.Commission{ VariablePercentage: common.PtrInt64(100), FixedAmount: common.PtrInt64(10), } splitConfigurationLogic1 := management.SplitConfigurationLogic{ Chargeback: common.PtrString("deductAccordingToSplitRatio"), RefundCostAllocation: common.PtrString("deductFromLiableAccount"), ChargebackCostAllocation: common.PtrString("deductFromLiableAccount"), Commission: commission1, Refund: common.PtrString("deductFromOneBalanceAccount"), } splitConfigurationRule1 := management.SplitConfigurationRule{ SplitLogic: splitConfigurationLogic1, PaymentMethod: "ANY", ShopperInteraction: "ANY", Currency: "ANY", FundingSource: common.PtrString("ANY"), } splitConfiguration := management.SplitConfiguration{ Description: "Your description for the split configuration profile", Rules: []management.SplitConfigurationRule{ splitConfigurationRule1, }, } // Send the request service := client.Management() req := service.SplitConfigurationMerchantLevelApi.CreateSplitConfigurationInput("merchantId").SplitConfiguration(splitConfiguration) res, httpRes, err := service.SplitConfigurationMerchantLevelApi.CreateSplitConfiguration(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v13.4.0 import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "ADYEN_API_KEY" adyen.client.platform = "test" # The environment to use library in. # Create the request object(s) json_request = { "description": "Your description for the split configuration profile", "rules": [ { "paymentMethod": "ANY", "shopperInteraction": "ANY", "fundingSource": "ANY", "currency": "ANY", "splitLogic": { "refund": "deductFromOneBalanceAccount", "refundCostAllocation": "deductFromLiableAccount", "chargeback": "deductAccordingToSplitRatio", "chargebackCostAllocation": "deductFromLiableAccount", "commission": { "fixedAmount": 10, "variablePercentage": 100 } } } ] } # Send the request result = adyen.management.split_configuration_merchant_level_api.create_split_configuration(request=json_request, merchantId="merchantId") ``` #### Ruby ```rb # Adyen Ruby API Library v10.2.0 require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = 'ADYEN_API_KEY' adyen.env = :test # Set to "live" for live environment # Create the request object(s) request_body = { :description => 'Your description for the split configuration profile', :rules => [ { :paymentMethod => 'ANY', :shopperInteraction => 'ANY', :fundingSource => 'ANY', :currency => 'ANY', :splitLogic => { :refund => 'deductFromOneBalanceAccount', :refundCostAllocation => 'deductFromLiableAccount', :chargeback => 'deductAccordingToSplitRatio', :chargebackCostAllocation => 'deductFromLiableAccount', :commission => { :fixedAmount => 10, :variablePercentage => 100 } } } ] } # Send the request result = adyen.management.split_configuration_merchant_level_api.create_split_configuration(request_body, 'merchantId') ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v26.1.0 import { Client, ManagementAPI, Types } from "@adyen/api-library"; const client = new Client({ apiKey: "ADYEN_API_KEY", environment: "TEST" }); // Create the request object(s) const commission1: Types.management.Commission = { variablePercentage: 100, fixedAmount: 10 }; const splitConfigurationLogic1: Types.management.SplitConfigurationLogic = { chargeback: Types.management.SplitConfigurationLogic.ChargebackEnum.DeductAccordingToSplitRatio, refundCostAllocation: Types.management.SplitConfigurationLogic.RefundCostAllocationEnum.DeductFromLiableAccount, chargebackCostAllocation: Types.management.SplitConfigurationLogic.ChargebackCostAllocationEnum.DeductFromLiableAccount, commission: commission1, refund: Types.management.SplitConfigurationLogic.RefundEnum.DeductFromOneBalanceAccount }; const splitConfigurationRule1: Types.management.SplitConfigurationRule = { splitLogic: splitConfigurationLogic1, paymentMethod: "ANY", shopperInteraction: Types.management.SplitConfigurationRule.ShopperInteractionEnum.ANY, currency: "ANY", fundingSource: Types.management.SplitConfigurationRule.FundingSourceEnum.ANY }; const splitConfiguration: Types.management.SplitConfiguration = { description: "Your description for the split configuration profile", rules: [splitConfigurationRule1] }; // Send the request const managementAPI = new ManagementAPI(client); const response = managementAPI.SplitConfigurationMerchantLevelApi.createSplitConfiguration("merchantId", splitConfiguration); ``` The response returns the following resources: * [splitConfigurationId](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#responses-200-splitConfigurationId): The unique identifier of the split configuration profile. * [ruleId](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations/\(splitConfigurationId\)#responses-200-rules-ruleId): The unique identifier of the split configuration rule. * [splitLogicId](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#responses-200-rules-splitLogic-splitLogicId): The unique identifier of the split instructions that are applied when the predefined conditions are met. You will need these IDs when you want to change the details of the split configuration profile. **Refund and chargeback instructions defined** ```json { "description": "Your description for the split configuration profile", "rules": [ { "currency": "ANY", "fundingSource": "ANY", "paymentMethod": "ANY", "ruleId": "SCRL00000000000000000000002", "shopperInteraction": "ANY", "splitLogic": { "refund": "deductFromOneBalanceAccount", "refundCostAllocation": "deductFromLiableAccount", "chargeback": "deductAccordingToSplitRatio", "chargebackCostAllocation": "deductFromLiableAccount", "commission": { "fixedAmount": 10, "variablePercentage": 100 } } } ], "splitConfigurationId": "SCNF00000000000000000000002" } ``` ** #### Book remaining amounts To define to which balance account to book the leftover amount after currency conversion, include the [remainder](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic-remainder) parameter in the [splitLogic](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic) object. In the following example, we book the leftover amount to your user's balance account. **Define where to book the remainder** #### curl ```bash curl https://management-test.adyen.com/v3/merchants/MC00000000000000000000001/splitConfigurations \ -H 'x-api-key: ADYEN_API_KEY' \ -H 'content-type: application/json' \ -X POST \ -d '{ "description": "Your description for the split configuration profile", "rules": [ { "paymentMethod": "ANY", "shopperInteraction": "ANY", "fundingSource": "ANY", "currency": "ANY", "splitLogic": { "remainder": "addToOneBalanceAccount", "commission": { "fixedAmount": 10, "variablePercentage": 100 } } } ] }' ``` #### Java ```java // Adyen Java API Library v35.0.0 import com.adyen.Client; import com.adyen.enums.Environment; import com.adyen.model.management.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.service.management.*; Client client = new Client("ADYEN_API_KEY", Environment.TEST); // Create the request object(s) Commission commission1 = new Commission() .variablePercentage(100L) .fixedAmount(10L); SplitConfigurationLogic splitConfigurationLogic1 = new SplitConfigurationLogic() .commission(commission1) .remainder(SplitConfigurationLogic.RemainderEnum.ADDTOONEBALANCEACCOUNT); SplitConfigurationRule splitConfigurationRule1 = new SplitConfigurationRule() .splitLogic(splitConfigurationLogic1) .paymentMethod("ANY") .shopperInteraction(SplitConfigurationRule.ShopperInteractionEnum.ANY) .currency("ANY") .fundingSource(SplitConfigurationRule.FundingSourceEnum.ANY); SplitConfiguration splitConfiguration = new SplitConfiguration() .description("Your description for the split configuration profile") .rules(Arrays.asList(splitConfigurationRule1)); // Send the request SplitConfigurationMerchantLevelApi service = new SplitConfigurationMerchantLevelApi(client); SplitConfiguration response = service.createSplitConfiguration("merchantId", splitConfiguration, null); ``` #### PHP ```php setXApiKey("ADYEN_API_KEY"); $client->setEnvironment(Environment::TEST); // Create the request object(s) $commission1 = new Commission(); $commission1 ->setVariablePercentage(100) ->setFixedAmount(10); $splitConfigurationLogic1 = new SplitConfigurationLogic(); $splitConfigurationLogic1 ->setCommission($commission1) ->setRemainder("addToOneBalanceAccount"); $splitConfigurationRule1 = new SplitConfigurationRule(); $splitConfigurationRule1 ->setSplitLogic($splitConfigurationLogic1) ->setPaymentMethod("ANY") ->setShopperInteraction("ANY") ->setCurrency("ANY") ->setFundingSource("ANY"); $splitConfiguration = new SplitConfiguration(); $splitConfiguration ->setDescription("Your description for the split configuration profile") ->setRules(array($splitConfigurationRule1)); // Send the request $service = new SplitConfigurationMerchantLevelApi($client); $response = $service->createSplitConfiguration('merchantId', $splitConfiguration); ``` #### C\# ```cs // Adyen .net API Library v31.0.0 using Adyen; using Environment = Adyen.Model.Environment; using Adyen.Model; using Adyen.Model.Management; using Adyen.Service.Management; var config = new Config() { XApiKey = "ADYEN_API_KEY", Environment = Environment.Test }; var client = new Client(config); // Create the request object(s) Commission commission1 = new Commission { VariablePercentage = 100, FixedAmount = 10 }; SplitConfigurationLogic splitConfigurationLogic1 = new SplitConfigurationLogic { Commission = commission1, Remainder = SplitConfigurationLogic.RemainderEnum.AddToOneBalanceAccount }; SplitConfigurationRule splitConfigurationRule1 = new SplitConfigurationRule { SplitLogic = splitConfigurationLogic1, PaymentMethod = "ANY", ShopperInteraction = SplitConfigurationRule.ShopperInteractionEnum.ANY, Currency = "ANY", FundingSource = SplitConfigurationRule.FundingSourceEnum.ANY }; SplitConfiguration splitConfiguration = new SplitConfiguration { Description = "Your description for the split configuration profile", Rules = new List{ splitConfigurationRule1 } }; // Send the request var service = new SplitConfigurationMerchantLevelService(client); var response = service.CreateSplitConfiguration("merchantId", splitConfiguration); ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v26.1.0 const { Client, ManagementAPI } = require('@adyen/api-library'); const client = new Client({ apiKey: "ADYEN_API_KEY", environment: "TEST" }); // Create the request object(s) const splitConfiguration = { description: "Your description for the split configuration profile", rules: [ { paymentMethod: "ANY", shopperInteraction: "ANY", fundingSource: "ANY", currency: "ANY", splitLogic: { remainder: "addToOneBalanceAccount", commission: { fixedAmount: 10, variablePercentage: 100 } } } ] } // Send the request const managementAPI = new ManagementAPI(client); const response = managementAPI.SplitConfigurationMerchantLevelApi.createSplitConfiguration("merchantId", splitConfiguration); ``` #### Go ```go // Adyen Go API Library v20.0.0 import ( "context" "github.com/adyen/adyen-go-api-library/v20/src/common" "github.com/adyen/adyen-go-api-library/v20/src/adyen" "github.com/adyen/adyen-go-api-library/v20/src/management" ) client := adyen.NewClient(&common.Config{ ApiKey: "ADYEN_API_KEY", Environment: common.TestEnv, }) // Create the request object(s) commission1 := management.Commission{ VariablePercentage: common.PtrInt64(100), FixedAmount: common.PtrInt64(10), } splitConfigurationLogic1 := management.SplitConfigurationLogic{ Commission: commission1, Remainder: common.PtrString("addToOneBalanceAccount"), } splitConfigurationRule1 := management.SplitConfigurationRule{ SplitLogic: splitConfigurationLogic1, PaymentMethod: "ANY", ShopperInteraction: "ANY", Currency: "ANY", FundingSource: common.PtrString("ANY"), } splitConfiguration := management.SplitConfiguration{ Description: "Your description for the split configuration profile", Rules: []management.SplitConfigurationRule{ splitConfigurationRule1, }, } // Send the request service := client.Management() req := service.SplitConfigurationMerchantLevelApi.CreateSplitConfigurationInput("merchantId").SplitConfiguration(splitConfiguration) res, httpRes, err := service.SplitConfigurationMerchantLevelApi.CreateSplitConfiguration(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v13.4.0 import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "ADYEN_API_KEY" adyen.client.platform = "test" # The environment to use library in. # Create the request object(s) json_request = { "description": "Your description for the split configuration profile", "rules": [ { "paymentMethod": "ANY", "shopperInteraction": "ANY", "fundingSource": "ANY", "currency": "ANY", "splitLogic": { "remainder": "addToOneBalanceAccount", "commission": { "fixedAmount": 10, "variablePercentage": 100 } } } ] } # Send the request result = adyen.management.split_configuration_merchant_level_api.create_split_configuration(request=json_request, merchantId="merchantId") ``` #### Ruby ```rb # Adyen Ruby API Library v10.2.0 require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = 'ADYEN_API_KEY' adyen.env = :test # Set to "live" for live environment # Create the request object(s) request_body = { :description => 'Your description for the split configuration profile', :rules => [ { :paymentMethod => 'ANY', :shopperInteraction => 'ANY', :fundingSource => 'ANY', :currency => 'ANY', :splitLogic => { :remainder => 'addToOneBalanceAccount', :commission => { :fixedAmount => 10, :variablePercentage => 100 } } } ] } # Send the request result = adyen.management.split_configuration_merchant_level_api.create_split_configuration(request_body, 'merchantId') ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v26.1.0 import { Client, ManagementAPI, Types } from "@adyen/api-library"; const client = new Client({ apiKey: "ADYEN_API_KEY", environment: "TEST" }); // Create the request object(s) const commission1: Types.management.Commission = { variablePercentage: 100, fixedAmount: 10 }; const splitConfigurationLogic1: Types.management.SplitConfigurationLogic = { commission: commission1, remainder: Types.management.SplitConfigurationLogic.RemainderEnum.AddToOneBalanceAccount }; const splitConfigurationRule1: Types.management.SplitConfigurationRule = { splitLogic: splitConfigurationLogic1, paymentMethod: "ANY", shopperInteraction: Types.management.SplitConfigurationRule.ShopperInteractionEnum.ANY, currency: "ANY", fundingSource: Types.management.SplitConfigurationRule.FundingSourceEnum.ANY }; const splitConfiguration: Types.management.SplitConfiguration = { description: "Your description for the split configuration profile", rules: [splitConfigurationRule1] }; // Send the request const managementAPI = new ManagementAPI(client); const response = managementAPI.SplitConfigurationMerchantLevelApi.createSplitConfiguration("merchantId", splitConfiguration); ``` The response returns the following resources: * [splitConfigurationId](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#responses-200-splitConfigurationId): The unique identifier of the split configuration profile. * [ruleId](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations/\(splitConfigurationId\)#responses-200-rules-ruleId): The unique identifier of the split configuration rule. * [splitLogicId](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#responses-200-rules-splitLogic-splitLogicId): The unique identifier of the split instructions that are applied when the predefined conditions are met. You will need these IDs when you want to change the details of the split configuration profile. **Refund and chargeback instructions defined** ```json { "description": "Your description for the split configuration profile", "rules": [ { "currency": "ANY", "fundingSource": "ANY", "paymentMethod": "ANY", "ruleId": "SCRL00000000000000000000003", "shopperInteraction": "ANY", "splitLogic": { "remainder": "addToOneBalanceAccount", "commission": { "fixedAmount": 10, "variablePercentage": 100 } } } ], "splitConfigurationId": "SCNF00000000000000000000003" } ``` ** #### Book DCC markups * Dynamic Currency Conversion (DCC) is only supported for in-person payments. * DCC is currently in pilot phase, and not yet available for all platforms. When a customer opts to use Dynamic Currency Conversion (DCC) at the payment terminal, in addition to the current exchange rate, they pay an additional markup on the transaction. Adyen uses a revenue share model, where the revenue from the markup is split between your platform, your user, and Adyen. After deducting the portion of the markup that Adyen keeps, you can choose how to split the remaining markup amount between your platform and your user. To define this logic in your split configuration, include the following parameter in the [splitLogic](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic) object: | Parameter | Required | Description | | ----------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `dcc.accountHolderPercentage` | | The percentage of the DCC markup that must be booked to your user, in basis points. This amount is booked to the balance account you define when you [link the profile to a store](/platforms/automatic-split-configuration/create-split-configuration?tab=api_2#link-profile-to-store). The remaining markup amount goes to your platform and is booked to your liable balance account. | In the following example, we create a split configuration that splits the DCC markup between your user and your platform as follows: * 60% of the markup must be booked to your user. * 40% of the markup must be booked to your platform. **Define DCC markup instructions** ```bash curl https://management-test.adyen.com/v3/merchants/MC00000000000000000000001/splitConfigurations \ -H 'x-api-key: ADYEN_API_KEY' \ -H 'content-type: application/json' \ -X POST \ -d '{ "description": "Your description for the split configuration profile", "rules": [ { "paymentMethod": "ANY", "shopperInteraction": "ANY", "fundingSource": "ANY", "currency": "ANY", "splitLogic": { "dcc": { "accountHolderPercentage": 6000 } } } ] }' ``` The response returns the following resources: * [splitConfigurationId](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#responses-200-splitConfigurationId): The unique identifier of the split configuration profile. * [ruleId](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations/\(splitConfigurationId\)#responses-200-rules-ruleId): The unique identifier of the split configuration rule. * [splitLogicId](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#responses-200-rules-splitLogic-splitLogicId): The unique identifier of the split instructions that are applied when the predefined conditions are met. You will need these IDs when you want to change the details of the split configuration profile. **DCC markup instructions defined** ```json { "description": "Your description for the split configuration profile", "rules": [ { "currency": "ANY", "fundingSource": "ANY", "paymentMethod": "ANY", "ruleId": "SCRL00000000000000000000005", "shopperInteraction": "ANY", "splitLogic": { "dcc": { "accountHolderPercentage": 6000 } } } ], "splitConfigurationId": "SCNF00000000000000000000005" } ``` ** #### Book tips and surcharges [Surcharges](/platforms/in-person-payments/surcharge) can only be configured for payments initiated in Australia and New Zealand. You can join a pilot in Canada, Europe, and the United States. To define the split instructions for potential tips and surcharges, you can include the following parameters in the [splitLogic](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic) object: | Parameter | Required | Description | | ------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ----------------------------------------------------- | | [surcharge](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic-surcharge) | | Define to which balance account to book surcharges. | | [tip](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic-tip) | | Define to which balance account to book the gratuity. | In the following example, we create a split configuration profile that books both the tip and surcharge to your user's balance account. **Define tip and surcharge instructions** #### curl ```bash curl https://management-test.adyen.com/v3/merchants/MC00000000000000000000001/splitConfigurations \ -H 'x-api-key: ADYEN_API_KEY' \ -H 'content-type: application/json' \ -X POST \ -d '{ "description": "Your description for the split configuration profile", "rules": [ { "paymentMethod": "ANY", "shopperInteraction": "ANY", "fundingSource": "ANY", "currency": "ANY", "splitLogic": { "tip": "addToOneBalanceAccount", "surcharge": "addToOneBalanceAccount", "commission": { "fixedAmount": 10, "variablePercentage": 100 } } } ] }' ``` #### Java ```java // Adyen Java API Library v35.0.0 import com.adyen.Client; import com.adyen.enums.Environment; import com.adyen.model.management.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.service.management.*; Client client = new Client("ADYEN_API_KEY", Environment.TEST); // Create the request object(s) Commission commission1 = new Commission() .variablePercentage(100L) .fixedAmount(10L); SplitConfigurationLogic splitConfigurationLogic1 = new SplitConfigurationLogic() .surcharge(SplitConfigurationLogic.SurchargeEnum.ADDTOONEBALANCEACCOUNT) .tip(SplitConfigurationLogic.TipEnum.ADDTOONEBALANCEACCOUNT) .commission(commission1); SplitConfigurationRule splitConfigurationRule1 = new SplitConfigurationRule() .splitLogic(splitConfigurationLogic1) .paymentMethod("ANY") .shopperInteraction(SplitConfigurationRule.ShopperInteractionEnum.ANY) .currency("ANY") .fundingSource(SplitConfigurationRule.FundingSourceEnum.ANY); SplitConfiguration splitConfiguration = new SplitConfiguration() .description("Your description for the split configuration profile") .rules(Arrays.asList(splitConfigurationRule1)); // Send the request SplitConfigurationMerchantLevelApi service = new SplitConfigurationMerchantLevelApi(client); SplitConfiguration response = service.createSplitConfiguration("merchantId", splitConfiguration, null); ``` #### PHP ```php setXApiKey("ADYEN_API_KEY"); $client->setEnvironment(Environment::TEST); // Create the request object(s) $commission1 = new Commission(); $commission1 ->setVariablePercentage(100) ->setFixedAmount(10); $splitConfigurationLogic1 = new SplitConfigurationLogic(); $splitConfigurationLogic1 ->setSurcharge("addToOneBalanceAccount") ->setTip("addToOneBalanceAccount") ->setCommission($commission1); $splitConfigurationRule1 = new SplitConfigurationRule(); $splitConfigurationRule1 ->setSplitLogic($splitConfigurationLogic1) ->setPaymentMethod("ANY") ->setShopperInteraction("ANY") ->setCurrency("ANY") ->setFundingSource("ANY"); $splitConfiguration = new SplitConfiguration(); $splitConfiguration ->setDescription("Your description for the split configuration profile") ->setRules(array($splitConfigurationRule1)); // Send the request $service = new SplitConfigurationMerchantLevelApi($client); $response = $service->createSplitConfiguration('merchantId', $splitConfiguration); ``` #### C\# ```cs // Adyen .net API Library v31.0.0 using Adyen; using Environment = Adyen.Model.Environment; using Adyen.Model; using Adyen.Model.Management; using Adyen.Service.Management; var config = new Config() { XApiKey = "ADYEN_API_KEY", Environment = Environment.Test }; var client = new Client(config); // Create the request object(s) Commission commission1 = new Commission { VariablePercentage = 100, FixedAmount = 10 }; SplitConfigurationLogic splitConfigurationLogic1 = new SplitConfigurationLogic { Surcharge = SplitConfigurationLogic.SurchargeEnum.AddToOneBalanceAccount, Tip = SplitConfigurationLogic.TipEnum.AddToOneBalanceAccount, Commission = commission1 }; SplitConfigurationRule splitConfigurationRule1 = new SplitConfigurationRule { SplitLogic = splitConfigurationLogic1, PaymentMethod = "ANY", ShopperInteraction = SplitConfigurationRule.ShopperInteractionEnum.ANY, Currency = "ANY", FundingSource = SplitConfigurationRule.FundingSourceEnum.ANY }; SplitConfiguration splitConfiguration = new SplitConfiguration { Description = "Your description for the split configuration profile", Rules = new List{ splitConfigurationRule1 } }; // Send the request var service = new SplitConfigurationMerchantLevelService(client); var response = service.CreateSplitConfiguration("merchantId", splitConfiguration); ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v26.1.0 const { Client, ManagementAPI } = require('@adyen/api-library'); const client = new Client({ apiKey: "ADYEN_API_KEY", environment: "TEST" }); // Create the request object(s) const splitConfiguration = { description: "Your description for the split configuration profile", rules: [ { paymentMethod: "ANY", shopperInteraction: "ANY", fundingSource: "ANY", currency: "ANY", splitLogic: { tip: "addToOneBalanceAccount", surcharge: "addToOneBalanceAccount", commission: { fixedAmount: 10, variablePercentage: 100 } } } ] } // Send the request const managementAPI = new ManagementAPI(client); const response = managementAPI.SplitConfigurationMerchantLevelApi.createSplitConfiguration("merchantId", splitConfiguration); ``` #### Go ```go // Adyen Go API Library v20.0.0 import ( "context" "github.com/adyen/adyen-go-api-library/v20/src/common" "github.com/adyen/adyen-go-api-library/v20/src/adyen" "github.com/adyen/adyen-go-api-library/v20/src/management" ) client := adyen.NewClient(&common.Config{ ApiKey: "ADYEN_API_KEY", Environment: common.TestEnv, }) // Create the request object(s) commission1 := management.Commission{ VariablePercentage: common.PtrInt64(100), FixedAmount: common.PtrInt64(10), } splitConfigurationLogic1 := management.SplitConfigurationLogic{ Surcharge: common.PtrString("addToOneBalanceAccount"), Tip: common.PtrString("addToOneBalanceAccount"), Commission: commission1, } splitConfigurationRule1 := management.SplitConfigurationRule{ SplitLogic: splitConfigurationLogic1, PaymentMethod: "ANY", ShopperInteraction: "ANY", Currency: "ANY", FundingSource: common.PtrString("ANY"), } splitConfiguration := management.SplitConfiguration{ Description: "Your description for the split configuration profile", Rules: []management.SplitConfigurationRule{ splitConfigurationRule1, }, } // Send the request service := client.Management() req := service.SplitConfigurationMerchantLevelApi.CreateSplitConfigurationInput("merchantId").SplitConfiguration(splitConfiguration) res, httpRes, err := service.SplitConfigurationMerchantLevelApi.CreateSplitConfiguration(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v13.4.0 import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "ADYEN_API_KEY" adyen.client.platform = "test" # The environment to use library in. # Create the request object(s) json_request = { "description": "Your description for the split configuration profile", "rules": [ { "paymentMethod": "ANY", "shopperInteraction": "ANY", "fundingSource": "ANY", "currency": "ANY", "splitLogic": { "tip": "addToOneBalanceAccount", "surcharge": "addToOneBalanceAccount", "commission": { "fixedAmount": 10, "variablePercentage": 100 } } } ] } # Send the request result = adyen.management.split_configuration_merchant_level_api.create_split_configuration(request=json_request, merchantId="merchantId") ``` #### Ruby ```rb # Adyen Ruby API Library v10.2.0 require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = 'ADYEN_API_KEY' adyen.env = :test # Set to "live" for live environment # Create the request object(s) request_body = { :description => 'Your description for the split configuration profile', :rules => [ { :paymentMethod => 'ANY', :shopperInteraction => 'ANY', :fundingSource => 'ANY', :currency => 'ANY', :splitLogic => { :tip => 'addToOneBalanceAccount', :surcharge => 'addToOneBalanceAccount', :commission => { :fixedAmount => 10, :variablePercentage => 100 } } } ] } # Send the request result = adyen.management.split_configuration_merchant_level_api.create_split_configuration(request_body, 'merchantId') ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v26.1.0 import { Client, ManagementAPI, Types } from "@adyen/api-library"; const client = new Client({ apiKey: "ADYEN_API_KEY", environment: "TEST" }); // Create the request object(s) const commission1: Types.management.Commission = { variablePercentage: 100, fixedAmount: 10 }; const splitConfigurationLogic1: Types.management.SplitConfigurationLogic = { surcharge: Types.management.SplitConfigurationLogic.SurchargeEnum.AddToOneBalanceAccount, tip: Types.management.SplitConfigurationLogic.TipEnum.AddToOneBalanceAccount, commission: commission1 }; const splitConfigurationRule1: Types.management.SplitConfigurationRule = { splitLogic: splitConfigurationLogic1, paymentMethod: "ANY", shopperInteraction: Types.management.SplitConfigurationRule.ShopperInteractionEnum.ANY, currency: "ANY", fundingSource: Types.management.SplitConfigurationRule.FundingSourceEnum.ANY }; const splitConfiguration: Types.management.SplitConfiguration = { description: "Your description for the split configuration profile", rules: [splitConfigurationRule1] }; // Send the request const managementAPI = new ManagementAPI(client); const response = managementAPI.SplitConfigurationMerchantLevelApi.createSplitConfiguration("merchantId", splitConfiguration); ``` The response returns the following resources: * [splitConfigurationId](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#responses-200-splitConfigurationId): The unique identifier of the split configuration profile. * [ruleId](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations/\(splitConfigurationId\)#responses-200-rules-ruleId): The unique identifier of the split configuration rule. * [splitLogicId](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#responses-200-rules-splitLogic-splitLogicId): The unique identifier of the split instructions that are applied when the predefined conditions are met. You will need these IDs when you want to change the details of the split configuration profile. **Tip and surcharge instructions defined** ```json { "description": "Your description for the split configuration profile", "rules": [ { "currency": "ANY", "fundingSource": "ANY", "paymentMethod": "ANY", "ruleId": "SCRL00000000000000000000004", "shopperInteraction": "ANY", "splitLogic": { "tip": "addToOneBalanceAccount", "surcharge": "addToOneBalanceAccount", "commission": { "fixedAmount": 10, "variablePercentage": 100 } } } ], "splitConfigurationId": "SCNF00000000000000000000004" } ``` The following example shows how you can add a new rule to an existing profile. **Add a rule** #### curl ```bash curl https://management-test.adyen.com/v3/merchants/MC00000000000000000000001/splitConfigurations/SCNF00000000000000000000001 \ -H 'x-api-key: ADYEN_API_KEY' \ -H 'content-type: application/json' \ -X POST \ -d '{ "paymentMethod": "visa", "shopperInteraction": "POS", "fundingSource": "ANY", "currency": "USD", "splitLogic": { "paymentFee": "deductFromLiableAccount", "chargeback": "deductFromLiableAccount", "tip": "addToOneBalanceAccount", "remainder": "addToLiableAccount", "commission": { "fixedAmount": 10, "variablePercentage": 100 }, "dcc": { "accountHolderPercentage": 6000 }, "additionalCommission": { "fixedAmount": 10, "variablePercentage": 50, "balanceAccountId": "BA00000000000000000000001" } } }' ``` #### Java ```java // Adyen Java API Library v25.0.0 import com.adyen.Client; import com.adyen.enums.Environment; import com.adyen.model.management.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.service.management.*; Client client = new Client("ADYEN_API_KEY", Environment.TEST); // Create the request object(s) AdditionalCommission additionalCommission = new AdditionalCommission() .balanceAccountId("BA00000000000000000000001") .variablePercentage(50L) .fixedAmount(10L); Commission commission = new Commission() .variablePercentage(100L) .fixedAmount(10L); SplitConfigurationLogic splitConfigurationLogic = new SplitConfigurationLogic() .paymentFee(SplitConfigurationLogic.PaymentFeeEnum.DEDUCTFROMLIABLEACCOUNT) .chargeback(SplitConfigurationLogic.ChargebackEnum.DEDUCTFROMLIABLEACCOUNT) .additionalCommission(additionalCommission) .tip(SplitConfigurationLogic.TipEnum.ADDTOONEBALANCEACCOUNT) .commission(commission) .remainder(SplitConfigurationLogic.RemainderEnum.ADDTOLIABLEACCOUNT); SplitConfigurationRule splitConfigurationRule = new SplitConfigurationRule() .splitLogic(splitConfigurationLogic) .paymentMethod("visa") .shopperInteraction(SplitConfigurationRule.ShopperInteractionEnum.POS) .currency("USD") .fundingSource(SplitConfigurationRule.FundingSourceEnum.ANY); // Make the API call SplitConfigurationMerchantLevelApi service = new SplitConfigurationMerchantLevelApi(client); SplitConfiguration response = service.createRule("merchantId", "splitConfigurationId", splitConfigurationRule, null); ``` #### PHP ```php // Adyen PHP API Library v17.4.0 use Adyen\Client; use Adyen\Environment; use Adyen\Model\Management\AdditionalCommission; use Adyen\Model\Management\SplitConfigurationLogic; use Adyen\Model\Management\SplitConfigurationRule; use Adyen\Service\Management\SplitConfigurationMerchantLevelApi; $client = new Client(); $client->setXApiKey("ADYEN_API_KEY"); $client->setEnvironment(Environment::TEST); // Create the request object(s) $additionalCommission = new AdditionalCommission(); $additionalCommission ->setBalanceAccountId("BA00000000000000000000001") ->setVariablePercentage(50) ->setFixedAmount(10); $commission = new Commission(); $commission ->setVariablePercentage(100) ->setFixedAmount(10); $splitConfigurationLogic = new SplitConfigurationLogic(); $splitConfigurationLogic ->setPaymentFee("deductFromLiableAccount") ->setChargeback("deductFromLiableAccount") ->setAdditionalCommission($additionalCommission) ->setTip("addToOneBalanceAccount") ->setCommission($commission) ->setRemainder("addToLiableAccount"); $splitConfigurationRule = new SplitConfigurationRule(); $splitConfigurationRule ->setSplitLogic($splitConfigurationLogic) ->setPaymentMethod("visa") ->setShopperInteraction("POS") ->setCurrency("USD") ->setFundingSource("ANY"); // Make the API call $service = new SplitConfigurationMerchantLevelApi($client); $response = $service->createRule('merchantId', 'splitConfigurationId', $splitConfigurationRule); ``` #### C\# ```cs // Adyen .net API Library v14.4.0 using Adyen; using Environment = Adyen.Model.Environment; using Adyen.Model; using Adyen.Model.Management; using Adyen.Service.Management; var config = new Config() { XApiKey = "ADYEN_API_KEY", Environment = Environment.Test }; var client = new Client(config); // Create the request object(s) AdditionalCommission additionalCommission = new AdditionalCommission { BalanceAccountId = "BA00000000000000000000001", VariablePercentage = 50, FixedAmount = 10 }; Commission commission = new Commission { VariablePercentage = 100, FixedAmount = 10 }; SplitConfigurationLogic splitConfigurationLogic = new SplitConfigurationLogic { PaymentFee = SplitConfigurationLogic.PaymentFeeEnum.DeductFromLiableAccount, Chargeback = SplitConfigurationLogic.ChargebackEnum.DeductFromLiableAccount, AdditionalCommission = additionalCommission, Tip = SplitConfigurationLogic.TipEnum.AddToOneBalanceAccount, Commission = commission, Remainder = SplitConfigurationLogic.RemainderEnum.AddToLiableAccount }; SplitConfigurationRule splitConfigurationRule = new SplitConfigurationRule { SplitLogic = splitConfigurationLogic, PaymentMethod = "visa", ShopperInteraction = SplitConfigurationRule.ShopperInteractionEnum.POS, Currency = "USD", FundingSource = SplitConfigurationRule.FundingSourceEnum.ANY }; // Make the API call var service = new SplitConfigurationMerchantLevelService(client); var response = service.CreateRule("merchantId", "splitConfigurationId", splitConfigurationRule); ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v16.2.0 // Require the parts of the module you want to use const { Client, ManagementAPI } = require('@adyen/api-library'); // Initialize the client object const client = new Client({apiKey: "ADYEN_API_KEY", environment: "TEST"}); // Create the request object(s) const splitConfigurationRule = { paymentMethod: "visa", shopperInteraction: "POS", fundingSource: "ANY", currency: "USD", splitLogic: { paymentFee: "deductFromLiableAccount", chargeback: "deductFromLiableAccount", tip: "addToOneBalanceAccount", remainder: "addToLiableAccount", commission: { fixedAmount: 10, variablePercentage: 100 }, additionalCommission: { fixedAmount: 10, variablePercentage: 50, balanceAccountId: "BA00000000000000000000001" } } } // Make the API call const managementAPI = new ManagementAPI(client); const response = managementAPI.SplitConfigurationMerchantLevelApi.createRule("merchantId", "splitConfigurationId", splitConfigurationRule); ``` #### Go ```go // Adyen Go API Library v9.3.0 import ( "context" "github.com/adyen/adyen-go-api-library/v9/src/common" "github.com/adyen/adyen-go-api-library/v9/src/adyen" "github.com/adyen/adyen-go-api-library/v9/src/management" ) client := adyen.NewClient(&common.Config{ ApiKey: "ADYEN_API_KEY", Environment: common.TestEnv, }) // Create the request object(s) additionalCommission := management.AdditionalCommission{ BalanceAccountId: common.PtrString("BA00000000000000000000001"), VariablePercentage: common.PtrInt64(50), FixedAmount: common.PtrInt64(10), } commission := management.Commission{ VariablePercentage: common.PtrInt64(100), FixedAmount: common.PtrInt64(10), } splitConfigurationLogic := management.SplitConfigurationLogic{ PaymentFee: common.PtrString("deductFromLiableAccount"), Chargeback: common.PtrString("deductFromLiableAccount"), AdditionalCommission: &additionalCommission, Tip: common.PtrString("addToOneBalanceAccount"), Commission: commission, Remainder: common.PtrString("addToLiableAccount"), } splitConfigurationRule := management.SplitConfigurationRule{ SplitLogic: splitConfigurationLogic, PaymentMethod: "visa", ShopperInteraction: "POS", Currency: "USD", FundingSource: common.PtrString("ANY"), } // Make the API call service := client.Management() req := service.SplitConfigurationMerchantLevelApi.CreateRuleInput("merchantId","splitConfigurationId").SplitConfigurationRule(splitConfigurationRule) res, httpRes, err := service.SplitConfigurationMerchantLevelApi.CreateRule(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v12.2.0 import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "ADYEN_API_KEY" adyen.client.platform = "test" # The environment to use library in. # Create the request object(s) json_request = { "paymentMethod": "visa", "shopperInteraction": "POS", "fundingSource": "ANY", "currency": "USD", "splitLogic": { "paymentFee": "deductFromLiableAccount", "chargeback": "deductFromLiableAccount", "tip": "addToOneBalanceAccount", "remainder": "addToLiableAccount", "commission": { "fixedAmount": 10, "variablePercentage": 100 }, "additionalCommission": { "fixedAmount": 10, "variablePercentage": 50, "balanceAccountId": "BA00000000000000000000001" } } } # Make the API call result = adyen.management.split_configuration_merchant_level_api.create_rule(request=json_request, merchantId="merchantId", splitConfigurationId="splitConfigurationId") ``` #### Ruby ```rb # Adyen Ruby API Library v9.3.0 require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = 'ADYEN_API_KEY' adyen.env = :test # Set to "live" for live environment # Create the request object(s) request_body = { :paymentMethod => 'visa', :shopperInteraction => 'POS', :fundingSource => 'ANY', :currency => 'USD', :splitLogic => { :paymentFee => 'deductFromLiableAccount', :chargeback => 'deductFromLiableAccount', :tip => 'addToOneBalanceAccount', :remainder => 'addToLiableAccount', :commission => { :fixedAmount => 10, :variablePercentage => 100 }, :additionalCommission => { :fixedAmount => 10, :variablePercentage => 50, :balanceAccountId => 'BA00000000000000000000001' } } } # Make the API call result = adyen.management.split_configuration_merchant_level_api.create_rule(request_body, 'merchantId', 'splitConfigurationId') ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v16.2.0 // Require the parts of the module you want to use import { Client, ManagementAPI, Types } from "@adyen/api-library"; // Initialize the client object const client = new Client({apiKey: "ADYEN_API_KEY", environment: "TEST"}); // Create the request object(s) const additionalCommission: Types.management.AdditionalCommission = { balanceAccountId: "BA00000000000000000000001", variablePercentage: 50, fixedAmount: 10 }; const commission: Types.management.Commission = { variablePercentage: 100, fixedAmount: 10 }; const splitConfigurationLogic: Types.management.SplitConfigurationLogic = { paymentFee: Types.management.SplitConfigurationLogic.PaymentFeeEnum.DeductFromLiableAccount, chargeback: Types.management.SplitConfigurationLogic.ChargebackEnum.DeductFromLiableAccount, additionalCommission: additionalCommission, tip: Types.management.SplitConfigurationLogic.TipEnum.AddToOneBalanceAccount, commission: commission, remainder: Types.management.SplitConfigurationLogic.RemainderEnum.AddToLiableAccount }; const splitConfigurationRule: Types.management.SplitConfigurationRule = { splitLogic: splitConfigurationLogic, paymentMethod: "visa", shopperInteraction: Types.management.SplitConfigurationRule.ShopperInteractionEnum.POS, currency: "USD", fundingSource: Types.management.SplitConfigurationRule.FundingSourceEnum.ANY }; // Make the API call const managementAPI = new ManagementAPI(client); const response = managementAPI.SplitConfigurationMerchantLevelApi.createRule("merchantId", "splitConfigurationId", splitConfigurationRule); ``` The response returns the full details of the updated split configuration profile, including the `ruleId` of the new rule in the `rules` array. **Rule created** ```json { "description": "Your description for the split configuration profile", "rules": [ { "currency": "USD", "fundingSource": "ANY", "cardRegion": "domestic", "paymentMethod": "visa", "ruleId": "SCRL00000000000000000000001", "shopperInteraction": "POS", "splitLogic": { "additionalCommission": { "fixedAmount": 10, "variablePercentage": 50, "balanceAccountId": "BA00000000000000000000001" }, "chargeback": "deductFromLiableAccount", "commission": { "fixedAmount": 10, "variablePercentage": 100 }, "splitLogicId": "SCLG00000000000000000000001", "paymentFee": "deductFromLiableAccount", "remainder": "addToOneBalanceAccount", "tip": "addToOneBalanceAccount" } }, { "currency": "USD", "fundingSource": "ANY", "cardRegion": "domestic", "paymentMethod": "visa", "ruleId": "SCRL00000000000000000000002", "shopperInteraction": "POS", "splitLogic": { "additionalCommission": { "fixedAmount": 10, "variablePercentage": 50, "balanceAccountId": "BA00000000000000000000001" }, "chargeback": "deductFromLiableAccount", "commission": { "fixedAmount": 10, "variablePercentage": 100 }, "dcc": { "accountHolderPercentage": 6000 }, "splitLogicId": "SCLG00000000000000000000002", "paymentFee": "deductFromLiableAccount", "remainder": "addToLiableAccount", "tip": "addToOneBalanceAccount" } } ], "splitConfigurationId": "SCNF00000000000000000000001", "stores": [ "ST00000000000000000000001", "ST00000000000000000000002" ] } ``` ## Change the conditions You can update the conditions that determine whether the payment is split automatically by modifying the rule in the profile. For more information on these conditions, see [Rule conditions](/platforms/automatic-split-configuration#conditions). To change the conditions of a rule, make a PATCH [/merchants/{merchantId}/splitConfigurations/{splitConfigurationId}/rules/{ruleId}](https://docs.adyen.com/api-explorer/Management/latest/patch/merchants/\(merchantId\)/splitConfigurations/\(splitConfigurationId\)/rules/\(ruleId\)) request with the following path parameters: | Path parameters | Required | Description | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | | [merchantId](https://docs.adyen.com/api-explorer/Management/latest/post/merchants#responses-200-id) | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | The unique identifier of your merchant account. | | [splitConfigurationId](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#responses-200-splitConfigurationId) | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | The unique identifier of the split configuration profile you want to update. | | [ruleId](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations/\(splitConfigurationId\)#responses-200-rules-ruleId) | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | The unique identifier of the rule whose conditions you want to update. | In the body of the request, include the following fields: | Parameter | Required | Description | | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [currency](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-currency) | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | You must define whether the rule applies to a specific currency, or all currencies. | | [paymentMethod](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-paymentMethod) | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | You must define whether the rule applies to a specific payment method, or all payment methods associated with the store. You can differentiate between [payment method variants](/development-resources/paymentmethodvariant/) as well, for example, configure different instructions for **visagold** and **visasignature**. | | [cardRegion](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-cardRegion) | | Defines whether the rule applies to transactions processed through a store that's registered in the same country/region where the card was issued, in a different country/region, or all transactions regardless of the processing and issuing location. Possible values:- **domestic** - **interRegional** - **intraRegional** - **international** - **ANY** | | [fundingSource](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-fundingSource) | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | You must define whether the rule applies only to payments initiated by a specific type of card, or any card types. | | [shopperInteraction](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-shopperInteraction) | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | You must define whether the rule applies to a specific sales channel, or all channels. | You must send **all conditions** in the request, not only the ones you want to update. The following example shows how you can change the conditions that define whether the payment is split according to the instructions defined in the split configuration profile. **Update the conditions of a rule** #### curl ```bash curl https://management-test.adyen.com/v3/merchants/MC00000000000000000000001/splitConfigurations/SCNF00000000000000000000001/rules/SCRL00000000000000000000001 \ -H 'x-api-key: ADYEN_API_KEY' \ -H 'content-type: application/json' \ -X PATCH \ -d '{ "currency": "EUR", "fundingSource": "ANY", "paymentMethod": "visa", "shopperInteraction": "ANY" }' ``` #### Java ```java // Adyen Java API Library v38.0.0 import com.adyen.Client; import com.adyen.enums.Environment; import com.adyen.model.management.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.service.management.*; Client client = new Client("ADYEN_API_KEY", Environment.TEST); // Create the request object(s) // Send the request SplitConfigurationMerchantLevelApi service = new SplitConfigurationMerchantLevelApi(client); SplitConfiguration response = service.updateSplitConditions("merchantId", "splitConfigurationId", "ruleId", updateSplitConfigurationRuleRequest, null); ``` #### PHP ```php setXApiKey("ADYEN_API_KEY"); $client->setEnvironment(Environment::TEST); // Create the request object(s) // Send the request $service = new SplitConfigurationMerchantLevelApi($client); $response = $service->updateSplitConditions('merchantId', 'splitConfigurationId', 'ruleId', $updateSplitConfigurationRuleRequest); ``` #### C\# ```cs // Adyen .net API Library v32.0.0 using Adyen; using Environment = Adyen.Model.Environment; using Adyen.Model; using Adyen.Model.Management; using Adyen.Service.Management; var config = new Config() { XApiKey = "ADYEN_API_KEY", Environment = Environment.Test }; var client = new Client(config); // Create the request object(s) // Send the request var service = new SplitConfigurationMerchantLevelService(client); var response = service.UpdateSplitConditions("merchantId", "splitConfigurationId", "ruleId", updateSplitConfigurationRuleRequest); ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v27.0.0 const { Client, ManagementAPI } = require('@adyen/api-library'); const client = new Client({ apiKey: "ADYEN_API_KEY", environment: "TEST" }); // Create the request object(s) const updateSplitConfigurationRuleRequest = { currency: "EUR", fundingSource: "ANY", paymentMethod: "visa", shopperInteraction: "ANY" } // Send the request const managementAPI = new ManagementAPI(client); const response = managementAPI.SplitConfigurationMerchantLevelApi.updateSplitConditions("merchantId", "splitConfigurationId", "ruleId", updateSplitConfigurationRuleRequest); ``` #### Go ```go // Adyen Go API Library v20.0.0 import ( "context" "github.com/adyen/adyen-go-api-library/v20/src/common" "github.com/adyen/adyen-go-api-library/v20/src/adyen" "github.com/adyen/adyen-go-api-library/v20/src/management" ) client := adyen.NewClient(&common.Config{ ApiKey: "ADYEN_API_KEY", Environment: common.TestEnv, }) // Create the request object(s) // Send the request service := client.Management() req := service.SplitConfigurationMerchantLevelApi.UpdateSplitConditionsInput("merchantId","splitConfigurationId","ruleId").UpdateSplitConfigurationRuleRequest(updateSplitConfigurationRuleRequest) res, httpRes, err := service.SplitConfigurationMerchantLevelApi.UpdateSplitConditions(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v13.4.0 import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "ADYEN_API_KEY" adyen.client.platform = "test" # The environment to use library in. # Create the request object(s) json_request = { "currency": "EUR", "fundingSource": "ANY", "paymentMethod": "visa", "shopperInteraction": "ANY" } # Send the request result = adyen.management.split_configuration_merchant_level_api.update_split_conditions(request=json_request, merchantId="merchantId", splitConfigurationId="splitConfigurationId", ruleId="ruleId") ``` #### Ruby ```rb # Adyen Ruby API Library v10.2.0 require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = 'ADYEN_API_KEY' adyen.env = :test # Set to "live" for live environment # Create the request object(s) request_body = { :currency => 'EUR', :fundingSource => 'ANY', :paymentMethod => 'visa', :shopperInteraction => 'ANY' } # Send the request result = adyen.management.split_configuration_merchant_level_api.update_split_conditions(request_body, 'merchantId', 'splitConfigurationId', 'ruleId') ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v27.0.0 import { Client, ManagementAPI, Types } from "@adyen/api-library"; const client = new Client({ apiKey: "ADYEN_API_KEY", environment: "TEST" }); // Create the request object(s) // Send the request const managementAPI = new ManagementAPI(client); const response = managementAPI.SplitConfigurationMerchantLevelApi.updateSplitConditions("merchantId", "splitConfigurationId", "ruleId", updateSplitConfigurationRuleRequest); ``` The response returns the full details of the updated split configuration profile, including the rule with the updated conditions. **Conditions updated** ```json { "description": "Your description for the split profile", "rules": [ { "currency": "USD", "fundingSource": "ANY", "cardRegion": "domestic", "paymentMethod": "visa", "ruleId": "SCRL00000000000000000000001", "shopperInteraction": "ANY", "splitLogic": { "additionalCommission": { "fixedAmount": 10, "variablePercentage": 50, "balanceAccountId": "BA00000000000000000000001" }, "chargeback": "deductFromLiableAccount", "commission": { "fixedAmount": 10, "variablePercentage": 100 }, "dcc": { "accountHolderPercentage": 6000 }, "splitLogicId": "SCLG00000000000000000000001", "paymentFee": "deductFromLiableAccount", "remainder": "addToOneBalanceAccount", "tip": "addToOneBalanceAccount" } } ], "splitConfigurationId":"SCNF00000000000000000000001", "stores": [ "ST00000000000000000000001", "ST00000000000000000000002" ] } ``` ## Change the split logic You can change the way a transaction is split between the balance accounts of your platform by modifying the [split logic](/platforms/automatic-split-configuration#split-logic) of the rule. To change the split logic used in a rule, make a PATCH [/merchants/{merchantId}/splitConfigurations/{splitConfigurationId}/rules/{ruleId}/splitLogic/{splitLogicId}](https://docs.adyen.com/api-explorer/Management/latest/patch/merchants/\(merchantId\)/splitConfigurations/\(splitConfigurationId\)/rules/\(ruleId\)/splitLogic/\(splitLogicId\)) request, specifying the following path parameters: | Path parameters | Required | Description | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | | [merchantId](https://docs.adyen.com/api-explorer/Management/latest/post/merchants#responses-200-id) | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | The unique identifier of your merchant account. | | [splitConfigurationId](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#responses-200-splitConfigurationId) | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | The unique identifier of the split configuration profile you want to update. | | [ruleId](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations/\(splitConfigurationId\)#responses-200-rules-ruleId) | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | The unique identifier of the rule whose split logic you want to update. | | [splitLogicId](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#responses-200-rules-splitLogic-splitLogicId) | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | The unique identifier of the split logic object you want to update. | In the body of the request, include the following fields: | Parameter | Required | Description | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [commission](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic-commission) | ![Required](/user/pages/reuse/image-library/01.icons/required/required.svg?decoding=auto\&fetchpriority=auto) | You must define the commission fee for the payments. This can be a fixed amount, a percentage, or both. | | [paymentFee](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic-paymentFee) or another [transaction fee type](/platforms/online-payments/transaction-fees/#transaction-fee-types) | ![Conditionally required](/user/pages/reuse/image-library/01.icons/conditionally-required/conditionally-required.svg?decoding=auto\&fetchpriority=auto) | You must define to which balance account to book the transaction fees associated with the payment. | | [chargeback](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic-chargeback) | | You can define the chargeback logic. You can book the entire disputed amount to your platform's liable balance account, your user's balance account, or split the disputed amount between the balance accounts specified in the original payment (with the same split ratio). | | [chargebackCostAllocation](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic-chargebackCostAllocation) | | You can define to which balance account to book the fees incurred by chargebacks. | | [refund](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic-refund) | | You can define the refund logic. You can book the entire refund amount to your platform's liable balance account, your user's balance account, or split the refund amount between the balance accounts specified in the original payment (with the same split ratio). | | [refundCostAllocation](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic-refundCostAllocation) | | You can define to which balance account to book the fees incurred by the refund. | | [additionalCommission](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic-additionalCommission) | | You can define an additional fee as a commission for your user, booked directly to the balance account you specify in `additionalCommission.balanceAccountId`. | | [remainder](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic-remainder) | | You can define to which balance account to book the amount left over after currency conversion. | | `dcc.accountHolderPercentage` | | You can define the percentage of the DCC markup to book to your user. The remaining percentage is booked to your platform. | | [surcharge](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic-surcharge) | | You can define to which balance account to book surcharges. | | [tip](https://docs.adyen.com/api-explorer/Management/latest/post/merchants/\(merchantId\)/splitConfigurations#request-rules-splitLogic-tip) | | You can define to which balance account to book the gratuity. | You must send **all existing split instructions** in the request you already set, not only the ones you want to update. All undefined split types are booked to your platform's liable balance account. The following example shows how you can change the way payments are split if they meet the conditions of the split configuration rule. The previous split instruction was to apply an additional commission of a fixed amount of USD 0.01 + 0.1%. Here we show how to change that into a commission of a fixed amount of USD 1.00. **Update the split logic** #### curl ```bash curl https://management-test.adyen.com/v3/merchants/MC00000000000000000000001/splitConfigurations/SCNF00000000000000000000001/rules/SCRL00000000000000000000001/splitLogic/SCLG00000000000000000000001 \ -H 'x-api-key: ADYEN_API_KEY' \ -H 'content-type: application/json' \ -X PATCH \ -d '{ "additionalCommission": { "fixedAmount": 100, "variablePercentage": 0, "balanceAccountId": "BA00000000000000000000001" }, "chargeback": "deductFromLiableAccount", "commission": { "fixedAmount": 100 }, "dcc": { "accountHolderPercentage": 6000 }, "paymentFee": "deductFromLiableAccount", "remainder": "addToLiableAccount", "tip": "addToLiableAccount" }' ``` #### Java ```java // Adyen Java API Library v38.0.0 import com.adyen.Client; import com.adyen.enums.Environment; import com.adyen.model.management.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.service.management.*; Client client = new Client("ADYEN_API_KEY", Environment.TEST); // Create the request object(s) // Send the request SplitConfigurationMerchantLevelApi service = new SplitConfigurationMerchantLevelApi(client); SplitConfiguration response = service.updateSplitLogic("merchantId", "splitConfigurationId", "ruleId", "splitLogicId", updateSplitConfigurationLogicRequest, null); ``` #### PHP ```php setXApiKey("ADYEN_API_KEY"); $client->setEnvironment(Environment::TEST); // Create the request object(s) // Send the request $service = new SplitConfigurationMerchantLevelApi($client); $response = $service->updateSplitLogic('merchantId', 'splitConfigurationId', 'ruleId', 'splitLogicId', $updateSplitConfigurationLogicRequest); ``` #### C\# ```cs // Adyen .net API Library v32.0.0 using Adyen; using Environment = Adyen.Model.Environment; using Adyen.Model; using Adyen.Model.Management; using Adyen.Service.Management; var config = new Config() { XApiKey = "ADYEN_API_KEY", Environment = Environment.Test }; var client = new Client(config); // Create the request object(s) // Send the request var service = new SplitConfigurationMerchantLevelService(client); var response = service.UpdateSplitLogic("merchantId", "splitConfigurationId", "ruleId", "splitLogicId", updateSplitConfigurationLogicRequest); ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v27.0.0 const { Client, ManagementAPI } = require('@adyen/api-library'); const client = new Client({ apiKey: "ADYEN_API_KEY", environment: "TEST" }); // Create the request object(s) const updateSplitConfigurationLogicRequest = { additionalCommission: { fixedAmount: 100, variablePercentage: 0, balanceAccountId: "BA00000000000000000000001" }, chargeback: "deductFromLiableAccount", commission: { fixedAmount: 100 }, paymentFee: "deductFromLiableAccount", remainder: "addToLiableAccount", tip: "addToLiableAccount" } // Send the request const managementAPI = new ManagementAPI(client); const response = managementAPI.SplitConfigurationMerchantLevelApi.updateSplitLogic("merchantId", "splitConfigurationId", "ruleId", "splitLogicId", updateSplitConfigurationLogicRequest); ``` #### Go ```go // Adyen Go API Library v20.0.0 import ( "context" "github.com/adyen/adyen-go-api-library/v20/src/common" "github.com/adyen/adyen-go-api-library/v20/src/adyen" "github.com/adyen/adyen-go-api-library/v20/src/management" ) client := adyen.NewClient(&common.Config{ ApiKey: "ADYEN_API_KEY", Environment: common.TestEnv, }) // Create the request object(s) // Send the request service := client.Management() req := service.SplitConfigurationMerchantLevelApi.UpdateSplitLogicInput("merchantId","splitConfigurationId","ruleId","splitLogicId").UpdateSplitConfigurationLogicRequest(updateSplitConfigurationLogicRequest) res, httpRes, err := service.SplitConfigurationMerchantLevelApi.UpdateSplitLogic(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v13.4.0 import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "ADYEN_API_KEY" adyen.client.platform = "test" # The environment to use library in. # Create the request object(s) json_request = { "additionalCommission": { "fixedAmount": 100, "variablePercentage": 0, "balanceAccountId": "BA00000000000000000000001" }, "chargeback": "deductFromLiableAccount", "commission": { "fixedAmount": 100 }, "paymentFee": "deductFromLiableAccount", "remainder": "addToLiableAccount", "tip": "addToLiableAccount" } # Send the request result = adyen.management.split_configuration_merchant_level_api.update_split_logic(request=json_request, merchantId="merchantId", splitConfigurationId="splitConfigurationId", ruleId="ruleId", splitLogicId="splitLogicId") ``` #### Ruby ```rb # Adyen Ruby API Library v10.2.0 require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = 'ADYEN_API_KEY' adyen.env = :test # Set to "live" for live environment # Create the request object(s) request_body = { :additionalCommission => { :fixedAmount => 100, :variablePercentage => 0, :balanceAccountId => 'BA00000000000000000000001' }, :chargeback => 'deductFromLiableAccount', :commission => { :fixedAmount => 100 }, :paymentFee => 'deductFromLiableAccount', :remainder => 'addToLiableAccount', :tip => 'addToLiableAccount' } # Send the request result = adyen.management.split_configuration_merchant_level_api.update_split_logic(request_body, 'merchantId', 'splitConfigurationId', 'ruleId', 'splitLogicId') ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v27.0.0 import { Client, ManagementAPI, Types } from "@adyen/api-library"; const client = new Client({ apiKey: "ADYEN_API_KEY", environment: "TEST" }); // Create the request object(s) // Send the request const managementAPI = new ManagementAPI(client); const response = managementAPI.SplitConfigurationMerchantLevelApi.updateSplitLogic("merchantId", "splitConfigurationId", "ruleId", "splitLogicId", updateSplitConfigurationLogicRequest); ``` The response returns the full details of the updated split configuration profile, including the new `splitLogic` object that contains the updated instructions. **Split logic updated** ```json { "description": "Your description for the split configuration profile", "rules": [ { "cardRegion": "domestic", "currency": "USD", "fundingSource": "ANY", "paymentMethod": "visa", "ruleId": "SCRL00000000000000000000001", "shopperInteraction": "ANY", "splitLogic": { "additionalCommission": { "fixedAmount": 100, "variablePercentage": 0, "balanceAccountId": "BA00000000000000000000001" }, "chargeback": "deductFromLiableAccount", "commission": { "fixedAmount": 100, "variablePercentage": 100 }, "dcc": { "accountHolderPercentage": 6000 }, "splitLogicId": "SCLG00000000000000000000001", "paymentFee": "deductFromLiableAccount", "remainder": "addToLiableAccount", "tip": "addToLiableAccount" } } ], "splitConfigurationId": "SCNF00000000000000000000001", "stores": [ "ST00000000000000000000001", "ST00000000000000000000002" ] } ``` ## Change the description You can only update the description of a split configuration profile by using the [Management API](https://docs.adyen.com/api-explorer/Management/latest/overview). To update the description of a profile, make a PATCH [/merchants/{merchantId}/splitConfigurations/{splitConfigurationId}](https://docs.adyen.com/api-explorer/Management/latest/patch/merchants/\(merchantId\)/splitConfigurations/\(splitConfigurationId\)) request with the ID of your merchant account and split configuration profile in the path, and the new `description` in the body. **Update the description** #### curl ```bash curl https://management-test.adyen.com/v3/merchants/MC00000000000000000000001/splitConfigurations/SCNF00000000000000000000001 \ -H 'x-api-key: ADYEN_API_KEY' \ -H 'content-type: application/json' \ -X PATCH \ -d '{ "description": "Updated description for the split configuration profile" }' ``` #### Java ```java // Adyen Java API Library v38.0.0 import com.adyen.Client; import com.adyen.enums.Environment; import com.adyen.model.management.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.service.management.*; Client client = new Client("ADYEN_API_KEY", Environment.TEST); // Create the request object(s) UpdateSplitConfigurationRequest updateSplitConfigurationRequest = new UpdateSplitConfigurationRequest() .description("Updated description for the split configuration profile"); // Send the request SplitConfigurationMerchantLevelApi service = new SplitConfigurationMerchantLevelApi(client); SplitConfiguration response = service.updateSplitConfigurationDescription("merchantId", "splitConfigurationId", updateSplitConfigurationRequest, null); ``` #### PHP ```php setXApiKey("ADYEN_API_KEY"); $client->setEnvironment(Environment::TEST); // Create the request object(s) $updateSplitConfigurationRequest = new UpdateSplitConfigurationRequest(); $updateSplitConfigurationRequest ->setDescription("Updated description for the split configuration profile"); // Send the request $service = new SplitConfigurationMerchantLevelApi($client); $response = $service->updateSplitConfigurationDescription('merchantId', 'splitConfigurationId', $updateSplitConfigurationRequest); ``` #### C\# ```cs // Adyen .net API Library v32.0.0 using Adyen; using Environment = Adyen.Model.Environment; using Adyen.Model; using Adyen.Model.Management; using Adyen.Service.Management; var config = new Config() { XApiKey = "ADYEN_API_KEY", Environment = Environment.Test }; var client = new Client(config); // Create the request object(s) UpdateSplitConfigurationRequest updateSplitConfigurationRequest = new UpdateSplitConfigurationRequest { Description = "Updated description for the split configuration profile" }; // Send the request var service = new SplitConfigurationMerchantLevelService(client); var response = service.UpdateSplitConfigurationDescription("merchantId", "splitConfigurationId", updateSplitConfigurationRequest); ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v27.0.0 const { Client, ManagementAPI } = require('@adyen/api-library'); const client = new Client({ apiKey: "ADYEN_API_KEY", environment: "TEST" }); // Create the request object(s) const updateSplitConfigurationRequest = { description: "Updated description for the split configuration profile" } // Send the request const managementAPI = new ManagementAPI(client); const response = managementAPI.SplitConfigurationMerchantLevelApi.updateSplitConfigurationDescription("merchantId", "splitConfigurationId", updateSplitConfigurationRequest); ``` #### Go ```go // Adyen Go API Library v20.0.0 import ( "context" "github.com/adyen/adyen-go-api-library/v20/src/common" "github.com/adyen/adyen-go-api-library/v20/src/adyen" "github.com/adyen/adyen-go-api-library/v20/src/management" ) client := adyen.NewClient(&common.Config{ ApiKey: "ADYEN_API_KEY", Environment: common.TestEnv, }) // Create the request object(s) updateSplitConfigurationRequest := management.UpdateSplitConfigurationRequest{ Description: "Updated description for the split configuration profile", } // Send the request service := client.Management() req := service.SplitConfigurationMerchantLevelApi.UpdateSplitConfigurationDescriptionInput("merchantId","splitConfigurationId").UpdateSplitConfigurationRequest(updateSplitConfigurationRequest) res, httpRes, err := service.SplitConfigurationMerchantLevelApi.UpdateSplitConfigurationDescription(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v13.4.0 import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "ADYEN_API_KEY" adyen.client.platform = "test" # The environment to use library in. # Create the request object(s) json_request = { "description": "Updated description for the split configuration profile" } # Send the request result = adyen.management.split_configuration_merchant_level_api.update_split_configuration_description(request=json_request, merchantId="merchantId", splitConfigurationId="splitConfigurationId") ``` #### Ruby ```rb # Adyen Ruby API Library v10.2.0 require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = 'ADYEN_API_KEY' adyen.env = :test # Set to "live" for live environment # Create the request object(s) request_body = { :description => 'Updated description for the split configuration profile' } # Send the request result = adyen.management.split_configuration_merchant_level_api.update_split_configuration_description(request_body, 'merchantId', 'splitConfigurationId') ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v27.0.0 import { Client, ManagementAPI, Types } from "@adyen/api-library"; const client = new Client({ apiKey: "ADYEN_API_KEY", environment: "TEST" }); // Create the request object(s) const updateSplitConfigurationRequest: Types.management.UpdateSplitConfigurationRequest = { description: "Updated description for the split configuration profile" }; // Send the request const managementAPI = new ManagementAPI(client); const response = managementAPI.SplitConfigurationMerchantLevelApi.updateSplitConfigurationDescription("merchantId", "splitConfigurationId", updateSplitConfigurationRequest); ``` The response returns the full profile, including the updated description. **Description updated** ```json { "description": "Updated description for the split configuration profile", "rules": [ { "cardRegion": "domestic", "currency": "USD", "fundingSource": "ANY", "paymentMethod": "visa", "ruleId": "SCRL00000000000000000000001", "shopperInteraction": "ANY", "splitLogic": { "additionalCommission": { "fixedAmount": 100, "variablePercentage": 0, "balanceAccountId": "BA00000000000000000000001" }, "chargeback": "deductFromLiableAccount", "commission": { "fixedAmount": 100, "variablePercentage": 100 }, "dcc": { "accountHolderPercentage": 6000 }, "splitLogicId": "SCLG00000000000000000000001", "paymentFee": "deductFromLiableAccount", "remainder": "addToLiableAccount", "tip": "addToLiableAccount" } } ], "splitConfigurationId": "SCNF00000000000000000000001", "stores": [ "ST00000000000000000000001", "ST00000000000000000000002" ] } ``` ## Remove a rule All split configuration profiles must contain at least one rule. Therefore, you cannot delete the only rule in the profile. If you want to remove a rule but keep the profile, make sure the profile contains at least one other rule. Otherwise, [delete the entire profile](#delete-profile). To remove a rule, make a DELETE [/merchants/{merchantId}/splitConfigurations/{splitConfigurationId}/rules/{ruleId}](https://docs.adyen.com/api-explorer/Management/latest/delete/merchants/\(merchantId\)/splitConfigurations/\(splitConfigurationId\)/rules/\(ruleId\)) request with the ID of your merchant account, split configuration profile, and rule in the path. **Delete a rule** #### curl ```bash curl https://management-test.adyen.com/v3/merchants/MC00000000000000000000001/splitConfigurations/SCNF00000000000000000000001/rules/SCRL00000000000000000000001 \ -H 'content-type: application/json' \ -H 'x-api-key: ADYEN_API_KEY' \ -X DELETE \ -d ``` #### Java ```java // Adyen Java API Library v38.0.0 import com.adyen.Client; import com.adyen.enums.Environment; import com.adyen.model.management.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.service.management.*; Client client = new Client("ADYEN_API_KEY", Environment.TEST); // Send the request SplitConfigurationMerchantLevelApi service = new SplitConfigurationMerchantLevelApi(client); SplitConfiguration response = service.deleteSplitConfigurationRule("merchantId", "splitConfigurationId", "ruleId", null); ``` #### PHP ```php setXApiKey("ADYEN_API_KEY"); $client->setEnvironment(Environment::TEST); // Send the request $service = new SplitConfigurationMerchantLevelApi($client); $response = $service->deleteSplitConfigurationRule('merchantId', 'splitConfigurationId', 'ruleId'); ``` #### C\# ```cs // Adyen .net API Library v32.0.0 using Adyen; using Environment = Adyen.Model.Environment; using Adyen.Model; using Adyen.Model.Management; using Adyen.Service.Management; var config = new Config() { XApiKey = "ADYEN_API_KEY", Environment = Environment.Test }; var client = new Client(config); // Send the request var service = new SplitConfigurationMerchantLevelService(client); var response = service.DeleteSplitConfigurationRule("merchantId", "splitConfigurationId", "ruleId"); ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v27.0.0 const { Client, ManagementAPI } = require('@adyen/api-library'); const client = new Client({ apiKey: "ADYEN_API_KEY", environment: "TEST" }); // Send the request const managementAPI = new ManagementAPI(client); const response = managementAPI.SplitConfigurationMerchantLevelApi.deleteSplitConfigurationRule("merchantId", "splitConfigurationId", "ruleId"); ``` #### Go ```go // Adyen Go API Library v20.0.0 import ( "context" "github.com/adyen/adyen-go-api-library/v20/src/common" "github.com/adyen/adyen-go-api-library/v20/src/adyen" "github.com/adyen/adyen-go-api-library/v20/src/management" ) client := adyen.NewClient(&common.Config{ ApiKey: "ADYEN_API_KEY", Environment: common.TestEnv, }) // Send the request service := client.Management() req := service.SplitConfigurationMerchantLevelApi.DeleteSplitConfigurationRuleInput("merchantId","splitConfigurationId","ruleId") res, httpRes, err := service.SplitConfigurationMerchantLevelApi.DeleteSplitConfigurationRule(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v13.4.0 import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "ADYEN_API_KEY" adyen.client.platform = "test" # The environment to use library in. # Send the request result = adyen.management.split_configuration_merchant_level_api.delete_split_configuration_rule(merchantId="merchantId", splitConfigurationId="splitConfigurationId", ruleId="ruleId") ``` #### Ruby ```rb # Adyen Ruby API Library v10.2.0 require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = 'ADYEN_API_KEY' adyen.env = :test # Set to "live" for live environment # Send the request result = adyen.management.split_configuration_merchant_level_api.delete_split_configuration_rule('merchantId', 'splitConfigurationId', 'ruleId') ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v27.0.0 import { Client, ManagementAPI, Types } from "@adyen/api-library"; const client = new Client({ apiKey: "ADYEN_API_KEY", environment: "TEST" }); // Send the request const managementAPI = new ManagementAPI(client); const response = managementAPI.SplitConfigurationMerchantLevelApi.deleteSplitConfigurationRule("merchantId", "splitConfigurationId", "ruleId"); ``` The response returns the full details of the updated split configuration profile, including all remaining rules. ## Delete a profile To delete a split configuration profile, make a DELETE [/merchants/{merchantId}/splitConfigurations/{splitConfigurationId}](https://docs.adyen.com/api-explorer/Management/latest/delete/merchants/\(merchantId\)/splitConfigurations/\(splitConfigurationId\)) request with the ID of your merchant account and split configuration profile in the path. **Delete the profile** #### curl ```bash curl https://management-test.adyen.com/v3/merchants/MC00000000000000000000001/splitConfigurations/SCNF00000000000000000000001 \ -H 'x-api-key: ADYEN_API_KEY' \ -H 'content-type: application/json' \ -X DELETE \ -d ``` #### Java ```java // Adyen Java API Library v38.0.0 import com.adyen.Client; import com.adyen.enums.Environment; import com.adyen.model.management.*; import java.time.OffsetDateTime; import java.util.*; import com.adyen.service.management.*; Client client = new Client("ADYEN_API_KEY", Environment.TEST); // Send the request SplitConfigurationMerchantLevelApi service = new SplitConfigurationMerchantLevelApi(client); SplitConfiguration response = service.deleteSplitConfiguration("merchantId", "splitConfigurationId", null); ``` #### PHP ```php setXApiKey("ADYEN_API_KEY"); $client->setEnvironment(Environment::TEST); // Send the request $service = new SplitConfigurationMerchantLevelApi($client); $response = $service->deleteSplitConfiguration('merchantId', 'splitConfigurationId'); ``` #### C\# ```cs // Adyen .net API Library v32.0.0 using Adyen; using Environment = Adyen.Model.Environment; using Adyen.Model; using Adyen.Model.Management; using Adyen.Service.Management; var config = new Config() { XApiKey = "ADYEN_API_KEY", Environment = Environment.Test }; var client = new Client(config); // Send the request var service = new SplitConfigurationMerchantLevelService(client); var response = service.DeleteSplitConfiguration("merchantId", "splitConfigurationId"); ``` #### NodeJS (JavaScript) ```js // Adyen Node API Library v27.0.0 const { Client, ManagementAPI } = require('@adyen/api-library'); const client = new Client({ apiKey: "ADYEN_API_KEY", environment: "TEST" }); // Send the request const managementAPI = new ManagementAPI(client); const response = managementAPI.SplitConfigurationMerchantLevelApi.deleteSplitConfiguration("merchantId", "splitConfigurationId"); ``` #### Go ```go // Adyen Go API Library v20.0.0 import ( "context" "github.com/adyen/adyen-go-api-library/v20/src/common" "github.com/adyen/adyen-go-api-library/v20/src/adyen" "github.com/adyen/adyen-go-api-library/v20/src/management" ) client := adyen.NewClient(&common.Config{ ApiKey: "ADYEN_API_KEY", Environment: common.TestEnv, }) // Send the request service := client.Management() req := service.SplitConfigurationMerchantLevelApi.DeleteSplitConfigurationInput("merchantId","splitConfigurationId") res, httpRes, err := service.SplitConfigurationMerchantLevelApi.DeleteSplitConfiguration(context.Background(), req) ``` #### Python ```py # Adyen Python API Library v13.4.0 import Adyen adyen = Adyen.Adyen() adyen.client.xapikey = "ADYEN_API_KEY" adyen.client.platform = "test" # The environment to use library in. # Send the request result = adyen.management.split_configuration_merchant_level_api.delete_split_configuration(merchantId="merchantId", splitConfigurationId="splitConfigurationId") ``` #### Ruby ```rb # Adyen Ruby API Library v10.2.0 require "adyen-ruby-api-library" adyen = Adyen::Client.new adyen.api_key = 'ADYEN_API_KEY' adyen.env = :test # Set to "live" for live environment # Send the request result = adyen.management.split_configuration_merchant_level_api.delete_split_configuration('merchantId', 'splitConfigurationId') ``` #### NodeJS (TypeScript) ```ts // Adyen Node API Library v27.0.0 import { Client, ManagementAPI, Types } from "@adyen/api-library"; const client = new Client({ apiKey: "ADYEN_API_KEY", environment: "TEST" }); // Send the request const managementAPI = new ManagementAPI(client); const response = managementAPI.SplitConfigurationMerchantLevelApi.deleteSplitConfiguration("merchantId", "splitConfigurationId"); ``` The response contains all details of the deleted profile. **Deleted profile** ```json { "description": "Your description for the split configuration profile", "rules": [ { "cardRegion": "domestic", "currency": "USD", "fundingSource": "ANY", "paymentMethod": "visa", "ruleId": "SCRL00000000000000000000001", "shopperInteraction": "ANY", "splitLogic": { "additionalCommission": { "fixedAmount": 100, "variablePercentage": 0, "balanceAccountId": "BA00000000000000000000001" }, "chargeback": "deductFromLiableAccount", "commission": { "fixedAmount": 100, "variablePercentage": 100 }, "dcc": { "accountHolderPercentage": 6000 }, "splitLogicId": "SCLG00000000000000000000001", "paymentFee": "deductFromLiableAccount", "remainder": "addToLiableAccount", "tip": "addToLiableAccount" } } ], "splitConfigurationId": "SCNF00000000000000000000001" } ``` ## See also * [Split online payments](/platforms/online-payments/split-transactions) * [Split in-person payments](/platforms/in-person-payments/split-transactions)