Split Payment API

Introduction

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

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

Request Parameters

Parameter

Optional O, Mandatory M

Validation

Allowed Values

orderId

M

Max 20 alphanumeric, must be unique per website, we do not accept duplicate

Your unique transaction identifier

orderAmount

M

Txn amount in paisa,Integer

Order Amount

zaakMerchantIdentifier

M

alphanumeric

MobiKwik Payment Gateway unique merchant identifier for your website

merchantAmount

M

Txn amount in paisa,Integer

Merchant Amount

Response Parameters

Parameters

Description

status

Status of the transaction

errorCode

Code of the error

errorDescription

Description of the error

orderId

Max 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.