{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"b959ab11-589c-4c99-8ff0-30c1f28e5ee3","name":"Paylony API Documentation","description":"# 1.0 Authorization\n\nPaylony APIs can be authenticated by using a live or test secret key which starts with either **sk_live_** or **sk_test_** respectively and these keys can be find on your dashboard>api credentials menu.\n\n**NB**: In order to call our endpoints it’s necessary to pass the key as an **authorization header (Bearer token)** for every request.\n\n**NB**: In order to use the **Bank transfer (payout)** endpoint, an encryption is required. You need to sign your payout using your Encryption Key and perform an HMAC-512 encryption after you have arranged the payload params alphabetically and pass the result of the encryption in the header as **Signature**.\n\n# 2.0 Base Url\n\nAll requests to our API must be done using the web API URL below.\n\n[https://api.paylony.com/api/v1](https://)\n\n# 3.0 Allowed API Operations\n\nThe following operation types are supported.\n\n1. **Collection** – Allowed by default\n2. **BVN** - Allowed by default\n3. **Bank Transfer** - Required access request by contacting support to enable your business\n4. **Querries** - All querry endpoints are allowed by default\n    \n\n# 4.0 Notifications\n\nFor notifications, a webhook is shared with you so you can be notified for inward credit transactions. The webhook is to be shared both in the testing and production environment. Its request will be sent in this format.\n\n```\n{\n    \"status\": \"00\",\n    \"event\": “collection”,\n    \"currency\": \"NGN\",\n    \"amount\": \"5000\",\n    “fee”: “50”,\n    \"stamp_duty\":\"0\",\n    \"receiving_account\": \"1010011220”,\n    \"sender_account_name\": \"Tolulope Oyeniyi\",\n    \"sender_account_number\": \"00012302099\",\n    \"sender_bank_code\": \"999999\",\n    \"sender_narration\": \"Gift bills deposit\",\n    \"sessionId\": \"0000929120221226145000\",\n    \"trx\": \"202212261450837964477\",\n    \"reference\": \"Paylony-20221226145000\",\n    \"channel\": \"bank_transfer\",\n    \"type\": \"reserved_account\",\n    \"domain\": \"test\",\n    \"gateway\": \"vfd\",\n    \"customer_email\": \"tolulope@gmail.com\",\n    \"customer_reference\": \"597zgekrzd65ebh\",\n    \"timestamp\": \"2023-08-15T19:45:09.000000Z\"\n}\n\n ```\n\n\"reference\" — This is prefixed by your wallet name followed by a random string.\n\n“amount” — This is the amount sent to the wallet account.\n\n“receiving_account” — This is the account number credited with the inward transfer.\n\n“sender_account_number” — This is the initiator’s account number.\n\n“sender_account_name” — This is the initiator’s name.\n\n\"sender_narration\" – This is the narration or remark from the sender.\n\n“sender_bank_code” — This is the initiator’s bank code.\n\n“timestamp” — Timestamp of the transaction.\n\n**NB**: We will send you webhook using your webhook key as Authroization (Bearer Token) and we expect a _**success**_ response from you to aknowledge the recipient of the webhook. When sharing a web hook with us, security measures such as Authentication or IP whitelisting are advised to be in place.\n\n> In the case of Instant settlement, you will only get settled when the webhook response simply says \"success\" as we will only trigger settlement upon receiving success as response to the webhook sent. \n  \n\nWebhook is sent upto 10x before giving up. If your platform us not reachable or we didn't get any response after the 10th attempt, we will stop sending the webhook notification. You can resend webhook via API or from your transaction details screen in your merchant dashboard or mobile app.\n\nWe also Provide a webhook for Transfers (only transfer done via API). Here is a sample payout webhook sent to your webhook url anytime the transfer status changed from **pending** to **failed** or **success**\n\n```\n{\n    \"status\": \"00\",\n    \"event\": “payout”,\n    \"currency\": \"NGN\",\n    \"amount\": \"5000\",\n    “fee”: “50”,\n    \"account_name\": \"Tolulope Oyeniyi\",\n    \"account_number\": \"00012302099\",\n    \"bank_code\": \"100004”,\n    \"bank_name\": “Opay”,\n    \"narration\": \"Gift bills deposit\",\n    \"trx\": \"202212261450837964477\",\n    \"reference\": \"Vfd-x-20221226145000\",\n    \"sessionid\": \"0000929120221226145000\",\n    \"domain\": \"test\",\n    \"statusMessage\": “success”,\n    \"note\": \"\",\n    \"timestamp\": “2024-04-25 18:11:05”\n}\n\n ```\n\n### **Paylony API Status Codes**\n\n| **Code** | **Description** |\n| --- | --- |\n| 00 | success |\n| 01 | Account Not Found |\n| 02 | Receiving Account Not Found |\n| 03 | Unable to process transaction |\n| 04 | Reference Not Found |\n| 05 | Transaction Not Found |\n| 06 | Webhook URL Not Set |\n| 07 | Incomplete request |\n| 09 | Transaction already exist |\n| 10 | Insufficient Business Wallet Balance |\n| 11 | Out of Service |\n| 12 | Not Found |\n| 13 | Bank Transfer Access Denied |\n| 14 | Collection Access Denied |\n| 15 | You can not transaction with default Pin |\n| 16 | Incorrect Transaction Pin |\n| 17 | Only available in live environment |\n| 18 | Unauthorized Access |\n| 19 | Invalid Merchant Authorization |\n| 20 | Your Business is blocked |\n| 21 | Your business is not active |\n| 22 | Invalid Signature |\n| 23 | Business Wallet not found |\n| 24 | Invalid Amount value |\n| 25 | Amount Exceed Transfer Limit allowed per Transaction. |\n| 96 | refunded |\n| 98 | unknown |\n| 99 | Possible Duplicate Transaction |\n| 100 | An error Occurred |\n\n### **Sample Webhook Notification**\n\n```\n{\n    \"status\": \"00\",\n    \"event\": “collection”,\n    \"currency\": \"NGN\",\n    \"amount\": \"5000\",\n    “fee”: “50”,\n    \"receiving_account\": \"1010011220”,\n    \"sender_account_name\": \"Tolulope Oyeniyi\",\n    \"sender_account_number\": \"00012302099\",\n    \"sender_bank_code\": \"999999\",\n    \"sender_narration\": \"Gift bills deposit\",\n    \"sessionId\": \"0000929120221226145000\",\n    \"trx\": \"202212261450837964477\",\n    \"reference\": \"Paylony-20221226145000\",\n    \"channel\": \"bank_transfer\",\n    \"type\": \"reserved_account\",\n    \"domain\": \"test\",\n    \"gateway\": \"vfd\",\n    \"customer_email\": \"tolulope@gmail.com\",\n    \"customer_reference\": \"597zgekrzd65ebh\",\n    \"timestamp\": \"2023-08-15T19:45:09.000000Z\"\n}\n\n ```\n\n```\n{\n    \"status\": \"00\",\n    \"event\": “payout”,\n    \"currency\": \"NGN\",\n    \"amount\": \"5000\",\n    “fee”: “50”,\n    \"account_name\": \"Tolulope Oyeniyi\",\n    \"account_number\": \"00012302099\",\n    \"bank_code\": \"100004”,\n    \"bank_name\": “Opay”,\n    \"narration\": \"Gift bills deposit\",\n    \"trx\": \"202212261450837964477\",\n    \"reference\": \"Vfd-x-20221226145000\",\n    \"sessionid\": \"0000929120221226145000\",\n    \"domain\": \"test\",\n    \"statusMessage\": “success”,\n    \"note\": \"\",\n    \"timestamp\": “2024-04-25 18:11:05”\n}\n\n ```","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":true,"owner":"16413328","team":2120034,"collectionId":"b959ab11-589c-4c99-8ff0-30c1f28e5ee3","publishedId":"2s935mrPtj","public":true,"publicUrl":"https://documenter-api.postman.tech/view/16413328/2s935mrPtj","privateUrl":"https://go.postman.co/documentation/16413328-b959ab11-589c-4c99-8ff0-30c1f28e5ee3","customColor":{"top-bar":"FFFFFF","right-sidebar":"800080","highlight":"0000FF"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.10.1","publishDate":"2023-02-02T23:33:30.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/bd2c65ccf7740d9663844f18e0457ea42b45e08c1aab190b8bfb0bbaa0ffcdd8","favicon":""},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/2s935mrPtj"}