{
  "info": {
    "_postman_id": "a5579274-8161-4b5d-bc30-98f9c339f7c4",
    "name": "Teya Payments Gateway",
    "description": "Postman collection for calling the Payments API endpoints",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "_exporter_id": "211319"
  },
  "item": [
    {
      "name": "Create CP Transaction",
      "event": [
        {
          "listen": "test",
          "script": {
            "exec": [
              "if (pm.response.code === 201) {",
              "    var responseJson = pm.response.json();",
              "    pm.environment.set('last_ngw_transaction_id',responseJson.transaction_id);",
              "}"
            ],
            "type": "text/javascript",
            "packages": {}
          }
        }
      ],
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Idempotency-Key",
            "value": "",
            "disabled": true
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n    \"type\": \"SALE\",\n    \"amounts\": {\n        \"tip\": 0,\n        \"amount\": 741,\n        \"currency\": \"EUR\"\n    },\n    \"emv_data\": \"9F3303E0F8C8\",\n    \"track_data\": {\n        \"encryption_key_id\": \"5EE0\",\n        \"encrypted_track\": \"DF7BCE9C3556A84C5FFA8041C532BBEC083FA31BD3BC2751\",\n        \"encryption_ksn\": \"5EE0FFFFFFFFFFE00031\"\n    },\n    \"terminal_data\": {\n        \"entry_mode_extra_capabilities\": [\n            \"CONTACTLESS_EMV\"\n        ],\n        \"cvm_extra_capabilities\": [\n            \"CONSUMER_DEVICE\"\n        ]\n    },\n    \"pin_block\": null,\n    \"entry_mode\": \"CONTACT_MAGSTRIPE\",\n    \"verification_method\": \"NO_CVM\",\n    \"transacted_at\": \"2023-10-31T17:04:29.758+01:00\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseExternalUrl}}/v1/transactions/card-present",
          "host": [
            "{{baseExternalUrl}}"
          ],
          "path": [
            "v1",
            "transactions",
            "card-present"
          ]
        }
      },
      "response": []
    },
    {
      "name": "Create Refund",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Idempotency-Key",
            "value": "",
            "disabled": true
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n    \"transaction_id\": \"{{last_ngw_transaction_id}}\",\n    \"amount\": 10\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        },
        "url": {
          "raw": "{{baseExternalUrl}}/v3/refunds",
          "host": [
            "{{baseExternalUrl}}"
          ],
          "path": [
            "v3",
            "refunds"
          ]
        }
      },
      "response": []
    },
    {
      "name": "Create Reversal",
      "request": {
        "method": "POST",
        "header": [],
        "url": {
          "raw": "{{baseExternalUrl}}/v2/reversals",
          "host": [
            "{{baseExternalUrl}}"
          ],
          "path": [
            "v2",
            "reversals"
          ]
        }
      },
      "response": [
        {
          "name": "CARD_REMOVED",
          "originalRequest": {
            "method": "POST",
            "header": [],
            "body": {
              "mode": "raw",
              "raw": "{\n    \"transaction_id\": \"{{last_ngw_transaction_id}}\",\n    \"reversal_reason\": \"CARD_REMOVED\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{baseExternalUrl}}/v2/reversals",
              "host": [
                "{{baseExternalUrl}}"
              ],
              "path": [
                "v2",
                "reversals"
              ]
            }
          },
          "_postman_previewlanguage": "Text",
          "header": [],
          "cookie": [],
          "body": ""
        },
        {
          "name": "CARD_REVERSAL",
          "originalRequest": {
            "method": "POST",
            "header": [],
            "body": {
              "mode": "raw",
              "raw": "{\n    \"transaction_id\": \"{{last_ngw_transaction_id}}\",\n    \"reversal_reason\": \"CARD_REVERSAL\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{baseExternalUrl}}/v2/reversals",
              "host": [
                "{{baseExternalUrl}}"
              ],
              "path": [
                "v2",
                "reversals"
              ]
            }
          },
          "_postman_previewlanguage": "Text",
          "header": [],
          "cookie": [],
          "body": ""
        },
        {
          "name": "COMMUNICATION_REVERSAL",
          "originalRequest": {
            "method": "POST",
            "header": [],
            "body": {
              "mode": "raw",
              "raw": "{\n    \"transaction_id\": \"{{last_ngw_transaction_id}}\",\n    \"reversal_reason\": \"COMMUNICATION_REVERSAL\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "url": {
              "raw": "{{baseExternalUrl}}/v2/reversals",
              "host": [
                "{{baseExternalUrl}}"
              ],
              "path": [
                "v2",
                "reversals"
              ]
            }
          },
          "_postman_previewlanguage": "Text",
          "header": [],
          "cookie": [],
          "body": ""
        }
      ]
    }
  ],
  "auth": {
    "type": "oauth2",
    "oauth2": [
      {
        "key": "tokenName",
        "value": "",
        "type": "string"
      },
      {
        "key": "clientSecret",
        "value": "{{clientSecret}}",
        "type": "string"
      },
      {
        "key": "scope",
        "value": "terminal",
        "type": "string"
      },
      {
        "key": "grant_type",
        "value": "client_credentials",
        "type": "string"
      },
      {
        "key": "client_authentication",
        "value": "header",
        "type": "string"
      },
      {
        "key": "clientId",
        "value": "{{clientID}}",
        "type": "string"
      },
      {
        "key": "authUrl",
        "value": "{{authUrl}}",
        "type": "string"
      },
      {
        "key": "accessTokenUrl",
        "value": "{{accessTokenUrl}}",
        "type": "string"
      },
      {
        "key": "useBrowser",
        "value": true,
        "type": "boolean"
      },
      {
        "key": "addTokenTo",
        "value": "header",
        "type": "string"
      }
    ]
  },
  "event": [
    {
      "listen": "prerequest",
      "script": {
        "type": "text/javascript",
        "requests": {},
        "exec": [
          ""
        ]
      }
    },
    {
      "listen": "test",
      "script": {
        "type": "text/javascript",
        "requests": {},
        "exec": [
          "var authToken = pm.request.auth.oauth2.get(\"accessToken\");",
          "pm.collectionVariables.set(\"jwtInternal\", authToken);"
        ]
      }
    }
  ],
  "variable": [
    {
      "key": "baseExternalUrl",
      "value": "https://api.teya.xyz"
    },
    {
      "key": "authUrl",
      "value": "https://id.teya.xyz/oauth/v2/oauth-authorize"
    },
    {
      "key": "accessTokenUrl",
      "value": "https://id.teya.xyz/oauth/v2/oauth-token"
    },
    {
      "key": "clientID",
      "value": ""
    },
    {
      "key": "jwtInternal",
      "value": ""
    }
  ]
}