POST
/connected-banking/v1/initiateInitiate Payment
Initiate bank-to-bank payments through Connected Banking.
Last updated: 2026-02-21
Initiate Payment
Endpoint (Requires Authentication)
POST /api/v1/connected-banking/public/payment/initiate
This API endpoint is used to initiate a payment. Clients must encrypt their data using this method before sending it to the server. The encrypted data should be base64-encoded for safe transmission.
Request Headers
Content-Type: application/json
Authorization: Bearer <jwt_token>
Required Fields
The following fields must be encrypted before being sent to the server:
| Field | Required | Type | Description |
|---|---|---|---|
| sender_id | Yes | String | Unique ID for each merchant (Max 38 characters) |
| wallet_id | Yes | String | Unique ID for each merchant. Example: PAYWIZE12345679 |
| amount | Yes | String | The amount in rupees. Provide up to two decimals for paise. Example: 5.00. |
| payment_mode | Yes | String | The payment mode. Accepted values: IMPS, NEFT and RTGS |
| beneficiary_name | Yes | String | The name of the beneficiary. Example: John Doe. |
| beneficiary_ifsc | Yes | String | The IFSC code of the beneficiary. Must be 11 characters long. Example: SBIN0000300. |
| beneficiary_acc_number | Yes | String | The account number of the beneficiary. Example: 00001234567890. |
| remarks | Yes | String | Remarks for the payout (max 20 characters). Example: vendor. |
| channel | Yes | String | Name of the Channel. Example: SHIVALIK |
Sample Request Body (Encrypted Data)
{
"payload": "0oA+t8GGuDZ0FrEbhM9bZ2pxTDZTaHRWRW1tQn...encrypted_payload"
}
Decrypted Payload Structure
{
"sender_id": "SENDER001",
"wallet_id": "PAYWIZE12345686",
"amount": "100.00",
"payment_mode": "IMPS",
"beneficiary_ifsc": "SMCB0001234",
"beneficiary_acc_number": "9651265167",
"beneficiary_name": "test beneficiary",
"remarks": "Test payment",
"channel": "SHIVALIK"
}
Success Response Encrypted (200 OK)
{
"resp_code": 2000,
"resp_message": "Payment has been initiated Successfully",
"data": "U2FsdGVkX1+XYZ789...encrypted_response_here"
}
Decrypted Response
{
"transaction_id": "CHDEI160126000001",
"sender_id": "SENDER001",
"wallet_id": "PAYWIZE12345686",
"amount": "100",
"payment_mode": "IMPS",
"beneficiary_ifsc": "SMCB0001234",
"beneficiary_acc_number": "9651265167",
"beneficiary_name": "test beneficiary",
"remarks": "Test payment"
}
All Response Codes
| Code | Message |
|---|---|
| 2000 | Payment has been initiated Successfully |
| 4014 | Payload is required |
| 4000 | Insufficient balance. |
| 4001 | Request amount is required |
| 4002 | Mode is required |
| 4005 | Wallet ID is required |
| 4006 | IFSC is required |
| 4007 | Account number is required |
| 4008 | Account name is required |
| 4009 | Remarks must be a string |
| 4010 | Sender ID must be a string |
| 4011 | Sender ID should not exceed 38 characters |
| 5000 | Duplicate sender ID |
| 4013 | Sender ID should only contain letters and numbers. |
| 4023 | Missing or invalid Wallet ID |
| 4003 | Transaction limit exceeded. |
| 4003 | Transaction amount below the minimum limit. |
| 4004 | Daily limit exceeded |
| 4015 | Payment mode not supported for this merchant. |
| 5000 | Internal server error. |