PayNet Wallet ## Sections • [PayNet Wallet API](https://app.theneo.io/toucan/product/paynet-wallet-api.md): Welcome to the PayNet API documentation. PayNet is a leading payment service provider and wallet system, offering a comprehensive platform to seamlessly integrate secure and efficient payment solutions into your applications, websites, or e-commerce platforms. This documentation provides detailed information on how to utilize PayTabs APIs to manage payments, process transactions, and retrieve essential information. Understand Your API Response: Success Response: Select... { status: true, sessionExpired: false, "payloadX": { } } Failure Response: Select... { status: false, sessionExpired: false, errors: [ { shortMessage: "Error occurred", longMessage: "Error occurred" } ] } Session Expired Select... { status: false, sessionExpired: true, errors: [ { shortMessage: "Session expired", longMessage: "Session expired" } ] } All API response are considered as positive or success if the status key in the response is TRUE All API response are considered as negative or failure if the status key in the response is FALSE All API response are considered as session expired if the sessionExpired key in the response is TRUE Our status is sync with the Http Status code, you can also handle the following status code for better error handling. Status Code Meaning 200 OK 201 Created 202 Accepted 400 Bad Request 401 Unauthorized 404 Not Found 405 Method Not Allowed 500 Internal Server Error 503 Service Unavailable 504 Gateway Timeout Security: Authentication All API requests must be authenticated with a JWT Token in the request header. Your API keys carry many privileges, so be sure to keep them secret! You authenticate to the PayNet API by providing your JWT token in the header of each request. All the APIs require authentication, Click here for detailed information on API Authentication for Merchants and Partners. Rate Limiting: All APIs available on the PayNet cloud are limited to access. Users are restricted to a maximum of 2000 API calls per day. If you require a higher limit, please contact us at info@paynet.pro for further assistance. IP Address Restriction Valid public IP address is required for production environment. API Key: The PayNet API uses API keys to authenticate requests. You can view and manage your API keys in the PayNet Console . An ' apiKey ' is required to be sent with all API requests. All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail. • [Test Data](https://app.theneo.io/toucan/product/test-data.md): You can use below test data to call the API. apiKey : Generate Using PayNet Console . toMemberId : [3,4] Transfer Type IDs P2P 14 Loyalty Payments 18 Fixed Fee Payments 21 % Fee Payments 22 Cashback Payments 24 Discount Payments 25 Add Money - Withdraw Money 28 • [Registration](https://app.theneo.io/toucan/product/registration.md): This API facilitates user registration with an additional layer of security through OTP (One-Time Password) validation. After successful registration, the API provides a resource ID, which is crucial for subsequent registration steps. This documentation outlines the steps to register a user, validate OTP, and obtain the resource ID for further interactions. • [Generate OTP](https://app.theneo.io/toucan/product/registration/generate-otp.md): This API provides functionality for generating OTP (One-Time Password) for user registration. Request Body Fields Field Name Type Required Description medium string Yes The contact medium, typically a mobile number. Example: "9555292137" . actionType string Yes The type of action being performed. Example: "Registration" . otpToMobile boolean Yes Indicates whether the OTP should be sent to the mobile number. Example: true . • [Verify OTP](https://app.theneo.io/toucan/product/registration/verify-otp.md): This API provides functionality for verify OTP for user registration. ### Request Body Fields | Field Name | Type | Required | Description | | --- | --- | --- | --- | | medium | string | Yes | The contact medium, typically a mobile number. Example: `"9555292137"`. | | otp | string | Yes | The one-time password (OTP) sent to the medium. Example: `"957844"`. | • [Registration](https://app.theneo.io/toucan/product/registration/registration-1.md): This API provides functionality for user registration. ### Request Body Fields | Field Name | Type | Required | Description | | --- | --- | --- | --- | | resourceId | string | Yes | ID generated from the OTP verification API. | | groupId | number | Yes | The group ID associated with the resource. Example: `5`. | | name | string | Yes | The name of the user. Example: `"Jhon Doe"`. | | email | string | Yes | The email address of the user. Example: `"ankit@paynet.pro"`. | | mobileNo | string | Yes | The mobile number of the user. Example: `"9555292137"`. | | pin | string | Yes | The user's PIN (Personal Identification Number). Example: `"909090"`. | | confirmPin | string | Yes | The confirmed PIN provided by the user. Example: `"909090"`. | • [Add Money](https://app.theneo.io/toucan/product/add-money.md): APIs related to topping up customer wallets. These APIs allow customers to add funds to their wallets. > Please note: This payment will be in pending state utill we have payment confirmation from outer service like payment gateway, bank etc. • [Validate Add Money](https://app.theneo.io/toucan/product/add-money/validate-add-money.md): This API endpoint is used to validate the payment ### Request Body Fields | Field Name | Type | Required | Description | | --- | --- | --- | --- | | amount | string | Yes | The amount of money to be added. Example: `"40000"`. | | description | string | Yes | A description of the transaction. Example: `"Add money using payment gateway"`. | • [Execute Add Money](https://app.theneo.io/toucan/product/add-money/execute-add-money.md): This API endpoint is used to execute a top-up payment. ### Request Body Fields | Field Name | Type | Required | Description | | --- | --- | --- | --- | | amount | string | Yes | The amount of money to be added. Example: `"40000"`. | | description | string | Yes | A description of the transaction. Example: `"Add money using payment gateway"`. | • [Withdraw Money](https://app.theneo.io/toucan/product/withdraw-money.md): Endpoints to perform money withdrawal from the customer wallet to bank account. • [Validate Withdraw Money](https://app.theneo.io/toucan/product/withdraw-money/validate-withdraw-money.md): API to validate the payment. ### Request Body Fields | Field Name | Type | Required | Description | | --- | --- | --- | --- | | transferTypeId | string | Yes | The ID of the transfer type. Example: `"28"`. | | amount | string | Yes | The amount of money to be withdrawn. Example: `"140"`. | | description | string | Yes | A description of the transaction. Example: `"Withdraw Money"`. | • [Execute Withdraw Money](https://app.theneo.io/toucan/product/withdraw-money/execute-withdraw-money.md): API to execute the payment. ### Request Body Fields | Field Name | Type | Required | Description | | --- | --- | --- | --- | | transferTypeId | string | Yes | The ID of the transfer type. Example: `"28"`. | | amount | string | Yes | The amount of money to be withdrawn. Example: `"140"`. | | description | string | Yes | A description of the transaction. Example: `"Withdraw Money"`. | • [Transactions](https://app.theneo.io/toucan/product/transactions.md): APIs related to transactions, including payments, cashback, and loyalty rewards. The payment APIs follow a two-step process: validation and execution. transfer types determine the nature of the transaction. • [Validate P2P Payment](https://app.theneo.io/toucan/product/transactions/validate-p2p-payment.md): API to validate the payment. ### Request Body Fields | Field Name | Type | Required | Description | | --- | --- | --- | --- | | transferTypeId | number | Yes | The ID of the transfer type. Example: `14`. | | toMemberId | number | Yes | The ID of the member to whom the transfer is made. Example: `3`. | | amount | number | Yes | The amount of money to be transferred. Example: `20.00`. | • [Execute P2P Payment](https://app.theneo.io/toucan/product/transactions/execute-p2p-payment.md): API toi execute the payment. ### Request Body Fields | Field Name | Type | Required | Description | | --- | --- | --- | --- | | transferTypeId | number | Yes | The ID of the transfer type. Example: `14`. | | toMemberId | number | Yes | The ID of the member to whom the transfer is made. Example: `3`. | | amount | number | Yes | The amount of money to be transferred. Example: `20.00`. | • [Validate Loyalty on Payment](https://app.theneo.io/toucan/product/transactions/validate-loyalty-on-payment.md): API to validate the payment. ### Request Body Fields | Field Name | Type | Required | Description | | --- | --- | --- | --- | | transferTypeId | number | Yes | The ID of the transfer type. Example: `18`. | | toMemberId | number | Yes | The ID of the member to whom the transfer is made. Example: `3`. | | amount | number | Yes | The amount of money to be transferred. Example: `20.00`. | • [Execute Loyalty on Payment](https://app.theneo.io/toucan/product/transactions/execute-loyalty-on-payment.md): API to execute the payment. ### Request Body Fields | Field Name | Type | Required | Description | | --- | --- | --- | --- | | transferTypeId | number | Yes | The ID of the transfer type. Example: `18`. | | toMemberId | number | Yes | The ID of the member to whom the transfer is made. Example: `3`. | | amount | number | Yes | The amount of money to be transferred. Example: `20.00`. | • [Validate Fixed Fee Payment](https://app.theneo.io/toucan/product/transactions/validate-fixed-fee-payment.md): API to validate the payment. ### Request Body Fields | Field Name | Type | Required | Description | | --- | --- | --- | --- | | transferTypeId | number | Yes | The ID of the transfer type. Example: `21`. | | toMemberId | number | Yes | The ID of the member to whom the transfer is made. Example: `3`. | | amount | number | Yes | The amount of money to be transferred. Example: `20.00`. | • [Execute Fixed Fee Payment](https://app.theneo.io/toucan/product/transactions/execute-fixed-fee-payment.md): API to execute the payment. ### Request Body Fields | Field Name | Type | Required | Description | | --- | --- | --- | --- | | transferTypeId | number | Yes | The ID of the transfer type. Example: `21`. | | toMemberId | number | Yes | The ID of the member to whom the transfer is made. Example: `3`. | | amount | number | Yes | The amount of money to be transferred. Example: `20.00`. | • [Validate % Fee Payment](https://app.theneo.io/toucan/product/transactions/validate-fee-payment.md): API to validate the payment. ### Request Body Fields | Field Name | Type | Required | Description | | --- | --- | --- | --- | | transferTypeId | number | Yes | The ID of the transfer type. Example: `32`. | | amount | number | Yes | The amount of money to be transferred. Example: `100.00`. | • [Execute % Fee Payment](https://app.theneo.io/toucan/product/transactions/execute-fee-payment.md): API to execute the payment. ### Request Body Fields | Field Name | Type | Required | Description | | --- | --- | --- | --- | | transferTypeId | number | Yes | The ID of the transfer type. Example: `32`. | | amount | number | Yes | The amount of money to be transferred. Example: `100.00`. | • [Validate Cashback on Payment](https://app.theneo.io/toucan/product/transactions/validate-cashback-on-payment.md): API to validate the payment. ### Request Body Fields | Field Name | Type | Required | Description | | --- | --- | --- | --- | | transferTypeId | number | Yes | The ID of the transfer type. Example: `24`. | | toMemberId | number | Yes | The ID of the member to whom the transfer is made. Example: `3`. | | amount | number | Yes | The amount of money to be transferred. Example: `55.00`. | • [Execute Cashback on Payment](https://app.theneo.io/toucan/product/transactions/execute-cashback-on-payment.md): API to execute the payment. ### Request Body Fields | Field Name | Type | Required | Description | | --- | --- | --- | --- | | transferTypeId | number | Yes | The ID of the transfer type. Example: `24`. | | toMemberId | number | Yes | The ID of the member to whom the transfer is made. Example: `3`. | | amount | number | Yes | The amount of money to be transferred. Example: `55.00`. | • [Validate Discount on Payment](https://app.theneo.io/toucan/product/transactions/validate-discount-on-payment.md): API to vbalidate payment. ### Request Body Fields | Field Name | Type | Required | Description | | --- | --- | --- | --- | | transferTypeId | number | Yes | The ID of the transfer type. Example: `25`. | | toMemberId | number | Yes | The ID of the member to whom the transfer is made. Example: `3`. | | amount | number | Yes | The amount of money to be transferred. Example: `55.00`. | • [Execute Discount on Payment](https://app.theneo.io/toucan/product/transactions/execute-discount-on-payment.md): API to execute the payment. ### Request Body Fields | Field Name | Type | Required | Description | | --- | --- | --- | --- | | transferTypeId | number | Yes | The ID of the transfer type. Example: `25`. | | toMemberId | number | Yes | The ID of the member to whom the transfer is made. Example: `3`. | | amount | number | Yes | The amount of money to be transferred. Example: `55.00`. | • [Wallet](https://app.theneo.io/toucan/product/wallet.md): APIs related to customer wallets. These APIs allow you to retrieve information about all wallets associated with a customer, fetch specific wallets by their unique identifiers, and obtain wallet balances. • [All Wallets](https://app.theneo.io/toucan/product/wallet/all-wallets.md): Retrieve all wallets belonging to the customer. • [Loyalty Wallet Balance](https://app.theneo.io/toucan/product/wallet/loyalty-wallet-balance.md): Retrieve balances of loyalty wallet associated with the customer. • [Statement](https://app.theneo.io/toucan/product/statement.md): APIs for generating transaction statements, providing users with detailed records of their financial activities. Users can retrieve statements for a specific time period. • [Customer Wallet Statement](https://app.theneo.io/toucan/product/statement/customer-wallet-statement.md): Generate a transaction statement for a specific user within a specified time period. • [Loyalty Wallet Statement](https://app.theneo.io/toucan/product/statement/loyalty-wallet-statement.md): Generate a transaction statement for a specific user within a specified time period. • [Change PIN](https://app.theneo.io/toucan/product/change-pin.md): APIs for changing user PINs, allowing users to update their security credentials for authentication purposes. Users can securely change their PINs using the provided endpoints. • [Change PIN](https://app.theneo.io/toucan/product/change-pin/change-pin-1.md): Initiate the process to change the user's PIN. ### Request Body Fields | Field Name | Type | Required | Description | | --- | --- | --- | --- | | oldPin | string | Yes | The old PIN. | | newPin | string | Yes | The new PIN. | | confirmPin | string | Yes | The confirmed new PIN. | • [Confirm Change PIN](https://app.theneo.io/toucan/product/change-pin/confirm-change-pin.md): Confirm the change of the user's PIN. ### Request Body Fields | Field Name | Type | Required | Description | | --- | --- | --- | --- | | oldPin | string | Yes | The old PIN. | | newPin | string | Yes | The new PIN. | | confirmPin | string | Yes | The confirmed new PIN. | | otp | string | Yes | The one-time password (OTP) for verification. | • [Login](https://app.theneo.io/toucan/product/login.md): APIs related to user authentication and profile retrieval, facilitating the login process for users. The APIs allow users to generate session tokens for authentication and fetch their profile information after successful login. • [Generate Token](https://app.theneo.io/toucan/product/login/generate-token.md): This API endpoint is used to generate a session token for user authentication. Request Body Fields Field Name Type Required Description authType string Yes The authentication type. Example: "SESSION" . • [User Profile](https://app.theneo.io/toucan/product/login/user-profile.md): This API endpoint is used to fetch the profile information of the authenticated user. • [Agreements](https://app.theneo.io/toucan/product/agreements.md) • [Terms and conditions](https://app.theneo.io/toucan/product/agreements/terms-and-conditions.md) • [QR](https://app.theneo.io/toucan/product/qr.md): APIs related to QR creation, decoding, and payments. These APIs allow customers to create QRs and pay using created QRs. • [Generate QR](https://app.theneo.io/toucan/product/qr/generate-qr.md): This API endpoint encodes data into an MPM (Merchant Presented Mode) QR code. ### Request Body Fields | Field Name | Type | Required | Description | | --- | --- | --- | --- | | amount | string | Yes | The amount to be encoded in the QR code. Example: `"140"`. | • [Validate QR](https://app.theneo.io/toucan/product/qr/validate-qr.md): This API endpoint decodes an MPM (Merchant Presented Mode) QR code string and returns the merchant details. ### Request Body Fields | Field Name | Type | Required | Description | | --- | --- | --- | --- | | code | string | Yes | The string representing the QR code. Example: `"sdgv34t34"`. | • [Document](https://app.theneo.io/toucan/product/document.md): Endpoints to manage customer documents. • [Upload Document](https://app.theneo.io/toucan/product/document/upload-document.md): API to upload document. ### Request Body Fields | Field Name | Type | Required | Description | | --- | --- | --- | --- | | file | File | Yes | The file to be uploaded. | | tag | String | No | An optional tag to categorize the uploaded document. | • [Documents](https://app.theneo.io/toucan/product/document/documents.md): API to retrieve customer own documents. • [Download Documents](https://app.theneo.io/toucan/product/document/download-documents.md): API to download document on local storage. • [Dispute](https://app.theneo.io/toucan/product/dispute.md): The Dispute API allows for the management and resolution of disputes arising from transactions. This collection contains a set of endpoints designed to facilitate the creation, retrieval, updating, and closing of disputes. • [Create Dispute](https://app.theneo.io/toucan/product/dispute/create-dispute.md): Creates a new dispute for a specified transaction. ### Request Body Fields | Field Name | Type | Required | Description | | --- | --- | --- | --- | | disputeType | string | Yes | The type of dispute being created. Example: `"Transaction Issue"`. | | disputeValue | string | Yes | The value associated with the dispute. Example: `"9"`. | | reason | string | Yes | The reason for initiating the dispute. Example: `"testing create dispute."`. | --- • [View All Dispute](https://app.theneo.io/toucan/product/dispute/view-all-dispute.md): The View All Disputes endpoint is used to retrieve a list of all disputes. This endpoint allows users to fetch details of all disputes, including their status, type, value, and the reason for the dispute. • [Close Dispute](https://app.theneo.io/toucan/product/dispute/close-dispute.md): The Close Dispute endpoint is used to close an existing dispute by updating its status to "CLOSED". This endpoint allows users to specify the dispute ID, update its status, and provide a comment regarding the update. ### Request Body Fields | Field Name | Type | Required | Description | | --- | --- | --- | --- | | id | number | Yes | The unique identifier of the dispute. Example: `4`. | | status | string | Yes | The new status of the dispute. Must be `"CLOSED"`. | | comment | string | Yes | A comment explaining the reason for closing the dispute. Example: `"Close Dispute"`. |