Payment

  1. The user is provided with wallet details to which payment must be made.
  2. The user makes a payment in their wallet app and receives a unique transaction number.
  3. Next, the user enters a unique transaction number in the payment window, after which the transaction is activated.
  4. Paykassma sends a postback to the merchant's side.
  5. Funds are credited to the user’s balance on the merchant platform.

For UPI (p2p) we have several methods that need to be integrated in parallel with the ability to turn on/off.

UPI - wallet_type=upi_l, upi_ib, upi_hb, upi_in, upi_w, upi_m.

Payment window integration (plugin)

Example of a link to open a UPI payment window:

https://plugin.{server_URL}/?
label=label
&currency_code=INR
&lang=en
&wallet_type=upi_l
&custom_transaction_id=custom_transaction_id
&fixed_amount=fixed_amount
&payment_url_success_id=2
&payment_url_pending_id=3
&payment_url_fail_id=1
&success_url=hash
&fail_url=hash
&pending_url=hash
wallet_type=upi_l
wallet_type=upi_ib
wallet_type=upi_hb
wallet_type=upi_in
wallet_type=upi_w
wallet_type=upi_m
currency_code=INR
Available (lang): en, hi (Hindi)

Pay attention to the description of the parameters payment_url_success_id / payment_url_fail_idpayment_url_pending_id and success_url / fail_url pending_url.
To use payment_url_success_id / payment_url_fail_idpayment_url_pending_id you need to send the URLs to Paykassma support and use the received IDs in the parameters.
To use success_url / fail_urlpending_url you must use hashing URLs ( For more details on hashing click here ).

For the description of all the plug-in parameters click here.

API integration

Creating payment

URL: https://api.{server_URL}/api/v1/transaction/create/upi_l?secret={pluginapi_secret}

At this stage, we provide the details of the wallet to which the user must make a payment.

Request method:

POST

Format:
JSON

Parameters:

Name

Type

Required

Max Length

Description

currencystringyes3Currency code.

label

string

yes

190

The unique identifier (ID) of the user who makes the payment.


Request
{
  'currency': 'INR', 
  'label': 'eligendi'
}


Response Success
{ 
    'status': 'ok', 
    'params':  { 
        'identifier': 'test@upi'
    } 
}
Response Fail
{
    'status': 'fail',
    'message': 'MESSAGE'
}


Activation request

URL: http://api.{server_URL}/api/v1/transaction/activate?secret={pluginapi_secret}

Request method:
POST

Format:
JSON

Parameters:

Name

Type

Required

Max Length

Description

currency_codestringyes3Currency_code - INR.

wallet_type

string

yes

190

A value from the list of available PSs, for example: upi_l, upi_ib, upi_hb, upi_in, upi_w, upi_m.
labelstringyes190The unique identifier (ID) of the user who makes the payment.
key1stringyes190

Transaction ID received from the user.

"key1" 12 digits in numbers.

amountfloatyes256Amount of payment.
custom_transaction_id

string

yes190

Transaction ID in the Client's system. Must be unique.


Request
{
    "currency_code": "INR",
    "wallet_type": "upi_l",
    "label": "55",
    "key1": "321323438267",
	"amount": 500,
    "custom_transaction_id": "123465477897"
}
Response Success
{
    "status": "ok",
    "deposit": true,
    "deposit_amount": 500,
    "currency": {
        "code": "INR",
        "symbol": "INR"
    }
}
Response Pending For suspect transactions
{
    "status": "pending",
    "message": "The deposit status check has been started. The operation may take longer than expected. Upon completion of the verification, the funds will be credited to your account"
}
Response Possible Transaction Created
{
    "status": "possible_transaction_created",
    "message": "Transaction not found. Possible transaction created"
}
Response Fail
{
    'status': 'fail',
    'message': 'MESSAGE'
}

Deposit postback

For the general documentation on post backs click here.

Example of deposit postback for UPI

