Vendor Level Delay

Merchants can delay their vendor settlements by enabling the Defer Settlement from the Settings page. To enable defer settlement, click the toggle button, set the Defer by Days value, and click Save.

The Defer by Days value determines number of the days by which the settlement will be delayed to vendors. For example, if you set the Defer by Days value to 5, the settlements to the vendors will be delayed by 5 days from the date of transaction.

2296

Defer Settlement

Scenario 1: Merchant triggers the Vendor Settlement Eligibility Date for Orders API before deferred delay eligibility.

Configuration:

  • Defer by Days value: 15 days
  • Transaction Date: 2nd December at 4:00 PM

Since the deferred delay value set by merchant is 15 days, the vendor settlement eligibility is: 17th December 4:00 PM.

Let us assume:

  • Supplier 1 delivers goods/services to customer on 5th December.
  • Supplier 2 delivers goods/services to customer on 6th December.

Merchants can facilitate customized vendor settlements at different time for the same order ID. As supplier 1 has delivered goods on 5th December, merchant can trigger the Set_Vendor_Settlement_Eligibility_Date_for_Orders API.

Provide the following in the API:

  • order ID
  • vendor ID
  • change the settlementEligibilityDate value to a newer value

Settlement will happen to supplier 1 based on the updated settlementEligibilityDate.

Scenario 1 Configurations (Supplier 1)Values
Deferred delay value15 days
Supplier 1 settlement cycleSettlement ID: 1 (T+1 settlement at 11:00 AM)
Supplier 1 original settlement date18th December at 11:00 AM (Since deferred delay set to 15 days and T+1 settlement)
Supplier 1 service delivery time2022-12-06 9PM
settlementEligibilityDate updated by merchant2022-12-06 09:00:00
Supplier 1 new settlement date7th December at 11:00AM since supplier 1 is in T+1 settlement of 11:00 AM).

Sample Request


curl --location --request PUT 'https://api.cashfree.com/api/v2/easy-split/orders/{{orderid}}/settlement-eligibility/vendors/{{vendorid}}
' \
--header 'X-Client-Id: {{clientId}}' \
--header 'X-Client-Secret: {{secretKey}}' \
--header 'Content-Type: application/json' \
{
    "settlementEligibilityDateUpdate": "2022-12-06 9PM"
}

Sample Response


{
    "status": "OK",
    "subCode": "200",
    "message": "Updated vendor settlement eligibility date."
}

In the same way, the merchant can settle supplier 2 before the deferred delay. Let us assume the similar configurations:

Scenario 1 Configurations (Supplier 2)Values
Deferred delay value15 days
Supplier 2 settlement cycleT+1 settlement at 11:00 AM
Supplier 2 original settlement date18th December at 11:00 AM (Since deferred delay set to 15 days and T+2 settlement)
Supplier 2 service delivery time12th December 8PM
settlementEligibilityDate updated by merchant2022-12-12 09:00:00
Supplier 2 new settlement date12th December at 11:00AM since supplier 2 is atT+1 settlement at 11:00 AM)

Sample Request


curl --location --request PUT 'https://api.cashfree.com/api/v2/easy-split/orders/{{orderid}}/settlement-eligibility/vendors/{{vendorid}}
' \
--header 'X-Client-Id: {{clientId}}' \
--header 'X-Client-Secret: {{secretKey}}' \
--header 'Content-Type: application/json' \
{
    "settlementEligibilityDateUpdate": "2022-12-07 09:00:00"
}

Sample Response


{
    "status": "OK",
    "subCode": "200",
    "message": "Updated vendor settlement eligibility date."
}

Scenario 2: Merchant triggers the Set Vendor Settlement Eligibility Date for Orders API after the deferred delay eligibility

Configuration:

  • Defer by Days value: 15 days
  • Transaction Date: 2nd December at 4:00 PM

As the merchant has set the deferred delay value to 15 days, merchants can update the settlementEligibilityDate only within this time period (2nd December - 17th December 4:00PM). If you trigger the API post that, you will get an error stating: "Settlement eligibility cannot be beyond max_eligibity_date. Provide an earlier date". The settlements will happen as per the deferred delay only.

Sample Request


curl --location --request PUT 'https://api.cashfree.com/api/v2/easy-split/orders/{{orderid}}/settlement-eligibility/vendors/{{vendorid}}
' \
--header 'X-Client-Id: {{clientId}}' \
--header 'X-Client-Secret: {{secretKey}}' \
--header 'Content-Type: application/json' \
{
    "settlementEligibilityDateUpdate": "2022-21-09 09:00:00"
}

Sample Response


{
    "status": "ERROR",
    "subCode": "400",
    "message": "Settlement eligibility cannot be beyond max_eligibity_date. Provide an earlier date.
}