{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"888e9fae-4bf1-491e-b55f-964fe7bd3185","name":"Dpay Merchant Integration Guide","description":"DuploPay is a complete suite of payment gateway solutions developed to provide an end-to-end solution for online payments across various business verticals. With use cases cutting across payment, collections, disbursement, reconciliation and payouts, customization, and integration through different secured alternatives.\n\n# Get Started\n\n- To create your merchant account , click [here](https://app.duplopg.com/).\n    \n- On the login screen, click **Create an account**\n    \n- Fill in the form requirements i.e. First Name, Last Name, Email Address and Password.\n    \n\n<img src=\"https://content.pstmn.io/7cd3424c-f346-4e15-aa97-2ca9da21a5c2/U2NyZWVuc2hvdCAyMDIzLTA3LTA3IGF0IDQuMjYuMzcgUE0ucG5n\" alt=\"Sign%20up%20\" width=\"552\" height=\"369\">\n\n- Once you complete your registration form, click on Create **Register**\n    \n- Using the details provided on the sign up form, login to your account\n    \n- When you login, select your business type (Individual, Business, SMEs and NGOs) as seen below and fill in the form requirements.\n    \n\n<img src=\"https://content.pstmn.io/9cb400b6-aeaa-493a-af69-127498e86d02/U2NyZWVuc2hvdCAyMDIzLTA3LTA3IGF0IDQuNDUuMTIgUE0ucG5n\" alt=\"Business%20types\" width=\"556\" height=\"353\">\n\n- When you submit, your account will automatically be in test mode and a request will be sent to us to activate your account.\n    \n- When you submit, a request will be sent to us to activate your account. By default your account will be in test mode till your business is activated.\n    \n- In test mode, no real money is involved.We'll still send webhooks and email notifications, and most of the API functions are the same.\n    \n- When your account is activated, you can easily switch between test and live mode.\n    \n\n# Payment Authentication\n\n**API Keys**  \nDpay APIs use API keys to authenticate all API requests. Upon creating your merchant account, your API keys will be auto generated for you. You can find your test and live API keys under **Profile > Account/business settings > API key** on your dashboard.\n\n<img src=\"https://content.pstmn.io/526ccf0e-5a1f-46fa-9a49-f250d04eb936/U2NyZWVuc2hvdCAyMDIzLTA3LTA1IGF0IDUuNDAuMDEgUE0ucG5n\" alt=\"Api%20Keys\">\n\n**Webhooks**\n\nAfter a payment transaction on your account, we notify you on the status of this transaction i.e. successful payment or a failed transaction.  \nYou can find the test and live Webhooks under **Profile > Account/business settings > API key** on your dashboard.\n\n**Callback URLs**\n\nAfter a payment transaction on your account, the Callback URL is where your customers are redirected to. You can find the test and live Callback URLs under **Profile > Account/business settings > API key** on your dashboard.\n\n# Authentication\n\nTo make API calls on Duplo, you’ll have to pass a Bearer Token (your_secret_key).\n\n- BASE_URL [https://api.duplopg.com/api/v2](https://api.duplopg.com/api/v2)\n    \n- Pass your secret key as the Bearer token in Authorization Header.\n    \n- Pass your HMAC Signature as Encryption Header. (Required only in Payout)\n    \n\n**NOTE**: Signature authentication ensures the highest level of security for your payment creation requests. Not only does it provide a secure authentication mechanism, but also it ensures the integrity of your request payload, that is the content of your request payload has not been altered since it was transmitted from your side. DuploPay signatures are calculated using _**HMAC-SH512**_ applied to payload and signed with your public key.\n\n**NOTE**: Make sure your payload is arranged alphabetically.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":true,"owner":"16197916","team":25559296,"collectionId":"888e9fae-4bf1-491e-b55f-964fe7bd3185","publishedId":"2s946bBEpi","public":true,"publicUrl":"https://documenter-api.postman.tech/view/16197916/2s946bBEpi","privateUrl":"https://go.postman.co/documentation/16197916-888e9fae-4bf1-491e-b55f-964fe7bd3185","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"146e5f"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":"Get started with Duplo Pay APIs"},{"name":"title","value":"Duplo Pay Apis"}],"appearance":{"default":"light","themes":[{"name":"dark","logo":"https://content.pstmn.io/42169de7-6d5e-447e-86de-1b8b239455c4/ZHVwbG8ucG5n","colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"36d1b7"}},{"name":"light","logo":"https://content.pstmn.io/42169de7-6d5e-447e-86de-1b8b239455c4/ZHVwbG8ucG5n","colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"146e5f"}}]}},"version":"8.12.10","publishDate":"2023-07-10T14:53:03.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"Duplo Pay Apis","description":"Get started with Duplo Pay APIs"},"logos":{"logoLight":"https://content.pstmn.io/42169de7-6d5e-447e-86de-1b8b239455c4/ZHVwbG8ucG5n","logoDark":"https://content.pstmn.io/42169de7-6d5e-447e-86de-1b8b239455c4/ZHVwbG8ucG5n"}},"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/26ef0294d60358eff83e9eb13dbb0ae02854c5b7b43a7c0116e944838d400216","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/2s946bBEpi"}