{
    "signature": "b17740afeaaca68a35afbe2950537648d5ad74f4",
    "wallet_type": "upi_hb",
    "amount": 1000,
    "currency_code": "INR",
    "label": "2519566",
    "converted_amount": {"USD": 4.61, "INR": 380, "EUR": 4.2, "IDR": 69702.53, "MYR": 20.81, "VND": 109100.85, "SGD": 6.15, "THB": 158.07, "NGN": 3549.74, "TRY": 124.18, "AED": 16.92, "CAD": 6.11, "AUD": 6.96, "BDT": 500, "AFN": 392.19, "ALL": 427.25, "AMD": 1778.42, "AOA": 3803.37, "ARS": 1271.54, "AWG": 8.3, "AZN": 7.83, "BAM": 8.2, "BBD": 9.21, "BGN": 8.21, "BHD": 1.74, "BIF": 13046.47, "BMD": 4.61, "BND": 6.15, "BOB": 31.84, "BRL": 21.99, "BSD": 4.61, "BTC": 0.00015943, "BTN": 379, "BWP": 60.54, "BYN": 11.63, "BZD": 9.29, "CDF": 11425.29, "CHF": 4.04, "CLF": 0.14, "CLP": 3878.55, "CNH": 33.06, "CNY": 33.02, "COP": 18082.75, "CRC": 2498.95, "CUC": 4.61, "CUP": 118.58, "CVE": 462.56, "CZK": 100.38, "DJF": 820.28, "DKK": 31.27, "DOP": 259.16, "DZD": 624.77, "EGP": 142.3, "ERN": 69.08, "ETB": 253.82, "FJD": 10.22, "FKP": 3.6, "GBP": 3.6, "GEL": 11.9, "GGP": 3.6, "GHS": 52.22, "GIP": 3.6, "GMD": 276.31, "GNF": 39634.5, "GTQ": 36.22, "GYD": 963.87, "HKD": 35.89, "HNL": 113.34, "HRK": 31.62, "HTG": 628.87, "HUF": 1633.77, "ILS": 16.76, "IMP": 3.6, "IQD": 6035.32, "IRR": 194797.68, "ISK": 605.39, "JEP": 3.6, "JMD": 711.75, "JOD": 3.26, "JPY": 659.33, "KES": 657.15, "KGS": 404.25, "KHR": 19027.89, "KMF": 2061.95, "KPW": 4144.63, "KRW": 5933.82, "KWD": 1.42, "KYD": 3.84, "KZT": 2047.77, "LAK": 89252.61, "LBP": 69151.38, "LKR": 1469.64, "LRD": 858.4, "LSL": 81.95, "LYD": 22.02, "MAD": 45.38, "MDL": 82.35, "MGA": 20777.32, "MKD": 258.57, "MMK": 9674.75, "MNT": 15887.75, "MOP": 36.98, "MRO": 0, "MRU": 175.52, "MUR": 208.15, "MVR": 70.69, "MWK": 4853.1, "MXN": 77.35, "MZN": 293.46, "NAD": 82.25, "NIO": 168.55, "NOK": 47.01, "NPR": 606.4, "NZD": 7.49, "OMR": 1.77, "PAB": 4.61, "PEN": 16.61, "PGK": 16.59, "PHP": 252.72, "PKR": 1324.8, "PLN": 18.6, "PYG": 33513, "QAR": 16.79, "RON": 20.69, "RSD": 492.16, "RUB": 424.19, "RWF": 5413.13, "SAR": 17.28, "SBD": 38.44, "SCR": 61.28, "SDG": 2770, "SEK": 48.85, "SHP": 3.6, "SLL": 96567.61, "SOS": 2623.48, "SRD": 177.86, "SSP": 599.87, "STD": 102610.94, "STN": 102.67, "SVC": 40.31, "SYP": 11570.57, "SZL": 81.89, "TJS": 50.47, "TMT": 16.16, "TND": 14.19, "TOP": 10.82, "TTD": 31.29, "TWD": 145.48, "TZS": 11319.27, "UAH": 170.14, "UGX": 16716.57, "UYU": 173.55, "UZS": 53595.22, "VEF": 0, "VES": 135.74, "VUV": 546.73, "WST": 12.52, "XAF": 2752.15, "XAG": 0.19, "XAU": 0, "XCD": 12.45, "XDR": 3.43, "XOF": 2752.15, "XPD": 0, "XPF": 500.67, "XPT": 0, "YER": 1152.67, "ZAR": 83.54, "ZMW": 87.42, "ZWL": 1482.86, "ETH": 0.00251358, "LTC": 0.05065982, "DOGE": 59.80674641, "DASH": 0.14777208, "BCH": 0.01902045, "ZEC": 0.15475058, "ETC": 0.25289799, "XRP": 6.67674578, "TRX": 59.03020283, "XLM": 31.08030456, "WAVES": 2.42673726, "USDT": 4.60787289, "USDTTRC20": 0, "USDT20": 0},
    "direction": "ingoing",
    "created_datetime": "2023-07-03 06:42:53",
    "access_key": "FQ9jMwrNSkFbyMNqYFf6Ed4xeKmjHK",
    "additional_data": [
        {
            "activated_datetime": "2023-07-03 06:42:55",
            "exchanger_identifier": "99xxxx6690",
            "comment": "",
            "amount": "1000",
            "currency_code": "INR",
            "wallet_type": "upi_hb",
            "stockpiling_id": 1430926,
            "transaction_id": "355015818634",
            "transaction_type": 0,
            "plugin_custom_order_id": "h8JxcM123DbmAvfn",
            "withdrawal_id": null,
            "withdrawal_status": null,
            "account_number": "",
            "account_name": "",
            "account_email": "",
            "bank_details": {
                "bank_code": "",
                "branch_code": ""
        }
    ]
}

The Paykassma server is waiting for a response in json {"status": "ok"} response code 200, otherwise, when receiving a different response, Paykassma will forward the postback with a certain frequency.

Repeated postbacks must also be answered with {"status":"ok"} response code 200.

Withdrawals for users

Payments to users are made by using IMPS method ( for more details on IMPS method click here).