Payment
- The user is provided with wallet details to which payment must be made.
- The user makes a payment in their wallet app and receives a unique transaction number.
- Next, the user enters a unique transaction number in the payment window, after which the transaction is activated.
- Paykassma sends a postback to the merchant's side.
- Funds are credited to the user’s balance on the merchant platform.
Payment window integration (plugin)
Example of a link to open a PhonePe payment window:
https://plugin.{server_URL}/?label=label¤cy_code=INR&lang=enwallet_type=phone_pe&custom_transaction_id=custom_transaction_id |
|---|
wallet_type=phone_pe currency_code=INR Available languages (lang): en, hi (Hindi)
Pay attention to the description of the parameters payment_url_success_id / payment_url_fail_id/ payment_url_pending_id and success_url / fail_url / pending_url.
To use payment_url_success_id / payment_url_fail_id / payment_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_url / pending_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/phone_pe?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 |
| currency | string | yes | 3 | Currency code. |
label | string | yes | 190 | The unique identifier (ID) of the user who makes the payment. |
{
'currency': 'INR',
'label': 'eligendi'
}
{
'status': 'ok',
'params': {
'identifier': '6234234234'
}
}
{
'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_code | string | yes | 3 | Currency code - INR. |
wallet_type | string | yes | 190 | Method - phone_pe. |
| label | string | yes | 190 | The unique identifier (ID) of the user who makes the payment. |
| key1 | string | yes | 190 | Transaction ID received from the user. "key1" - 12 digits in numbers. |
| amount | float | yes | 256 | Amount of payment. |
| custom_transaction_id | string | yes | 190 | Transaction ID in the Client's system. Must be unique. |
{
"currency_code": "INR",
"wallet_type": "phone_pe",
"label": "55",
"key1": "321302038123",
"amount": 500,
"custom_transaction_id": "123465477897"
}
{
"status": "ok",
"deposit": true,
"deposit_amount": 500,
"currency": {
"code": "INR",
"symbol": "INR"
}
}
{
"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"
}
{
"status": "possible_transaction_created",
"message": "Transaction not found. Possible transaction created"
}
{
'status': 'fail',
'message': 'MESSAGE'
}
Deposit postback
For the general documentation on post backs click here.
Example of deposit postback for PhonePe
{
"signature": "36311443ceb305fcdff1e9f82be6605dedff5e50",
"wallet_type": "phone_pe",
"amount": 700,
"currency_code": "INR",
"label": "1230142",
"direction": "ingoing",
"created_datetime": "2023-08-25 15:12:49",
"access_key": "FQ9jMwrNSkFbyMNqYFf6Ed4xeKmjHK",
"additional_data": [
{
"activated_datetime": "2023-08-25 18:12:46",
"exchanger_identifier": "81230207429",
"comment": "",
"amount": "700",
"currency_code": "INR",
"wallet_type": "phone_pe",
"stockpiling_id": 1431219,
"transaction_id": "323748622123",
"transaction_type": 0,
"plugin_custom_order_id": "ikDhBnLY123tx3G6H",
"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).