Split Payment API

Introduction

Test Server : http:///zaakstaging.zaakpay.com/api/v1/splitTxnByAmount

Live Server : https://api.zaakpay.com/api/v1/splitTxnByAmount

Request Parameters

ParameterOptional O, Mandatory MValidationAllowed Values
orderIdMMax 20 alphanumeric, must be unique per website, we do not accept duplicateYour unique transaction identifier
orderAmountMTxn amount in paisa,IntegerOrder Amount
zaakMerchantIdentifierMalphanumericMobiKwik Payment Gateway unique merchant identifier for your website
merchantAmountMTxn amount in paisa,IntegerMerchant Amount

Response Parameters

ParametersDescription
statusStatus of the transaction
errorCodeCode of the error
errorDescriptionDescription of the error
orderIdMax 20 alphanumeric, must be unique per website, we do not accept duplicate

Sample Request

Method : Post
Headers :

  • Content-Type: application/json
  • zaakchecksum: b1f24d257d997866d3f63375153e130a8928a924c1702ab86b20de273b501472
    Request Body :

In case Custom identifier is false

{
  "orderId": "ZPLive1504855178413",
  "orderAmount": "1000",
  "masterMerchantIdentifier": {
    "zaakMerchantIdentifier": "c4010ec85c7c4a3481965b226efc99cc",
    "merchantAmount": "0"
  },
  "subMerchantIdentifiers": [
    {
      "zaakMerchantIdentifier": " 917cb4c8afdf42bebf787810a3c19220 ",
      "merchantAmount": "600"
    },
    {
      "zaakMerchantIdentifier": "MBK70225",
      "merchantAmount": "400"
    }
  ],
  "isCustomIdentifier": false
}

In case Custom identifier is true:

{
  "orderId": "ZPLive1511118413",
  "orderAmount": "1000",
  "masterMerchantIdentifier": {
    "merchantIdentifier": "Custom1234",
    "merchantAmount": "0"
  },
  "subMerchantIdentifiers": [
    {
      "merchantIdentifier": "Custom123",
      "merchantAmount": "600"
    },
    {
      "merchantIdentifier": "Custom1235",
      "merchantAmount": "400"
    }
  ],
  "isCustomIdentifier": true
}

Sample Response

{
  "status": "FAILURE",
  "errorCode": "180",
  "errorDescription": "Checksum received with request is not equal to what we calculated.",
  "orderId": "ZPLive1504855178413"
}

Checksum For Request

Zaakchecksum is calculated on the basis of request parameter string and secret key.
For example: Consider the below sample request (JSON format)

Request Parameter String will be:
{"orderId":"ZPLive1504855178413","orderAmount":"1000","masterMerchantIdentifie
r":{ "zaakMerchantIdentifier":"c4010ec85c7c4a3481965b226efc99cc",
"merchantAmount":"0"},"subMerchantIdentifiers":[{
"zaakMerchantIdentifier":"c917cb4c8afdf42bebf787810a3c19220","merchantAm
ount":"600"},{
"zaakMerchantIdentifier":"MBK70225","merchantAmount":"400"}],"isCustomIden
tifier":false}

Secret key (of master merchant): 239de630f35343b28e5b0a14896397bf (For Test
URL only)

Use above mentioned request parameter string & secret key in hmac SHA 256 algo to
generate Zaakchecksum.

Using above parameters, you will get Zaakchecksum string as mentioned below :
b1f24d257d997866d3f63375153e130a8928a924c1702ab86b20de273b501

📘

Important Terms Used

  1. masterMerchantIdentifier: To identify the master merchant key who is adding
    the split pay request.
  2. subMerchantIdentifiers: To identify the sub merchant keys for whom the split
    will be added.
  3. isCustomIdentifier: Flag to differentiate whether the merchant will send its
    own merchant name or will use the zaakpay unique merchant identifier.
  4. merchantIdentifier: Merchant name configured at merchant’s end which is
    pre-shared with Zaakpay.
  5. zaakMerchantIdentifier: Zaakpay unique merchant identifier. If merchant is
    using this key, merchant should ask Zaakpay support for the details before
    going live.