Step 3: Configure creditor operation

With PC300 classified, AcmePay can configure the creditor operation that determines how those transactions are charged and settled.

Objective: Translate the PC300 business requirement into the financial and operational conditions Seller management should apply.

AcmePay needs to determine:

  1. When should the merchant be paid?
  2. Which charges apply?
  3. How should charges behave across installments?
  4. How should the installment amounts contribute to settlement?

Configure the PC300 installment scenario

AcmePay wants PC300 credit card purchases to settle according to installment-based payment schedules and apply marketplace fees.

Each creditor operation applies to sales with one specific installment count. A six-installment PC300 sale requires only one creditor operation: the one configured with installments: 6. The payment dates and charges of all six installments are derived from that single operation. AcmePay also accepts PC300 sales of two to five installments, so it configures an operation for each installment count from 2 through 6. Each of those sales likewise matches a single operation.

AcmePay configuration layer for PC300

Configuration itemExample definitionWhy it matters
Processing codePC300Identifies the transaction classification.
CreditorABC Furniture Creditor AccountDefines who receives funds.
MarketplaceAcme Retail MarketplaceEstablishes marketplace context.
Installments2 through 6One creditor operation for each accepted installment count.
Settlement timingD+30 (first_installment_days_to_payment: 30, n_installment_days_to_payment: 30, work_days: false)Determines payment timing.
MDR2.0% (mdr: 0.02)Applies percentage-based fee.
MDR distributionmatched_mdr: falseApplies the MDR and fixed transaction fee to the first installment only.
Fixed fee$0.30 (transaction_fee: 0.30)Applies per-transaction fee.
Additional feesMarketplace fee of 0.5% (MARKETPLACE_FEE, value 0.005)Allows marketplace participation in fee structure.
Matched settlementmatched_settlement: truePays the settlement in several batches.
Start date2027-01-01Date from which the creditor operations are active

Advancement terms aren't part of the creditor operation—AcmePay sets them on the ABC Furniture creditor in Step 1.

Configure MDR tax

Before creating the creditor operations, AcmePay configures the MDR tax for Acme Retail Marketplace using the Create MDR tax information endpoint. For this example, AcmePay uses a single zero-rate range.

Request payload example
{
  "ranges": [
    {
      "minimum_transaction_amount": 0,
      "maximum_transaction_amount": 100000,
      "fixed_tax": 0,
      "percentage_tax": 0
    }
  ]
}

If successful (response code 200), the request replaces the marketplace's entire set of ranges.

Create the creditor operations

AcmePay creates the five PC300 creditor operations (installment counts 2 through 6) in one request using the Create marketplace creditor operations endpoint.

Request payload example
{
  "merchant_ids": [ 4458801 ],
  "creditor_operation": {
    "processing_code": "PC300",
    "start_date": "2027-01-01",
    "installments": [
      { "installment": 2, "mdr": 0.02, "transaction_fee": 0.30,
        "first_installment_days_to_payment": 30, "n_installment_days_to_payment": 30,
        "work_days": false, "matched_settlement": true, "matched_mdr": false,
        "fees": [ { "name": "MARKETPLACE_FEE", "value": 0.005 } ] },
      { "installment": 3, "mdr": 0.02, "transaction_fee": 0.30,
        "first_installment_days_to_payment": 30, "n_installment_days_to_payment": 30,
        "work_days": false, "matched_settlement": true, "matched_mdr": false,
        "fees": [ { "name": "MARKETPLACE_FEE", "value": 0.005 } ] },
      { "installment": 4, "mdr": 0.02, "transaction_fee": 0.30,
        "first_installment_days_to_payment": 30, "n_installment_days_to_payment": 30,
        "work_days": false, "matched_settlement": true, "matched_mdr": false,
        "fees": [ { "name": "MARKETPLACE_FEE", "value": 0.005 } ] },
      { "installment": 5, "mdr": 0.02, "transaction_fee": 0.30,
        "first_installment_days_to_payment": 30, "n_installment_days_to_payment": 30,
        "work_days": false, "matched_settlement": true, "matched_mdr": false,
        "fees": [ { "name": "MARKETPLACE_FEE", "value": 0.005 } ] },
      { "installment": 6, "mdr": 0.02, "transaction_fee": 0.30,
        "first_installment_days_to_payment": 30, "n_installment_days_to_payment": 30,
        "work_days": false, "matched_settlement": true, "matched_mdr": false,
        "fees": [ { "name": "MARKETPLACE_FEE", "value": 0.005 } ] }
    ]
  }
}

Note the nesting: processing_code, start_date, and installments[] sit inside creditor_operation, with merchant_ids as a sibling. Each entry's installment value is the installment count of the creditor operation it creates, not an installment within a sale. The endpoint returns 201 with no body, so AcmePay confirms the result by reading the configuration back.

This endpoint generates a Marketplace creditor operation created event.

Read the configuration back

AcmePay calls the List marketplace creditor operations endpoint. The response is paginated and includes fees with each fee model's type. The following example shows the item for installment count 6. The full response contains one item for each installment count.

Response payload example
{
  "per_page": 10,
  "current_page": 1,
  "has_next": false,
  "items": [
    {
      "id": 98765,
      "creditor_id": 777,
      "creditor_name": "ABC Furniture",
      "processing_code": "PC300",
      "installments": 6,
      "mdr": 0.02,
      "transaction_fee": 0.30,
      "first_installment_days_to_payment": 30,
      "n_installment_days_to_payment": 30,
      "work_days": false,
      "matched_settlement": true,
      "matched_mdr": false,
      "start_date": "2027-01-01",
      "fees": [ { "name": "MARKETPLACE_FEE", "type": "PERCENTAGE", "value": 0.005 } ]
    }
  ]
}

Record the expected outcomes

Before submitting live activity, AcmePay completes the Evaluation layer of the planning matrix, so implementation and operations teams know what to validate for PC300.

Expected outcomeValue/outcome
Scenario identificationSeller management identifies the activity as the PC300 scenario.
Schedule structureThe output reflects the six-installment configuration.
Charge treatmentMDR and fixed-fee behavior reflects matched_mdr: false.
Payment timingScheduled dates reflect the configured timing values.
Net amountsScheduled amounts reflect the applicable rates and fees.
Settlement contextResulting funds follow the applicable creditor relationship.
AdvancementEligible future receivables can enter the advancement workflow, according to the creditor's advancement terms.
Validation criteriaAcmePay can compare the generated dates, charges, net amounts, and statuses with the planned result.
🚧

Verify before sending live traffic. Read the configuration back, and confirm an operation exists for every combination of processing code and installment count your merchants will submit. A sale whose processing code and installment count do not match an existing creditor operation will not be processed.


Did this page help you?