{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"0fdbdf98-1202-4c72-9c35-dab43cdde85e","name":"Mixpay API","description":"Mixpay API provides the payment functions with Cryptocurrency. Clients get all the services by applying apikey and secretkey to access these functions and process the deposit and withdrawn transfer between their own customers with Cryptocurrency.\n\n\nThe server url is : https://mixpay.org\n\n\nBefore going into next steps, you need to get:\n1. **apikey**, this is your clientid.\n2. **secretkey**. this is used to sign your data when calling the APIs.\n3. **publickey**. this is the public key which is used to verify the data sent back to you.\n\nAbout the **sign**:\n1. Please use **RSA2**, **SHA256WithRSA** algorithm to sign the data.\n2. The secretkey is following the **PKCS8** spec.\n3. The sign string format is using alphabetic order, '&' connector. \n\nFor example, when you sign the deposit request parameters, you should sign the string like this:\napikey=xxx&coin=xxx&orderId=xxx&paytype=xxx&signaturemethod=xxx&signatureversion=xxx&timestamp=xxx&to=xxx, in it 'xxx' is your real parameter value.\n\nThe sign code snippet in Java:\n```\npublic static final String KEY_ALGORITHM = \"RSA\";\npublic static final String SIGNATURE_ALGORITHM = \"SHA256WithRSA\";\n\npublic String sign(byte[] data, String privateKey) throws Exception {\n\tfinal Base64.Encoder encoder = Base64.getEncoder();\n\tfinal Base64.Decoder decoder = Base64.getDecoder();\n\tbyte[] keyBytes = decoder.decode(privateKey);\n\t\n\tPKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(keyBytes);\n\t\n\tKeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM);\n\t\n\tPrivateKey priKey = keyFactory.generatePrivate(pkcs8KeySpec);\n\t\n\tSignature signature = Signature.getInstance(SIGNATURE_ALGORITHM);\n\tsignature.initSign(priKey);\n\tsignature.update(data);\n \n\treturn encoder.encodeToString(signature.sign());\n}\n```\n\nThe verify code snippet in Java:\n\n```\npublic static final String KEY_ALGORITHM = \"RSA\";\npublic static final String SIGNATURE_ALGORITHM = \"SHA256WithRSA\";\n\npublic static boolean verify(byte[] data, String publicKey, String sign) throws Exception {\n\tfinal Base64.Decoder decoder = Base64.getDecoder();\n\tfinal byte[] keyBytes = publicKey.getBytes(\"UTF-8\");\n\tX509EncodedKeySpec keySpec = new X509EncodedKeySpec(decoder.decode(keyBytes));\n\n\tKeyFactory keyFactory = KeyFactory.getInstance(KEY_ALGORITHM);\n\n\tPublicKey pubKey = keyFactory.generatePublic(keySpec);\n\n\tSignature signature = Signature.getInstance(SIGNATURE_ALGORITHM);\n\tsignature.initVerify(pubKey);\n\tsignature.update(data);\n\n\treturn signature.verify(decoder.decode(sign));\n}\n```\n\nCode snippet about how to use <Java>:\n```\nString s= \"apikey=x5VcMFgDFdCKVfn50Id&coin=eth&orderId=762432433213124324&paytype=digitalcurrency&signaturemethod=SHA256WithRSA&signatureversion=1.0&timestamp=1586946803&to=0xc107B21Ac56c4AFf547cC287b5c2B773D7A383AE\";\nString secretkey = \"your secretkey key\";\nString after_sign = sign(s.getBytes(), secretkey);\n```","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":true,"owner":"10871408","collectionId":"0fdbdf98-1202-4c72-9c35-dab43cdde85e","publishedId":"SzYZ2eyD","public":true,"publicUrl":"https://documenter-api.postman.tech/view/10871408/SzYZ2eyD","privateUrl":"https://go.postman.co/documentation/10871408-0fdbdf98-1202-4c72-9c35-dab43cdde85e","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"documentationLayout":"classic-double-column","version":"8.11.4","publishDate":"2020-04-01T20:34:04.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/768118b36f06c94b0306958b980558e6915839447e859fe16906e29d683976f0","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/SzYZ2eyD"}