Advanced Features

Core API has various optional parameters that can be utilized to integrate with more advanced use cases. This section will explain advance features specific for Partner Solutions, other general features can be seen on this docss docs




Transaction Split

With this feature, as a partner, you can split the gross amount and MDR fee of a transaction to your merchants.


📘

Glossary

In this context, gross amount is the amount that will be added on your withdrawable balance.

MDR fee is transaction fee that is deducted for each transaction.


You can add transaction_split_settings parameter to define how will you split the transaction.


{
  ...
  "transaction_split_settings": {
    "gross_amount_split": {
      "type": "percentage",
      "split_rules": [
        {
          "merchant_id": "G000002",
          "value": "85"
        },
        {
          "merchant_id": "G000003",
          "value": "15"
        }
      ]
    },
    "fee_split": {
      "type": "percentage",
      "split_rules": [
        {
          "merchant_id": "G000002",
          "value": "50"
        },
        {
          "merchant_id": "G000003",
          "value": "50"
        }
      ]
    }
  },
  ...
}

ParameterDescriptionTypeRequired
gross_amount_splitDefine the rules for splitting the transaction amountObjectOptional*
required when fee_split is not defined
gross_amount_split.typeType of the split, possible values are percentageStringRequired
gross_amount_split.split_rulesDefine the detail of the splitArray of ObjectRequired
gross_amount_split.split_rules.*.merchant_idMerchant ID which will receive amount of the transactionStringRequired
gross_amount.split_rules.*.valueValue of the split based on type.
  • Percentage: percentage of the amount that will merchant receive
StringRequired
fee_splitDefine the rules for splitting the transaction feeObjectOptional*
required when gross_amount_split is not defined
fee_split.typeType of the split, possible values are percentageStringRequired
fee_split.split_rulesDefine the detail of the splitArray of ObjectRequired
fee_split.split_rules.*.merchant_idMerchant ID which will bear the transaction feeStringRequired
fee_split.split_rules.*.valueValue of the split based on type.
  • Percentage: percentage of the fee that will be borne by merchant
StringRequired

Things to Note

  • You can split only the gross amount, only the fee, or both.
  • When the type is percentage, the total value must be equals to 100%.
  • Specified merchant_id must be registered under your Partner setup.

Sample Calculation

With transaction amount Rp 100.000, transaction fee Rp 4.440, and this split configuration:

{
  ...
  "transaction_split_settings": {
    "gross_amount_split": {
      "type": "percentage",
      "split_rules": [
        {
          "merchant_id": "G000002",
          "value": "85"
        },
        {
          "merchant_id": "G000003",
          "value": "15"
        }
      ]
    },
    "fee_split": {
      "type": "percentage",
      "split_rules": [
        {
          "merchant_id": "G000002",
          "value": "50"
        },
        {
          "merchant_id": "G000003",
          "value": "50"
        }
      ]
    }
  },
  ...
}

The split result will be:

  • Merchant G000002:
    • Receive Rp 82.780 (85% * 100.000 - 2.220)
    • Bear Rp 2.220 of the fee (50% * 4.440)
  • Merchant G000003:
    • Receive Rp 12.780 (15% * 100.000 - 2.220)
    • Bear Rp 2.220 of the fee (50% * 4.440)