{"info":{"_postman_id":"337db8c8-b789-4fd1-8923-278e8f894f4d","name":"PaymentQrService API v1","description":"<html><head></head><body><p>Collection for PaymentQrService Cash Register API v1 with HMAC-SHA256 authentication</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"47143633","collectionId":"337db8c8-b789-4fd1-8923-278e8f894f4d","publishedId":"2sB3BGHVPU","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"4f46e5"},"publishDate":"2025-08-14T04:03:31.000Z"},"item":[{"name":"QR Code Generation","item":[{"name":"Create QR Code","event":[{"listen":"prerequest","script":{"exec":["// Generate timestamp and nonce","const timestamp = Math.floor(Date.now() / 1000);","const nonce = pm.variables.replaceIn('d2373a6a-6c2a-453d-a88d-c1daf1f62a6e').replace(/-/g, '');","","// Set variables","pm.collectionVariables.set('timestamp', timestamp);","pm.collectionVariables.set('nonce', nonce);","","// Get request details","const method = pm.request.method;","const path = pm.request.url.getPath();","const body = pm.request.body.raw || '';","","// Compute SHA256 hash of body","const CryptoJS = require('crypto-js');","const bodyHash = CryptoJS.SHA256(body).toString(CryptoJS.enc.Base64);","","// Create canonical request","const canonicalRequest = `${method}\\n${path}\\n${timestamp}\\n${nonce}\\n${bodyHash}`;","","// Generate HMAC-SHA256 signature","const secretKey = pm.environment.get('apiSecret');","const signature = CryptoJS.HmacSHA256(canonicalRequest, secretKey).toString(CryptoJS.enc.Base64);","","// Set authorization header","const apiKeyId = pm.environment.get('apiKey');","const authHeader = `HMAC-SHA256 KeyId=${apiKeyId},Timestamp=${timestamp},Nonce=${nonce},Signature=${signature}`;","pm.request.headers.add({","    key: 'Authorization',","    value: authHeader","});","","console.log('Auth Header:', authHeader);","console.log('Canonical Request:', canonicalRequest);","console.log('Signature:', signature);"],"type":"text/javascript","id":"d086722f-eb48-4cd9-bad1-25199665eb56"}},{"listen":"test","script":{"exec":["// Test response status","pm.test('Status code is 200', function () {","    pm.response.to.have.status(200);","});","","// Test response structure","pm.test('Response has correct structure', function () {","    const jsonData = pm.response.json();","    pm.expect(jsonData).to.have.property('success');","    pm.expect(jsonData).to.have.property('data');","    pm.expect(jsonData).to.have.property('requestId');","});","","// Test QR code data","pm.test('QR code data is present', function () {","    const jsonData = pm.response.json();","    pm.expect(jsonData.data).to.have.property('qrCode');","    pm.expect(jsonData.data.qrCode).to.have.property('image');","    pm.expect(jsonData.data.qrCode).to.have.property('link');","    pm.expect(jsonData.data.qrCode).to.have.property('paymentId');","});","","// Save payment ID for later use","if (pm.response.code === 200) {","    const jsonData = pm.response.json();","    if (jsonData.data && jsonData.data.qrCode && jsonData.data.qrCode.paymentId) {","        pm.collectionVariables.set('lastPaymentId', jsonData.data.qrCode.paymentId);","        console.log('Payment ID saved:', jsonData.data.qrCode.paymentId);","    }","}"],"type":"text/javascript","id":"6365e8e8-c234-4b7a-b3aa-cdcf6a864a92"}}],"id":"fcbcdf79-acd1-45b9-afcd-6a687e3d9f4c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"amount\": 100.00,\n    \"currency\": \"RUB\",\n    \"orderId\": \"ORDER-1778298501\",\n    \"description\": \"Test payment in RUB\",\n    \"callbackUrl\": \"https://example.com/webhook\",\n    \"metadata\": {\n        \"customerId\": \"12345\",\n        \"productId\": \"PROD-001\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/api/v1/cash-register/qr","description":"<p>Create a QR code for payment in Russian Rubles (RUB), THB, VND, etc</p>\n","urlObject":{"path":["api","v1","cash-register","qr"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"fcbcdf79-acd1-45b9-afcd-6a687e3d9f4c"}],"id":"5274691b-ca44-428f-ad9f-1068c009d1eb","_postman_id":"5274691b-ca44-428f-ad9f-1068c009d1eb","description":""},{"name":"Payment Status","item":[{"name":"Get Payment Status","event":[{"listen":"prerequest","script":{"exec":["// Generate timestamp and nonce","const timestamp = Math.floor(Date.now() / 1000);","const nonce = pm.variables.replaceIn('ee445ce4-9282-4855-8025-bf6d51d21849').replace(/-/g, '');","","// Set variables","pm.collectionVariables.set('timestamp', timestamp);","pm.collectionVariables.set('nonce', nonce);","","// Get request details","const method = pm.request.method;","const path = pm.request.url.getPath();","const body = '';  // GET request has no body","","// Compute SHA256 hash of body","const CryptoJS = require('crypto-js');","const bodyHash = CryptoJS.SHA256(body).toString(CryptoJS.enc.Base64);","","// Create canonical request","const canonicalRequest = `${method}\\n${path}\\n${timestamp}\\n${nonce}\\n${bodyHash}`;","","// Generate HMAC-SHA256 signature","const secretKey = pm.environment.get('apiSecret');","const signature = CryptoJS.HmacSHA256(canonicalRequest, secretKey).toString(CryptoJS.enc.Base64);","","// Set authorization header","const apiKeyId = pm.environment.get('apiKey');","const authHeader = `HMAC-SHA256 KeyId=${apiKeyId},Timestamp=${timestamp},Nonce=${nonce},Signature=${signature}`;","pm.request.headers.add({","    key: 'Authorization',","    value: authHeader","});","","console.log('Auth Header:', authHeader);","console.log('Canonical Request:', canonicalRequest);","console.log('Signature:', signature);"],"type":"text/javascript","id":"b797c342-089a-47f0-ba53-b50af5f0e801"}},{"listen":"test","script":{"exec":["// Test response status","pm.test('Status code is 200', function () {","    pm.response.to.have.status(200);","});","","// Test response structure","pm.test('Response has correct structure', function () {","    const jsonData = pm.response.json();","    pm.expect(jsonData).to.have.property('success');","    pm.expect(jsonData).to.have.property('data');","    pm.expect(jsonData).to.have.property('requestId');","});","","// Test payment data","pm.test('Payment data is present', function () {","    const jsonData = pm.response.json();","    pm.expect(jsonData.data).to.have.property('paymentId');","    pm.expect(jsonData.data).to.have.property('status');","    pm.expect(jsonData.data).to.have.property('amount');","    pm.expect(jsonData.data).to.have.property('timestamps');","});","","// Log payment status","if (pm.response.code === 200) {","    const jsonData = pm.response.json();","    console.log('Payment Status:', jsonData.data.status);","}"],"type":"text/javascript","id":"abd833a8-9eb0-4db6-8c6a-6733aa8f9fcf"}}],"id":"bfeca4f4-be73-4ebc-9cb4-dd6a898001ab","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{baseUrl}}/api/v1/cash-register/payment/","description":"<p>Get the status of a specific payment by its ID</p>\n","urlObject":{"path":["api","v1","cash-register","payment",""],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"bfeca4f4-be73-4ebc-9cb4-dd6a898001ab"},{"name":"Get Payment Status - Manual ID","event":[{"listen":"prerequest","script":{"exec":["// Generate timestamp and nonce","const timestamp = Math.floor(Date.now() / 1000);","const nonce = pm.variables.replaceIn('0a1c672d-55f6-41c4-8570-14f29edc4a47').replace(/-/g, '');","","// Set variables","pm.collectionVariables.set('timestamp', timestamp);","pm.collectionVariables.set('nonce', nonce);","","// Get request details","const method = pm.request.method;","const path = pm.request.url.getPath();","const body = '';  // GET request has no body","","// Compute SHA256 hash of body","const CryptoJS = require('crypto-js');","const bodyHash = CryptoJS.SHA256(body).toString(CryptoJS.enc.Base64);","","// Create canonical request","const canonicalRequest = `${method}\\n${path}\\n${timestamp}\\n${nonce}\\n${bodyHash}`;","","// Generate HMAC-SHA256 signature","const secretKey = pm.environment.get('apiSecret');","const signature = CryptoJS.HmacSHA256(canonicalRequest, secretKey).toString(CryptoJS.enc.Base64);","","// Set authorization header","const apiKeyId = pm.environment.get('apiKey');","const authHeader = `HMAC-SHA256 KeyId=${apiKeyId},Timestamp=${timestamp},Nonce=${nonce},Signature=${signature}`;","pm.request.headers.add({","    key: 'Authorization',","    value: authHeader","});","","console.log('Auth Header:', authHeader);","console.log('Canonical Request:', canonicalRequest);","console.log('Signature:', signature);"],"type":"text/javascript","id":"d40ad473-f587-41b1-b326-f404d9a65fb2"}},{"listen":"test","script":{"exec":["// Test response","if (pm.response.code === 200) {","    pm.test('Payment found and status returned', function () {","        const jsonData = pm.response.json();","        pm.expect(jsonData.success).to.be.true;","        pm.expect(jsonData.data).to.have.property('status');","    });","} else if (pm.response.code === 404) {","    pm.test('Payment not found', function () {","        const jsonData = pm.response.json();","        pm.expect(jsonData.success).to.be.false;","        pm.expect(jsonData.error.code).to.equal('PAYMENT_NOT_FOUND');","    });","}"],"type":"text/javascript","id":"77ef7362-cd4d-4a9e-8aff-064d70a15fe6"}}],"id":"39122753-818b-43b9-8035-7a203bc233c4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{baseUrl}}/api/v1/cash-register/payment/PAYMENT-ID-HERE","description":"<p>Get the status of a payment by manually entering the payment ID. Replace PAYMENT-ID-HERE with actual payment ID.</p>\n","urlObject":{"path":["api","v1","cash-register","payment","PAYMENT-ID-HERE"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"39122753-818b-43b9-8035-7a203bc233c4"}],"id":"de9a7a91-b5a5-46e1-9fc1-c4087a9ddef7","_postman_id":"de9a7a91-b5a5-46e1-9fc1-c4087a9ddef7","description":""},{"name":"Exchange Rates","item":[{"name":"Get Exchange Rates","event":[{"listen":"prerequest","script":{"exec":["// Generate timestamp and nonce","const timestamp = Math.floor(Date.now() / 1000);","const nonce = pm.variables.replaceIn('b1509110-adee-40ce-b733-e7418274dee2').replace(/-/g, '');","","// Set variables","pm.collectionVariables.set('timestamp', timestamp);","pm.collectionVariables.set('nonce', nonce);","","// Get request details","const method = pm.request.method;","const path = pm.request.url.getPath();","const body = '';  // GET request has no body","","// Compute SHA256 hash of body","const CryptoJS = require('crypto-js');","const bodyHash = CryptoJS.SHA256(body).toString(CryptoJS.enc.Base64);","","// Create canonical request","const canonicalRequest = `${method}\\n${path}\\n${timestamp}\\n${nonce}\\n${bodyHash}`;","","// Generate HMAC-SHA256 signature","const secretKey = pm.environment.get('apiSecret');","const signature = CryptoJS.HmacSHA256(canonicalRequest, secretKey).toString(CryptoJS.enc.Base64);","","// Set authorization header","const apiKeyId = pm.environment.get('apiKey');","const authHeader = `HMAC-SHA256 KeyId=${apiKeyId},Timestamp=${timestamp},Nonce=${nonce},Signature=${signature}`;","pm.request.headers.add({","    key: 'Authorization',","    value: authHeader","});","","console.log('Auth Header:', authHeader);","console.log('Canonical Request:', canonicalRequest);","console.log('Signature:', signature);"],"type":"text/javascript","id":"e85d95c9-96c4-4174-9494-55f675da144c"}},{"listen":"test","script":{"exec":["// Test response status","pm.test('Status code is 200', function () {","    pm.response.to.have.status(200);","});","","// Test response structure","pm.test('Response has correct structure', function () {","    const jsonData = pm.response.json();","    pm.expect(jsonData).to.have.property('success');","    pm.expect(jsonData).to.have.property('data');","    pm.expect(jsonData).to.have.property('requestId');","});","","// Test rates data","pm.test('Rates data is present', function () {","    const jsonData = pm.response.json();","    pm.expect(jsonData.data).to.have.property('rates');","    pm.expect(jsonData.data.rates).to.be.an('array');","    pm.expect(jsonData.data).to.have.property('merchant');","});","","// Test RUB rate is always 1.0","pm.test('RUB rate is 1.0', function () {","    const jsonData = pm.response.json();","    const rubRate = jsonData.data.rates.find(r => r.currency === 'RUB');","    pm.expect(rubRate).to.exist;","    pm.expect(rubRate.rate).to.equal(1);","});","","// Log available currencies","if (pm.response.code === 200) {","    const jsonData = pm.response.json();","    const currencies = jsonData.data.rates.map(r => `${r.currency}: ${r.rate}`);","    console.log('Available currencies and rates:', currencies.join(', '));","}"],"type":"text/javascript","id":"fd82d4cc-1466-41b9-ac65-417957708b75"}}],"id":"2ed1c028-bbd5-4350-ab59-262dcdcdb9f3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{baseUrl}}/api/v1/cash-register/rates","description":"<p>Get current exchange rates for the cash register</p>\n","urlObject":{"path":["api","v1","cash-register","rates"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"2ed1c028-bbd5-4350-ab59-262dcdcdb9f3"}],"id":"a02111f4-38b1-409a-8ed4-1bc1aeb29bb2","_postman_id":"a02111f4-38b1-409a-8ed4-1bc1aeb29bb2","description":""},{"name":"Deposits History","item":[{"name":"Get Deposits History","event":[{"listen":"prerequest","script":{"exec":["// Generate timestamp and nonce","const timestamp = Math.floor(Date.now() / 1000);","const nonce = pm.variables.replaceIn('e9974a13-82e6-4917-b4c6-c6cf8de814c0').replace(/-/g, '');","","// Set variables","pm.collectionVariables.set('timestamp', timestamp);","pm.collectionVariables.set('nonce', nonce);","","// Get request details","const method = pm.request.method;","const path = pm.request.url.getPath();","const body = '';  // GET request has no body","","// Compute SHA256 hash of body","const CryptoJS = require('crypto-js');","const bodyHash = CryptoJS.SHA256(body).toString(CryptoJS.enc.Base64);","","// Create canonical request","const canonicalRequest = `${method}\\n${path}\\n${timestamp}\\n${nonce}\\n${bodyHash}`;","","// Generate HMAC-SHA256 signature","const secretKey = pm.environment.get('apiSecret');","const signature = CryptoJS.HmacSHA256(canonicalRequest, secretKey).toString(CryptoJS.enc.Base64);","","// Set authorization header","const apiKeyId = pm.environment.get('apiKey');","const authHeader = `HMAC-SHA256 KeyId=${apiKeyId},Timestamp=${timestamp},Nonce=${nonce},Signature=${signature}`;","pm.request.headers.add({","    key: 'Authorization',","    value: authHeader","});","","console.log('Auth Header:', authHeader);","console.log('Canonical Request:', canonicalRequest);","console.log('Signature:', signature);"],"type":"text/javascript","id":"3a844990-61ba-4441-9e09-e05d531b0fcb"}},{"listen":"test","script":{"exec":["// Test response status","pm.test('Status code is 200', function () {","    pm.response.to.have.status(200);","});","","// Test response structure","pm.test('Response has correct structure', function () {","    const jsonData = pm.response.json();","    pm.expect(jsonData).to.have.property('success');","    pm.expect(jsonData).to.have.property('data');","    pm.expect(jsonData).to.have.property('requestId');","});","","// Test deposits data","pm.test('Deposits data is present', function () {","    const jsonData = pm.response.json();","    pm.expect(jsonData.data).to.have.property('deposits');","    pm.expect(jsonData.data.deposits).to.be.an('array');","    pm.expect(jsonData.data).to.have.property('count');","    pm.expect(jsonData.data).to.have.property('limit');","});","","// Test limit is 20","pm.test('Limit is set to 20', function () {","    const jsonData = pm.response.json();","    pm.expect(jsonData.data.limit).to.equal(20);","});","","// Log deposits count","if (pm.response.code === 200) {","    const jsonData = pm.response.json();","    console.log('Total deposits returned:', jsonData.data.count);","    if (jsonData.data.deposits.length > 0) {","        const statuses = {};","        jsonData.data.deposits.forEach(d => {","            statuses[d.status] = (statuses[d.status] || 0) + 1;","        });","        console.log('Deposits by status:', statuses);","    }","}"],"type":"text/javascript","id":"550d082d-69ba-495e-87ea-d9e4c3d5eea2"}}],"id":"cf0bf0f0-526e-4283-9683-19edfe5edc25","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{baseUrl}}/api/v1/cash-register/deposits","description":"<p>Get the last 20 deposits for this cash register</p>\n","urlObject":{"path":["api","v1","cash-register","deposits"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"cf0bf0f0-526e-4283-9683-19edfe5edc25"}],"id":"281d66b8-c94f-41c7-85a9-08aea4677eed","_postman_id":"281d66b8-c94f-41c7-85a9-08aea4677eed","description":""},{"name":"Error Examples","item":[{"name":"Invalid Amount","event":[{"listen":"prerequest","script":{"exec":["// Generate timestamp and nonce","const timestamp = Math.floor(Date.now() / 1000);","const nonce = pm.variables.replaceIn('ab1b47e6-ca11-401f-b03e-0cbd7c082831').replace(/-/g, '');","","// Set variables","pm.collectionVariables.set('timestamp', timestamp);","pm.collectionVariables.set('nonce', nonce);","","// Get request details","const method = pm.request.method;","const path = pm.request.url.getPath();","const body = pm.request.body.raw || '';","","// Compute SHA256 hash of body","const CryptoJS = require('crypto-js');","const bodyHash = CryptoJS.SHA256(body).toString(CryptoJS.enc.Base64);","","// Create canonical request","const canonicalRequest = `${method}\\n${path}\\n${timestamp}\\n${nonce}\\n${bodyHash}`;","","// Generate HMAC-SHA256 signature","const secretKey = pm.environment.get('apiSecret');","const signature = CryptoJS.HmacSHA256(canonicalRequest, secretKey).toString(CryptoJS.enc.Base64);","","// Set authorization header","const apiKeyId = pm.environment.get('apiKey');","const authHeader = `HMAC-SHA256 KeyId=${apiKeyId},Timestamp=${timestamp},Nonce=${nonce},Signature=${signature}`;","pm.request.headers.add({","    key: 'Authorization',","    value: authHeader","});"],"type":"text/javascript","id":"b04859a3-5bb0-49e0-9ca1-b1a22c7bb50b"}},{"listen":"test","script":{"exec":["// Test error response","pm.test('Status code is 400', function () {","    pm.response.to.have.status(400);","});","","pm.test('Error code is INVALID_AMOUNT', function () {","    const jsonData = pm.response.json();","    pm.expect(jsonData.success).to.be.false;","    pm.expect(jsonData.error.code).to.equal('INVALID_AMOUNT');","});"],"type":"text/javascript","id":"d3a5a771-110f-490b-a2ee-eb449c07c776"}}],"id":"d4e297d5-ba13-4f7e-9226-80b1395b8e4f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"amount\": -100,\n    \"currency\": \"RUB\",\n    \"orderId\": \"ORDER-INVALID\",\n    \"description\": \"Test invalid amount\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/api/v1/cash-register/qr","description":"<p>Example of invalid amount error</p>\n","urlObject":{"path":["api","v1","cash-register","qr"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"d4e297d5-ba13-4f7e-9226-80b1395b8e4f"},{"name":"Invalid Currency","event":[{"listen":"prerequest","script":{"exec":["// Generate timestamp and nonce","const timestamp = Math.floor(Date.now() / 1000);","const nonce = pm.variables.replaceIn('c6782f36-9734-45be-8099-18aaf0ecee11').replace(/-/g, '');","","// Set variables","pm.collectionVariables.set('timestamp', timestamp);","pm.collectionVariables.set('nonce', nonce);","","// Get request details","const method = pm.request.method;","const path = pm.request.url.getPath();","const body = pm.request.body.raw || '';","","// Compute SHA256 hash of body","const CryptoJS = require('crypto-js');","const bodyHash = CryptoJS.SHA256(body).toString(CryptoJS.enc.Base64);","","// Create canonical request","const canonicalRequest = `${method}\\n${path}\\n${timestamp}\\n${nonce}\\n${bodyHash}`;","","// Generate HMAC-SHA256 signature","const secretKey = pm.environment.get('apiSecret');","const signature = CryptoJS.HmacSHA256(canonicalRequest, secretKey).toString(CryptoJS.enc.Base64);","","// Set authorization header","const apiKeyId = pm.environment.get('apiKey');","const authHeader = `HMAC-SHA256 KeyId=${apiKeyId},Timestamp=${timestamp},Nonce=${nonce},Signature=${signature}`;","pm.request.headers.add({","    key: 'Authorization',","    value: authHeader","});"],"type":"text/javascript","id":"7d75df9f-c847-4f4e-a805-2b610f8b5050"}},{"listen":"test","script":{"exec":["// Test error response","pm.test('Status code is 400', function () {","    pm.response.to.have.status(400);","});","","pm.test('Error code is INVALID_CURRENCY', function () {","    const jsonData = pm.response.json();","    pm.expect(jsonData.success).to.be.false;","    pm.expect(jsonData.error.code).to.equal('INVALID_CURRENCY');","});"],"type":"text/javascript","id":"b7519de2-d256-4f18-8a6e-64f0f70e44bb"}}],"id":"9dcbc7cc-7a59-4e8d-88c4-445216e6b8b7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"amount\": 100,\n    \"currency\": \"XXX\",\n    \"orderId\": \"ORDER-INVALID-CURRENCY\",\n    \"description\": \"Test invalid currency\"\n}","options":{"raw":{"language":"json"}}},"url":"{{baseUrl}}/api/v1/cash-register/qr","description":"<p>Example of invalid currency error</p>\n","urlObject":{"path":["api","v1","cash-register","qr"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"9dcbc7cc-7a59-4e8d-88c4-445216e6b8b7"},{"name":"Missing Authorization","event":[{"listen":"prerequest","script":{"exec":["// This request intentionally does not add authorization header"],"type":"text/javascript","id":"d76f604f-2307-4382-af5a-ce51ff05974f"}},{"listen":"test","script":{"exec":["// Test unauthorized response","pm.test('Status code is 401', function () {","    pm.response.to.have.status(401);","});","","pm.test('Error code is UNAUTHORIZED', function () {","    const jsonData = pm.response.json();","    pm.expect(jsonData.success).to.be.false;","    pm.expect(jsonData.error.code).to.equal('UNAUTHORIZED');","});"],"type":"text/javascript","id":"29db31bd-fb5c-4129-b4ba-8ffde69748d1"}}],"id":"137d2fdb-9ff1-4a02-9b98-35d3157160de","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{baseUrl}}/api/v1/cash-register/rates","description":"<p>Example of missing authorization header</p>\n","urlObject":{"path":["api","v1","cash-register","rates"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[],"_postman_id":"137d2fdb-9ff1-4a02-9b98-35d3157160de"}],"id":"504911fa-ffe7-4f73-bb80-a3b634236758","_postman_id":"504911fa-ffe7-4f73-bb80-a3b634236758","description":""}],"event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":[""],"id":"9557bd42-07a0-4efb-9dca-4e6a4860dc42"}},{"listen":"test","script":{"type":"text/javascript","exec":[""],"id":"1169b8e9-c0ad-431a-9503-37c3a59289bf"}}],"variable":[{"key":"lastPaymentId","value":"","type":"string"},{"key":"timestamp","value":"","type":"string"},{"key":"nonce","value":"","type":"string"}]}