{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"17a939f6-551a-4217-83dd-bddcd305fa34","name":"Accfarm Resellers","description":"### Table of contents\n1. [Description](#description)\n2. [Authorization](#authorization)\n3. [Callback](#callback)\n4. [Order statuses](#order-statuses)\n\n### Description\nOfficial API for Accfarm resellers. With it you can easily get Accfarm's list of offers, filter offers, get list of categories, get data about your orders, their status and, most importantly, create new orders! There is also ready-to-use PHP SDK!\n\nPHP SDK: \n1. [GitHub](https://github.com/ITAccfarm/reseller-api-sdk)\n2. [Packagist](https://packagist.org/packages/itaccfarm/reseller-api-sdk)\n\n### Authorization\nAll API requests require bearer token authorization. To get bearer token you need to you Authentication endpoint.\n\n\n### Callback\nIf you provide callback_url in buy method, Accfarm will send you order data  when order is complete with this data:\n```php\n$response = [\n  'number' => 'order_number', // order number\n  'status' => 'status_id', //order status\n  'total' => 'price', //total price of order\n  'secret_key' => 'secret_key' //order secret key          \n  'download_link' - 'link' // if needed\n];\n```\n\nCall to you endpoint (your callback_url) will always have Signature header. This will allow you to be sure call is coming from Accfarm. To check if it's valid you're going to need to:\n1. Hash request data with your user secret with the following code:\n```\nfunction signCallbackData(string $secret, array $data)\n{\n    ksort($data);\n\n    $string = '';\n\n    foreach($data as $value) {\n        if (in_array(gettype($value), ['array', 'object', 'NULL']) ){\n            continue;\n        }\n        if(is_bool($value) && $value){\n            $string .= 1;\n        } else {\n            $string .= $value;\n        }\n    }\n\n    return hash_hmac('sha512', strtolower($string), $secret);\n}\n```\n2. And then to check resulting hash against Signature header:\n```\n$json = file_get_contents('php://input');\n$data = json_decode($json);\n$headers = getallheaders();\n$secret = 'my_secret';\n$testSignature = signCallbackData($secret, $data);\n$signature = $headers['Signature'];\nif (!hash_equals($signature, $testSignature)) {\n    // Error, wrong signature\n    die;\n}\n// Process data\n// ...\n```\n### Order statuses\n- 1: new: \n- 2: in_progress \n- 3: complete \n- 4: canceled \n- 5: pending \n- 6: refunded \n- 7: mispaid","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"2711143","team":1600608,"collectionId":"17a939f6-551a-4217-83dd-bddcd305fa34","publishedId":"Tzz7QJNw","public":true,"publicUrl":"https://documenter-api.postman.tech/view/2711143/Tzz7QJNw","privateUrl":"https://go.postman.co/documentation/2711143-17a939f6-551a-4217-83dd-bddcd305fa34","customColor":{"top-bar":"2fd6a5","right-sidebar":"434343","highlight":"4172b0"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.10.1","publishDate":"2021-08-14T15:08:39.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[{"name":"Accfarm Production","id":"dfa0a8c1-7c16-4ce0-b8ee-7246dc276dc8","owner":"2711143","values":[{"key":"baseUrl","value":"https://accfarm.com","enabled":true},{"key":"token","value":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjEsImlzcyI6Imh0dHBzOi8vYWNjZmFybS5jb20vYXBpL3YxL3VzZXIvbG9naW4iLCJpYXQiOjE2MzI5OTY0NTAsImV4cCI6MTY2NDUzMjQ1MCwibmJmIjoxNjMyOTk2NDUwLCJqdGkiOiJEN3UyN3lNVVc4YWdrbUdkIn0.yAovc8ylPMSlpgwfgAiB-QGB1f3HTlPd7Aa2GxtY1pk","enabled":true}],"published":true}],"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/b1615032dd3daf4b622ba5bf1e88cdbbca23a7f7dfea4856c34d716e38c1f54d","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"},{"label":"Accfarm Production","value":"2711143-dfa0a8c1-7c16-4ce0-b8ee-7246dc276dc8"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/Tzz7QJNw"}