{
  "info": {
    "_postman_id": "2b7a5bb2-9f3b-4f3e-8c2a-adpay-hosted-payments",
    "name": "Adpay Hosted Payments API",
    "description": "Base44-managed hosted payments API wrapper collection. Set collection variables for base_url, api_key, hmac_secret, site_key, and adpay_environment before sending requests. A collection-level pre-request script signs each request with timestamp.method.path.sha256(rawBody) and writes X-Adpay-Signature automatically.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "noauth"
  },
  "event": [
    {
      "listen": "prerequest",
      "script": {
        "type": "text/javascript",
        "exec": [
          "const routePath = pm.collectionVariables.get('route_path') || '/api/functions/hostedPaymentsApi';",
          "const apiKey = pm.collectionVariables.get('api_key') || pm.environment.get('api_key') || '';",
          "const hmacSecret = pm.collectionVariables.get('hmac_secret') || pm.environment.get('hmac_secret') || '';",
          "const timestamp = Date.now().toString();",
          "const rawTemplate = pm.request.body && pm.request.body.raw ? pm.request.body.raw : '';",
          "const operationMatch = rawTemplate.match(/\"operation\"\\s*:\\s*\"([^\"]+)\"/);",
          "const operation = operationMatch ? operationMatch[1] : '';",
          "const writePattern = /\\.(create|add|send|initiatePayment|bulkUpdate|confirm|decline|pending|update|markPaid)$/;",
          "const shouldGenerateIdempotency = writePattern.test(operation) && pm.collectionVariables.get('reuse_idempotency_key') !== 'true';",
          "if (shouldGenerateIdempotency) {",
          "  pm.variables.set('idempotency_key', `postman-${operation.replace(/[^a-z0-9]/gi, '-')}-${Date.now()}`);",
          "} else if (!pm.variables.get('idempotency_key')) {",
          "  pm.variables.set('idempotency_key', pm.collectionVariables.get('idempotency_key') || '');",
          "}",
          "pm.variables.set('correlation_id', `postman-${Date.now()}-${Math.random().toString(16).slice(2)}`);",
          "pm.variables.set('adpay_timestamp', timestamp);",
          "const rawBody = pm.variables.replaceIn(rawTemplate);",
          "const bodyHash = CryptoJS.SHA256(rawBody).toString(CryptoJS.enc.Hex);",
          "const canonical = `${timestamp}.${pm.request.method.toUpperCase()}.${routePath}.${bodyHash}`;",
          "const signature = hmacSecret ? CryptoJS.HmacSHA256(canonical, hmacSecret).toString(CryptoJS.enc.Hex) : '';",
          "pm.variables.set('adpay_body_hash', bodyHash);",
          "pm.variables.set('adpay_canonical_string', canonical);",
          "pm.variables.set('adpay_signature', signature);",
          "pm.request.headers.upsert({ key: 'Authorization', value: `Bearer ${apiKey}` });",
          "pm.request.headers.upsert({ key: 'Content-Type', value: 'application/json' });",
          "pm.request.headers.upsert({ key: 'X-Adpay-Timestamp', value: timestamp });",
          "pm.request.headers.upsert({ key: 'X-Adpay-Signature', value: signature });",
          "pm.request.headers.upsert({ key: 'X-Correlation-Id', value: pm.variables.get('correlation_id') });",
          "pm.request.headers.upsert({ key: 'X-Adpay-Site-Key', value: pm.collectionVariables.get('site_key') || pm.environment.get('site_key') || '' });",
          "pm.request.headers.upsert({ key: 'X-Adpay-Environment', value: pm.collectionVariables.get('adpay_environment') || pm.environment.get('adpay_environment') || 'sandbox' });",
          "if (writePattern.test(operation)) {",
          "  pm.request.headers.upsert({ key: 'Idempotency-Key', value: pm.variables.get('idempotency_key') });",
          "} else {",
          "  pm.request.headers.remove('Idempotency-Key');",
          "}",
          "if (!apiKey) console.warn('Missing collection variable: api_key');",
          "if (!hmacSecret) console.warn('Missing collection variable: hmac_secret');"
        ]
      }
    },
    {
      "listen": "test",
      "script": {
        "type": "text/javascript",
        "exec": [
          "pm.test('Response has a valid HTTP status', function () {",
          "  pm.expect(pm.response.code).to.be.within(100, 599);",
          "});",
          "pm.collectionVariables.set('last_status', String(pm.response.code));",
          "pm.collectionVariables.set('last_correlation_id', pm.variables.get('correlation_id') || '');",
          "pm.collectionVariables.set('last_canonical_string', pm.variables.get('adpay_canonical_string') || '');",
          "pm.collectionVariables.set('last_signature', pm.variables.get('adpay_signature') || '');",
          "const contentType = pm.response.headers.get('Content-Type') || '';",
          "if (contentType.includes('application/json')) {",
          "  const json = pm.response.json();",
          "  pm.collectionVariables.set('last_response', JSON.stringify(json));",
          "}"
        ]
      }
    }
  ],
  "variable": [
    {
      "key": "base_url",
      "value": "https://adpay.adtelligent.net",
      "type": "string"
    },
    {
      "key": "route_path",
      "value": "/api/functions/hostedPaymentsApi",
      "type": "string"
    },
    {
      "key": "api_key",
      "value": "adpay_test_replace_me",
      "type": "secret"
    },
    {
      "key": "hmac_secret",
      "value": "hmac_replace_me",
      "type": "secret"
    },
    {
      "key": "site_key",
      "value": "your-site-key",
      "type": "string"
    },
    {
      "key": "adpay_environment",
      "value": "sandbox",
      "type": "string"
    },
    {
      "key": "reuse_idempotency_key",
      "value": "false",
      "type": "string"
    },
    {
      "key": "idempotency_key",
      "value": "",
      "type": "string"
    },
    {
      "key": "product_id",
      "value": "PRODUCT_ID",
      "type": "string"
    },
    {
      "key": "checkout_id",
      "value": "CHECKOUT_ID",
      "type": "string"
    },
    {
      "key": "order_id",
      "value": "ORDER_ID",
      "type": "string"
    },
    {
      "key": "transaction_id",
      "value": "TRANSACTION_ID",
      "type": "string"
    },
    {
      "key": "payment_link_id",
      "value": "PAYMENT_LINK_ID",
      "type": "string"
    },
    {
      "key": "booking_id",
      "value": "BOOKING_ID",
      "type": "string"
    },
    {
      "key": "service_id",
      "value": "SERVICE_ID",
      "type": "string"
    },
    {
      "key": "invoice_id",
      "value": "INVOICE_ID",
      "type": "string"
    },
    {
      "key": "pricing_plan_id",
      "value": "PRICING_PLAN_ID",
      "type": "string"
    },
    {
      "key": "event_id",
      "value": "EVENT_ID",
      "type": "string"
    },
    {
      "key": "ticket_definition_id",
      "value": "TICKET_DEFINITION_ID",
      "type": "string"
    },
    {
      "key": "return_url",
      "value": "https://example.com/payment/return",
      "type": "string"
    },
    {
      "key": "success_url",
      "value": "https://example.com/payment/success",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "Discovery",
      "item": [
        {
          "name": "capabilities.get",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"capabilities.get\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {},\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Safe discovery request. This is the recommended first call after creating an installation connection and API key."
          }
        }
      ]
    },
    {
      "name": "Checkout and Orders",
      "item": [
        {
          "name": "checkout.create",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"checkout.create\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"checkout\": {\n      \"lineItems\": [\n        {\n          \"catalogReference\": {\n            \"catalogItemId\": \"{{product_id}}\",\n            \"appId\": \"215238eb-22a5-4c36-9e7b-e7c08025e04e\"\n          },\n          \"quantity\": 1\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  },\n  \"idempotencyKey\": \"{{idempotency_key}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "checkout.get",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"checkout.get\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"checkoutId\": \"{{checkout_id}}\"\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "checkout.redirectSession.create",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"checkout.redirectSession.create\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"checkoutId\": \"{{checkout_id}}\",\n    \"callbacks\": {\n      \"postFlowUrl\": \"{{return_url}}\",\n      \"thankYouPageUrl\": \"{{success_url}}\"\n    }\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  },\n  \"idempotencyKey\": \"{{idempotency_key}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "checkout.order.createFromCheckout",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"checkout.order.createFromCheckout\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"checkoutId\": \"{{checkout_id}}\"\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  },\n  \"idempotencyKey\": \"{{idempotency_key}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "order.create",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"order.create\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"order\": {\n      \"lineItems\": [\n        {\n          \"name\": \"Postman order item\",\n          \"quantity\": 1,\n          \"price\": {\n            \"amount\": \"25.00\",\n            \"currency\": \"USD\"\n          }\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  },\n  \"idempotencyKey\": \"{{idempotency_key}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "order.payment.add",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"order.payment.add\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"orderId\": \"{{order_id}}\",\n    \"payment\": {\n      \"amount\": {\n        \"amount\": \"25.00\",\n        \"currency\": \"USD\"\n      },\n      \"regularPaymentDetails\": {\n        \"paymentMethod\": \"offline\"\n      }\n    }\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  },\n  \"idempotencyKey\": \"{{idempotency_key}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "order.payment.status.bulkUpdate",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"order.payment.status.bulkUpdate\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"orderIds\": [\"{{order_id}}\"],\n    \"paymentStatus\": \"PAID\"\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  },\n  \"idempotencyKey\": \"{{idempotency_key}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Payment Links",
      "item": [
        {
          "name": "paymentLink.create",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"paymentLink.create\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"paymentLink\": {\n      \"title\": \"Adpay Postman payment\",\n      \"description\": \"Generated from the Adpay Postman collection\",\n      \"price\": {\n        \"amount\": \"25.00\",\n        \"currency\": \"USD\"\n      }\n    }\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  },\n  \"idempotencyKey\": \"{{idempotency_key}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "paymentLink.get",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"paymentLink.get\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"paymentLinkId\": \"{{payment_link_id}}\"\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "paymentLink.send",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"paymentLink.send\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"paymentLinkId\": \"{{payment_link_id}}\",\n    \"recipient\": {\n      \"email\": \"customer@example.com\"\n    }\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  },\n  \"idempotencyKey\": \"{{idempotency_key}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "paymentLink.initiatePayment",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"paymentLink.initiatePayment\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"paymentLinkId\": \"{{payment_link_id}}\",\n    \"callbacks\": {\n      \"postFlowUrl\": \"{{return_url}}\"\n    }\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  },\n  \"idempotencyKey\": \"{{idempotency_key}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "paymentLink.query",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"paymentLink.query\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"query\": {\n      \"paging\": {\n        \"limit\": 20\n      }\n    }\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Bookings",
      "item": [
        {
          "name": "booking.timeslots.list",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"booking.timeslots.list\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"serviceId\": \"{{service_id}}\",\n    \"startDate\": \"2026-04-20\",\n    \"endDate\": \"2026-04-27\"\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "booking.timeslot.get",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"booking.timeslot.get\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"serviceId\": \"{{service_id}}\",\n    \"slotId\": \"SLOT_ID\"\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "booking.multiService.timeslots.list",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"booking.multiService.timeslots.list\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"serviceIds\": [\"{{service_id}}\"],\n    \"startDate\": \"2026-04-20\",\n    \"endDate\": \"2026-04-27\"\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "booking.multiService.timeslot.get",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"booking.multiService.timeslot.get\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"serviceIds\": [\"{{service_id}}\"],\n    \"slotId\": \"SLOT_ID\"\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "booking.create",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"booking.create\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"booking\": {\n      \"bookedEntity\": {\n        \"slot\": {\n          \"startDate\": \"2026-04-20T14:00:00.000Z\",\n          \"endDate\": \"2026-04-20T15:00:00.000Z\",\n          \"serviceId\": \"{{service_id}}\"\n        }\n      },\n      \"contactDetails\": {\n        \"firstName\": \"Ada\",\n        \"lastName\": \"Lovelace\",\n        \"email\": \"customer@example.com\"\n      }\n    }\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  },\n  \"idempotencyKey\": \"{{idempotency_key}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "booking.checkout.redirectSession.create",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"booking.checkout.redirectSession.create\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"bookingId\": \"{{booking_id}}\",\n    \"callbacks\": {\n      \"postFlowUrl\": \"{{return_url}}\"\n    }\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  },\n  \"idempotencyKey\": \"{{idempotency_key}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "booking.checkout.create",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"booking.checkout.create\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"booking\": {\n      \"bookedEntity\": {\n        \"slot\": {\n          \"startDate\": \"2026-04-20T14:00:00.000Z\",\n          \"endDate\": \"2026-04-20T15:00:00.000Z\",\n          \"serviceId\": \"{{service_id}}\"\n        }\n      },\n      \"contactDetails\": {\n        \"firstName\": \"Ada\",\n        \"lastName\": \"Lovelace\",\n        \"email\": \"customer@example.com\"\n      }\n    },\n    \"redirectSession\": {\n      \"callbacks\": {\n        \"postFlowUrl\": \"{{return_url}}\"\n      }\n    }\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  },\n  \"idempotencyKey\": \"{{idempotency_key}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "booking.paymentLink.create",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"booking.paymentLink.create\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"bookingId\": \"{{booking_id}}\",\n    \"paymentLink\": {\n      \"title\": \"Booking deposit\",\n      \"price\": {\n        \"amount\": \"40.00\",\n        \"currency\": \"USD\"\n      }\n    }\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  },\n  \"idempotencyKey\": \"{{idempotency_key}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "booking.confirm",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"booking.confirm\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"bookingId\": \"{{booking_id}}\"\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  },\n  \"idempotencyKey\": \"{{idempotency_key}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "booking.decline",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"booking.decline\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"bookingId\": \"{{booking_id}}\",\n    \"reason\": \"Declined from Postman test\"\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  },\n  \"idempotencyKey\": \"{{idempotency_key}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "booking.pending",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"booking.pending\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"bookingId\": \"{{booking_id}}\"\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  },\n  \"idempotencyKey\": \"{{idempotency_key}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "booking.confirmation.update",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"booking.confirmation.update\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"bookingId\": \"{{booking_id}}\",\n    \"confirmation\": {\n      \"message\": \"Updated from Postman\"\n    }\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  },\n  \"idempotencyKey\": \"{{idempotency_key}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Invoices, Refunds, Pricing Plans, Events",
      "item": [
        {
          "name": "refund.create",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"refund.create\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"transactionId\": \"{{transaction_id}}\",\n    \"amount\": {\n      \"amount\": \"10.00\",\n      \"currency\": \"USD\"\n    },\n    \"reason\": \"requested_by_customer\"\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  },\n  \"idempotencyKey\": \"{{idempotency_key}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "invoice.create",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"invoice.create\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"invoice\": {\n      \"title\": \"Postman invoice\",\n      \"lineItems\": [\n        {\n          \"name\": \"Service\",\n          \"price\": \"100.00\",\n          \"quantity\": 1\n        }\n      ]\n    }\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  },\n  \"idempotencyKey\": \"{{idempotency_key}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "invoice.previewUrl.get",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"invoice.previewUrl.get\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"invoiceId\": \"{{invoice_id}}\"\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  },\n  \"idempotencyKey\": \"{{idempotency_key}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "invoice.payment.add",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"invoice.payment.add\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"invoiceId\": \"{{invoice_id}}\",\n    \"payment\": {\n      \"amount\": {\n        \"amount\": \"100.00\",\n        \"currency\": \"USD\"\n      },\n      \"method\": \"offline\"\n    }\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  },\n  \"idempotencyKey\": \"{{idempotency_key}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "pricingPlan.order.offline.create",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"pricingPlan.order.offline.create\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"planId\": \"{{pricing_plan_id}}\",\n    \"buyer\": {\n      \"email\": \"customer@example.com\"\n    }\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  },\n  \"idempotencyKey\": \"{{idempotency_key}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "pricingPlan.order.markPaid",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"pricingPlan.order.markPaid\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"orderId\": \"{{order_id}}\"\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  },\n  \"idempotencyKey\": \"{{idempotency_key}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "pricingPlan.checkout.redirectSession.create",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"pricingPlan.checkout.redirectSession.create\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"planId\": \"{{pricing_plan_id}}\",\n    \"callbacks\": {\n      \"postFlowUrl\": \"{{return_url}}\"\n    }\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  },\n  \"idempotencyKey\": \"{{idempotency_key}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "event.ticketReservation.create",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"event.ticketReservation.create\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"eventId\": \"{{event_id}}\",\n    \"ticketQuantities\": [\n      {\n        \"ticketDefinitionId\": \"{{ticket_definition_id}}\",\n        \"quantity\": 1\n      }\n    ]\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  },\n  \"idempotencyKey\": \"{{idempotency_key}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "event.checkout.redirectSession.create",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"event.checkout.redirectSession.create\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"eventId\": \"{{event_id}}\",\n    \"reservationId\": \"RESERVATION_ID\",\n    \"callbacks\": {\n      \"postFlowUrl\": \"{{return_url}}\"\n    }\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  },\n  \"idempotencyKey\": \"{{idempotency_key}}\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        }
      ]
    },
    {
      "name": "Reporting and Internal",
      "item": [
        {
          "name": "transaction.get",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"transaction.get\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"transactionId\": \"{{transaction_id}}\"\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "reporting.charts.get",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"reporting.charts.get\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"dateRange\": {\n      \"from\": \"2026-04-01\",\n      \"to\": \"2026-04-30\"\n    }\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          }
        },
        {
          "name": "wix.proxy",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{base_url}}{{route_path}}",
              "host": [
                "{{base_url}}{{route_path}}"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"version\": \"v1\",\n  \"operation\": \"wix.proxy\",\n  \"tenant\": {\n    \"siteKey\": \"{{site_key}}\"\n  },\n  \"payload\": {\n    \"method\": \"GET\",\n    \"path\": \"/_api/example\",\n    \"query\": {},\n    \"body\": null\n  },\n  \"meta\": {\n    \"adpayEnvironment\": \"{{adpay_environment}}\"\n  }\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Advanced proxy request. Requires the wix.proxy scope and should stay disabled for normal payment integrations."
          }
        }
      ]
    }
  ]
}
