{
	"info": {
		"_postman_id": "986c0718-e0a4-4f4c-ba98-4aba170787ec",
		"name": "IntellectMoneyExample",
		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
		"_exporter_id": "22737066"
	},
	"item": [
		{
			"name": "CreateInvoice",
			"event": [
				{
					"listen": "prerequest",
					"script": {
						"exec": [
							"// Документация https://developer.intellectmoney.ru/merchant/api/createInvoice/\r",
							"// 1. Замените значение на свои, которые указаны через CAPSLOCK\r",
							"// 2. Выполните метод - все должно работать!\r",
							"\r",
							"// Обязательные параметры (*)\r",
							"var eshopId = ESHOP_ID; // * Номер магазина\r",
							"var orderId = new Date().toISOString(); // * Номер покупки\r",
							"var serviceName = null; // Назначение платежа\r",
							"var recipientAmount = \"1.00\"; // * Сумма платежа\r",
							"var recipientCurrency = \"RUB\"; // * Валюта платежа\r",
							"var userName = null; // Имя покупателя\r",
							"var email = \"test@test.ru\"; // * Электронная почта покупателя\r",
							"var successUrl = null; // Адрес успешного платежа\r",
							"var backUrl = null; // Адрес возврата в магазин\r",
							"var resultUrl = null; // Адрес уведомления\r",
							"var expireDate = null; // Срок действия СКО\r",
							"var holdMode = null; // Режим холдирования\r",
							"var holdTime = null; // Время холдирования\r",
							"var merchantReceipt = null; // Чек для онлайн-кассы\r",
							"var preference = null; // Способ оплаты\r",
							"var recurringType = null; // Определяет, участвует ли СКО в \"Рекуррентных платежах\"\r",
							"var hash = null; // * Подпись данных запроса \r",
							"var purchaseHash = null; // Подпись данных запроса (для HTML-форм)\r",
							"\r",
							"// Секреты\r",
							"var token = \"Bearer TOKEN\"; // Токен\r",
							"var signSecretKey = \"SIGN_SECRET_KEY\"; // Секретный ключ токена\r",
							"var secretKey = \"SECRET_KEY\"; // Секретный ключ магазина\r",
							"\r",
							"// Расчет Sign (SHA256)\r",
							"var signHashSignature = [];\r",
							"signHashSignature.push(\r",
							"    eshopId,\r",
							"    orderId,\r",
							"    serviceName,\r",
							"    recipientAmount,\r",
							"    recipientCurrency,\r",
							"    userName,\r",
							"    email,\r",
							"    successUrl,\r",
							"    \"\",\r",
							"    backUrl,\r",
							"    resultUrl,\r",
							"    expireDate,\r",
							"    holdMode,\r",
							"    preference,\r",
							"    signSecretKey);\r",
							"var signHashSignature = signHashSignature.join(\"::\"); \r",
							"var signHash = CryptoJS.SHA256(signHashSignature).toString(); \r",
							"console.log(`Sign: ${signHash}, сигнатура: ${signHashSignature}`);\r",
							"\r",
							"// Расчет Hash (MD5)\r",
							"var hashSignature = [];\r",
							"hashSignature.push(\r",
							"    eshopId,\r",
							"    orderId,\r",
							"    serviceName,\r",
							"    recipientAmount,\r",
							"    recipientCurrency,\r",
							"    userName,\r",
							"    email,\r",
							"    successUrl,\r",
							"    \"\",\r",
							"    backUrl,\r",
							"    resultUrl,\r",
							"    expireDate,\r",
							"    holdMode,\r",
							"    preference,\r",
							"    secretKey);\r",
							"var hashSignature = hashSignature.join(\"::\"); \r",
							"hash = CryptoJS.MD5(hashSignature).toString(); \r",
							"console.log(`Hash: ${hash}, сигнатура: ${hashSignature}`);\r",
							"\r",
							"// Расчет PurchaseHash (MD5)\r",
							"var purchaseHashSignature = [];\r",
							"purchaseHashSignature.push(\r",
							"    eshopId,\r",
							"    orderId,\r",
							"    serviceName,\r",
							"    recipientAmount,\r",
							"    recipientCurrency,\r",
							"    recurringType,\r",
							"    secretKey);\r",
							"var purchaseHashSignature = purchaseHashSignature.join(\"::\"); \r",
							"purchaseHash = CryptoJS.MD5(purchaseHashSignature).toString(); \r",
							"console.log(`PurchaseHash: ${purchaseHash}, сигнатура: ${purchaseHashSignature}`);\r",
							"\r",
							"// Заголовки запроса\r",
							"pm.request.headers.add({ key: 'Content-Type', value: \"application/json\" });\r",
							"pm.request.headers.add({ key: 'Accept', value: \"application/json\" });\r",
							"pm.request.headers.add({ key: 'Authorization', value: token });\r",
							"pm.request.headers.add({ key: 'Sign', value: signHash });\r",
							"\r",
							"// Тело запроса\r",
							"pm.request.body.update({\r",
							"    mode: 'raw',\r",
							"    raw: JSON.stringify({ \r",
							"        'EshopId': eshopId,\r",
							"        'OrderId': orderId,\r",
							"        'ServiceName': serviceName,\r",
							"        'RecipientAmount': recipientAmount,\r",
							"        'RecipientCurrency': recipientCurrency,\r",
							"        'UserName': userName,\r",
							"        'Email': email,\r",
							"        'SuccessUrl': successUrl,\r",
							"        'BackUrl': backUrl,\r",
							"        'ResultUrl': resultUrl,\r",
							"        'ExpireDate': expireDate,\r",
							"        'HoldMode': holdMode,\r",
							"        'HoldTime': holdTime,\r",
							"        'MerchantReceipt': merchantReceipt,\r",
							"        'Preference': preference,\r",
							"        'RecurringType': recurringType,\r",
							"        'Hash': hash,\r",
							"        'PurchaseHash': purchaseHash,\r",
							"    })\r",
							"});"
						],
						"type": "text/javascript",
						"packages": {},
						"requests": {}
					}
				},
				{
					"listen": "test",
					"script": {
						"exec": [
							""
						],
						"type": "text/javascript",
						"packages": {},
						"requests": {}
					}
				}
			],
			"protocolProfileBehavior": {
				"disabledSystemHeaders": {}
			},
			"request": {
				"method": "POST",
				"header": [],
				"url": {
					"raw": "https://api.intellectmoney.ru/merchant/createInvoice",
					"protocol": "https",
					"host": [
						"api",
						"intellectmoney",
						"ru"
					],
					"path": [
						"merchant",
						"createInvoice"
					]
				}
			},
			"response": []
		},
		{
			"name": "CalculatedHash",
			"event": [
				{
					"listen": "prerequest",
					"script": {
						"exec": [
							"// Установите сформированную строку для подписи:\r",
							"var signature = \"450000::Номер заказа::::1.00::RUB::VALUE_SECRET_KEY\";\r",
							"\r",
							"// Расчёт подписи алгоритмом SHA256:\r",
							"var hashSHA256 = CryptoJS.SHA256(signature).toString(); \r",
							"console.log(`Hash SHA256: ${hashSHA256}`);\r",
							"\r",
							"// Расчёт подписи алгоритмом MD5:\r",
							"var hashMD5 = CryptoJS.MD5(signature).toString(); \r",
							"console.log(`Hash MD5: ${hashMD5}`);"
						],
						"type": "text/javascript",
						"packages": {},
						"requests": {}
					}
				}
			],
			"protocolProfileBehavior": {
				"disabledSystemHeaders": {}
			},
			"request": {
				"method": "GET",
				"header": [],
				"url": {
					"raw": "https://postman-echo.com/status/204",
					"protocol": "https",
					"host": [
						"postman-echo",
						"com"
					],
					"path": [
						"status",
						"204"
					]
				}
			},
			"response": []
		}
	]
}